Página 1 de 1
Macro, pqna duvida...
Enviado: 19 Jun 2009 16:37
por Ale SB
Buenas galera;
Eh soh uma pena duvida.
Isto aki:
PRIVATE cDados := "c:\Prog\BD"
cDados+"\CadaUnic.Dbf"
eh o mesmo disto neh :
"&cDados\CadaUnic.Dbf"
Certo ?
Tem alguma vantagem ou desvantem em usar o macro neste caso ?
Eh besteira usar o macro ja que a variavel eh caracter ?
@braços Ale
Re: Macro, pqna duvida...
Enviado: 19 Jun 2009 16:47
por Maligno
Em função da aplicação definida, não haveria vantagem alguma em usar uma macro. Mas o que você escreveu não é uma macro, e sim uma simples string.
Re: Macro, pqna duvida...
Enviado: 19 Jun 2009 17:21
por Ale SB
Isto aki nao eh macro ?
PRIVATE cDados := "c:\Prog\BD"
"&cDados\CadaUnic.Dbf" //--> c:\Prog\BD\CadaUnic.Dbf
E pq no NG do clipper diz q eh ?
Substituiçao de Textos
Sempre que é encontrada uma referência a uma variável macro privada ou
pública dentro de uma cadeia de caracteres, desta forma:
cMacro := "there"
? "Hello &cMacro" // Resulta: Hello there
Agora nao entendi ?
@braços Ale
Re: Macro, pqna duvida...
Enviado: 19 Jun 2009 17:43
por Maligno
Ops! Desculpe. Pensei numa coisa e escrevi outra. A macro está certa sim. Mas como eu disse antes, não vejo vantagem sobre o uso de variável simples. Imagino que o esforço da VM pra substituir uma macro é bem maior que a soma de strings. Não que isso seja crucial, mas a desvantagem maior está na manutenção. Se você usar demais esse esquema, pode comprometer a legibilidade do programa. Eu próprio vi uma coisa e entendi outra.

Re: Macro, pqna duvida...
Enviado: 19 Jun 2009 18:09
por Ale SB
Valew pelo dica Maligno;
Realmente eu uso muito estes macros, para fazer a abertura dos arquivos, apesar q nao tive problemas ainda, mas, no caso estou usando o harbour, nao sei se o harbour trabalha melhor com a VM do q no clipper, será q tem alguma ver ?
ou tanto em clipper como no harbour eh bom deixar o macro mesmo para ultimos casos ?
@braços Ale
Re: Macro, pqna duvida...
Enviado: 19 Jun 2009 18:25
por Maligno
nao sei se o harbour trabalha melhor com a VM do q no clipper, será q tem alguma ver ?
Certamente o [x]Harbour tem uma VM melhor. Primeiro que é um projeto mais recente. Imagina-se que devem ter feito muitas otimizações. E segundo que por ser 32 bits, ela é naturalmente mais rápida que a do Clipper, em 16 bits. Principalmente no quesito manipulação de memória.
ou tanto em clipper como no harbour eh bom deixar o macro mesmo para ultimos casos ?
Particularmente, eu prefiro nem usar. Aliás, em 20 anos de programação, usei pouquíssimas vezes. Não há um conceito rígido sobre isso, como eu disse. Mas em termos de legibilidade, eu acho que torna as coisas mais difíceis. No seu próprio exemplo isso está claro. Olhe de relance. Você vê o que? Uma macro numa string ou apenas uma string? No meio de muito código, é muito fácil fazer essa confusão. No entanto, uma soma de variável com string é mais facilmente visível. Falando nisso, num editor de texto moderno, com sintaxe colorida, essa string com macro aparecerá como string mesmo, pois está tudo entre aspas. A macro "sumiria".
Re: Macro, pqna duvida...
Enviado: 19 Jun 2009 18:35
por Ale SB
Maligno, brigadao de novo pelas dicas, show de bola.
@braços Ale