Página 1 de 2
Nao pode existir Macro em Code Block??
Enviado: 05 Out 2007 08:01
por juniorcamilo
Amigos isso nao pode existir??
Tem outra forma??
Setkey(a,{|| Retorno := &FUNCAO.})
Enviado: 05 Out 2007 08:48
por Pablo César
Junior, só não entendo o por quê dessa MACRO ? Qual seria a finalidade ? Você utiliza essa forma de alguma outra maneira ?
Enviado: 05 Out 2007 09:19
por Pablo César
Não sei se é exatamente isto que você queria:
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"
Mas que pelo jeito tem como interpretar a MACRO.
Enviado: 05 Out 2007 10:38
por juniorcamilo
é eu não espliquei direito.. fiz um 'recurso tecnico, rsrsr'
....
Funcao := "PESQPRODUTO()"
....
function ABCDARIO(FUNCAO)
for a = 65 to 122
Setkey(a,{|| Retorno := &FUNCAO.})
next
return .t.
Enviado: 05 Out 2007 10:52
por Pablo César
Continuo sem entender...
a
Enviado: 05 Out 2007 12:59
por juniorcamilo
c for teclado qualquer letro no get ele abre uma determinada consulta, ou seja, pesquisar produto ou pesquisar cliente ou pesquisar etc...
Entendeu?
Pablo César escreveu:Continuo sem entender...
Enviado: 05 Out 2007 13:13
por Pablo César
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 ?
Enviado: 05 Out 2007 13:33
por juniorcamilo
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...
Enviado: 05 Out 2007 14:22
por Pablo César
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.
Enviado: 05 Out 2007 14:40
por Pablo César
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.
Enviado: 15 Out 2007 15:30
por juniorcamilo
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.
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()?
Enviado: 15 Out 2007 17:58
por Pablo César
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 !
Enviado: 15 Out 2007 18:12
por juniorcamilo
deu certo oq eu queria fazer mas foi uma GAMBIARRRAAAAA,,,rsdrsrsrrsrs
Enviado: 15 Out 2007 18:17
por Pablo César
Mostre o que você fez, quem sabe podemos melhor algo, não acha ?
ai vai
Enviado: 15 Out 2007 20:37
por juniorcamilo
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