Página 1 de 1

comando #DEFINE

Enviado: 23 Jul 2012 19:06
por Abel
Pessoal, nunca usei este comando para definir nada no sistema,
agora precisava usar assim

#define mutavel GR

mas so funciona no programa principal, nos outros prgs ele nao entende que mutavel deve virar GR, precisaria defini-la como publica...

alguem sabe se é possivel ?

Grato,
ABEL

comando #DEFINE

Enviado: 23 Jul 2012 19:21
por alxsts
Olá!

#define é uma diretiva dos pré-processadores dos compiladores padrão xBase, como Clipper, [x]Harbour, etc...

Serve para definir constantes manifestas, que são trocadas no arquivo .Prg antes dele ser compilado. Por esse motivo, você deve fazer os #define em cada um dos Prgs que vão utilizar a constante.

Você também poderá criar um arquivo texto com todas as suas diretivas de pré-processador e salvá-lo com a extensão .ch (Clipper Header). Feito isto, em cada Prg adicione uma diretiva #include "<caminho\NomeDoSeuArquivo.ch>"

Não se esqueça de verificar os tipos de dados de suas constantes manifestas. No teu exemplo, (#define mutavel GR) GR parece ser uma string. Se for, o correto é: #define mutavel "GR". Em algum trecho dos teus Prgs, você fará o teste: If mutavel == "GR" ... comandos.

Observação importante: os nomes das constantes são sensíveis ao caso (case sensitive). Assim, mutavel é diferente de Mutavel e diferente de MUTAVEL. Por convenção, os nomes de constantes manifestas são escritos com todas as letras maiúsculas.

comando #DEFINE

Enviado: 23 Jul 2012 21:13
por Abel
valeu pelas dicas.
e por todo o ensinamento.

Abracos,
ABEL