Macro, pqna duvida...

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Ale SB
Usuário Nível 3
Usuário Nível 3
Mensagens: 201
Registrado em: 20 Jul 2004 17:30
Localização: Campo Grande / MS

Macro, pqna duvida...

Mensagem 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
Imagemr]
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Macro, pqna duvida...

Mensagem 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.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Ale SB
Usuário Nível 3
Usuário Nível 3
Mensagens: 201
Registrado em: 20 Jul 2004 17:30
Localização: Campo Grande / MS

Re: Macro, pqna duvida...

Mensagem 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
Imagemr]
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Macro, pqna duvida...

Mensagem 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. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Ale SB
Usuário Nível 3
Usuário Nível 3
Mensagens: 201
Registrado em: 20 Jul 2004 17:30
Localização: Campo Grande / MS

Re: Macro, pqna duvida...

Mensagem 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
Imagemr]
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Macro, pqna duvida...

Mensagem 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".
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Ale SB
Usuário Nível 3
Usuário Nível 3
Mensagens: 201
Registrado em: 20 Jul 2004 17:30
Localização: Campo Grande / MS

Re: Macro, pqna duvida...

Mensagem por Ale SB »

Maligno, brigadao de novo pelas dicas, show de bola.

@braços Ale
Imagemr]
Responder