Utilização dos macros

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

Moderador: Moderadores

Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Utilização dos macros

Mensagem por bencz »

Oi

Estou com duvidas e problemas na utlização de macros....

bom, meus problemas e duvidas são:

tenho uma variavel local

Código: Selecionar todos

local cString := "? 'Teste'"
E eu posso usar ela, como um macro ?

Código: Selecionar todos

&cString
Se nao, como posso fazer ??

E se eu tiver um arquivo, que contenha as informações tipo:

Código: Selecionar todos

@ 02, 04 to 06, 15
      @ 03, 05 prompt " Consulta "
      @ 04, 05 prompt " Inclusão "
      @ 05, 05 prompt " Exclusão "
como posso passar isso para o código, utilizando Macro ??

Obrigado
Imagem
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Utilização dos macros

Mensagem por Jairo Maia »

Olá,
bencz escreveu:E eu posso usar ela, como um macro ?
Da forma que você colocou não. Mas assim pode:

Código: Selecionar todos

Local cString := "'Teste'"
? &cString.  // retorna Teste
bencz escreveu:E se eu tiver um arquivo, que contenha as informações tipo:
Não consegui entender essa dúvida. Você quer atribuir o conteúdo de campos de arquivo para uma variável usando macros? è isso? Dê mais detalhe do que você quer.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Utilização dos macros

Mensagem por alxsts »

Olá!

A primeira dúvida:

Código: Selecionar todos

LOCAL cString, bBlock

   cString := "Teste"
   bBlock := { |p| QOut( p ) }
   
   Eval( bBlock, cString )
A segunda também não entendi mas talvez o código acima dê uma luz.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Utilização dos macros

Mensagem por Pablo César »

bencz escreveu:E se eu tiver um arquivo, que contenha as informações tipo:

Código: Selecionar todos

@ 02, 04 to 06, 15
      @ 03, 05 prompt " Consulta "
      @ 04, 05 prompt " Inclusão "
      @ 05, 05 prompt " Exclusão "
Se for o que eu entendi, seria colocar o código fonte acima listado num arquivo e esse conteúdo traduzi-lo para macro e depois executar. Se for isso, vai demandar um trabalho enorme e não sei se irá ficar bom, isso em decorrimento dessa forma em que você indicou e que estaria no arquivo. Pois veja que para executar o comando MENU TO vai precisar exibir em linha e coluna cada opção de menu. Então sugiro você gravar no arquivo algo assim:
&nbsp03,&nbsp&nbsp05,&nbsp&nbsp" Consulta "&nbsp
&nbsp04,&nbsp&nbsp05,&nbsp&nbsp" Inclusão "&nbsp
&nbsp05,&nbsp&nbsp05,&nbsp&nbsp" Exclusão "&nbsp
Então daí você pode ler o arquivo linha a linha, desmembrando cada informação separada por vírgula armazenado em vetores, assim você poderia traduzir isso para comando do MENU TO.

Olha eu fiz um exemplo que condiz com essa indicação e que já te dá uma ideia do que precisaria:

Código: Selecionar todos

Cls
aMenu:={" Consulta "," Inclusao "," Exclusao "}
aLin:={03,04,05}
aCol:={05,05,05}
@ 02, 04 to 06, 15
For i=1 to Len(aMenu)
    @ aLin[i],aCol[i] Prompt aMenu[i]
Next
Menu to OP
Você poderia contar-nos para quê serviria isso ?
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder