Nao pode existir Macro em Code Block??
Moderador: Moderadores
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
Nao pode existir Macro em Code Block??
Amigos isso nao pode existir??
Tem outra forma??
Setkey(a,{|| Retorno := &FUNCAO.})
Tem outra forma??
Setkey(a,{|| Retorno := &FUNCAO.})
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Junior, só não entendo o por quê dessa MACRO ? Qual seria a finalidade ? Você utiliza essa forma de alguma outra maneira ?
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.
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.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Não sei se é exatamente isto que você queria:
Mas que pelo jeito tem como interpretar a MACRO.
Código: Selecionar todos
CLS
XIS:=" "
VFUN:="MUDAVAR()"
SETKEY( 65, { || XIS:=(&VFUN) } )
@ 12,00 GET XIS
READ
@ 14,00 SAY XIS
FUNCTION MUDAVAR
// KEYBOARD CHR(13)
RETURN "S"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.
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.
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Continuo sem entender...
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.
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.
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
a
c for teclado qualquer letro no get ele abre uma determinada consulta, ou seja, pesquisar produto ou pesquisar cliente ou pesquisar etc...
Entendeu?
Entendeu?
Pablo César escreveu:Continuo sem entender...
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Desculpe questionar... talvez eu desconheça a razão. Mas não seria mais seguro e conveniente assignar cada tecla previamente definida conforme a função a qual esteja predisposta a fazer tais pesquisas ?. Isto é:
SETKEY( 65, { || PESQ_A() } )
SETKEY( 66, { || PESQ_B() } )
SETKEY( 67, { || PESQ_C() } )
A exemplificação que eu dei na minha segunda mensagem deste post, não responde a sua questão ?. Percebeu que a macro está dentro de parêntese ?
SETKEY( 65, { || PESQ_A() } )
SETKEY( 66, { || PESQ_B() } )
SETKEY( 67, { || PESQ_C() } )
A exemplificação que eu dei na minha segunda mensagem deste post, não responde a sua questão ?. Percebeu que a macro está dentro de parêntese ?
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.
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.
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
Amigo Pablo César, por falta de ATENÇÂO MINHA, não vi que vc já tinha resolvido o problema, ("A exemplificação que eu dei na minha segunda mensagem deste post, não responde a sua questão ?. Percebeu que a macro está dentro de parêntese ?"), puts eita nois, deve ser o Sol Afetando meus neuronios,,, Obrigado mesmo...
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
hihihi... isso acontece e para pior alí no Pará faz calor mesmo, não é ? Eu por pouco não conhecí Belém, é facinante o nosso Brasil de lindo !.
Mas fico feliz ter ajudado.
Mas fico feliz ter ajudado.
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.
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.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Junior, me permita fazer mais uma sugestão. Há tempos aconselhei ao colega Eder fazer apena uma função com chamado com apenas uma tecla qualquer (neste caso F2, por exemplo). Lá você poderá saber qual é a variável em que foi chamada e daí você seleciona a função para cada variável. Isto irá economizar um bocado e deixar seu código mais comprensível e prático. Dê uma olhada neste tópico:
https://pctoledo.org/forum/viewto ... 2&start=15
Então a idéia é acostumar ao usuário que determina tecla serve para pesquisa de arquivo. Isto é padronizar seu chamados.
https://pctoledo.org/forum/viewto ... 2&start=15
Então a idéia é acostumar ao usuário que determina tecla serve para pesquisa de arquivo. Isto é padronizar seu chamados.
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.
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.
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
Concordo com vc mas veja por outro lado,, no meu caso o F10 chama a consulta de produto, mas o get no ccodpro pode tambem simplesmente passar o codigo de barras, ou digitar o codigo tipo (01-0001) ou 011 o prog reconhece normalmete mas eu resolvi tipo qualquer letra digitada ele abreria a funcao F10 entendeu em vez de ter q digitar o F10 para chamr a funcao pesqproduto()?Pablo César escreveu:Junior, me permita fazer mais uma sugestão. Há tempos aconselhei ao colega Eder fazer apena uma função com chamado com apenas uma tecla qualquer (neste caso F2, por exemplo). Lá você poderá saber qual é a variável em que foi chamada e daí você seleciona a função para cada variável. Isto irá economizar um bocado e deixar seu código mais comprensível e prático. Dê uma olhada neste tópico:
https://pctoledo.org/forum/viewto ... 2&start=15
Então a idéia é acostumar ao usuário que determina tecla serve para pesquisa de arquivo. Isto é padronizar seu chamados.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Ahhh sim, quando digitar um número é sinal que o usuário precisar digitar manualmente o código d ebarras, aí concordo fazer isso. Eu também tenho como prática esse procedimento de ativar funções com HOT-KEY. Isto é, se é numérico aceita digitação do código produto se é alfa chama função pre-determinada (isso acostumo insirir nos meus TBROWSEs). Mas você está certo, o importante é agilizar, deixar o seu programa inteligente. Isso aí, valeu !
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.
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.
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Mostre o que você fez, quem sabe podemos melhor algo, não acha ?
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.
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.
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
ai vai
veja ai....
Function ABCDARIO(VERFAL,FUNCAO,VAR,VARAUX,VLRAUX)
Local Retorno := ""
if VERFAL == .t.
if (VERFAL == nil .or. FUNCAO == nil .or. Retorno == nil) .and. VERFAL == .t.; return .f.; endif
for a = 65 to 122
Setkey(a,{|| ABCDARIOAUX(FUNCAO,VAR,VARAUX,VLRAUX)})
next
else
for a = 65 to 122
Setkey(a,)
next
endif
if Lastkey() # 13; Retorno := VAR; endif
Return Retorno
*******************************************************************************
Function ABCDARIOAUX(FUNCAO,VAR,VARAUX,VLRAUX)
if VARAUX # nil
&VARAUX. := VLRAUX
endif
&Var. := &FUNCAO.
return
obs: varaux e vlraux é quando uso matriz
Function ABCDARIO(VERFAL,FUNCAO,VAR,VARAUX,VLRAUX)
Local Retorno := ""
if VERFAL == .t.
if (VERFAL == nil .or. FUNCAO == nil .or. Retorno == nil) .and. VERFAL == .t.; return .f.; endif
for a = 65 to 122
Setkey(a,{|| ABCDARIOAUX(FUNCAO,VAR,VARAUX,VLRAUX)})
next
else
for a = 65 to 122
Setkey(a,)
next
endif
if Lastkey() # 13; Retorno := VAR; endif
Return Retorno
*******************************************************************************
Function ABCDARIOAUX(FUNCAO,VAR,VARAUX,VLRAUX)
if VARAUX # nil
&VARAUX. := VLRAUX
endif
&Var. := &FUNCAO.
return
obs: varaux e vlraux é quando uso matriz