comando #DEFINE

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

comando #DEFINE

Mensagem 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
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

comando #DEFINE

Mensagem 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.
[]´s
Alexandre Santos (AlxSts)
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

comando #DEFINE

Mensagem por Abel »

valeu pelas dicas.
e por todo o ensinamento.

Abracos,
ABEL
Responder