Página 1 de 1

Comando IIF

Enviado: 07 Set 2015 20:20
por Gilvandi
Boa noite,

Alguém poderia me dizer onde está o erro na seguinte linha?

Código: Selecionar todos

    ON DBLCLICK ( IIF ( LastKey()=27, Janela04.vConta.SefFocus, ;
( Janela04.vConta.Caption:=STR(CTS->CODI), Janela04.vTitu.Caption:=CTS->TITU, Janela04.vHistor1.Caption:=ALLTRIM(CTS->Hst1)+' ', Janela04.vHistor2.Caption:=ALLTRIM(CTS->Hst2)+' ', Janela04.vhistor1.SetFocus, JanelaCts.RELEASE ) ) ) 

Comando IIF

Enviado: 07 Set 2015 21:36
por Toledo
Amigo, seja bem-vindo ao fórum!
Gilvandi escreveu:LastKey()=27
O comando LASTKEY() não tem qualquer retorno na MiniGui, não importa qual tecla seja pressionada.
Gilvandi escreveu:( Janela04.vConta.Caption:=STR(CTS->CODI), Janela04.vTitu.Caption:=CTS->TITU, Janela04.vHistor1.Caption:=ALLTRIM(CTS->Hst1)+' ', Janela04.vHistor2.Caption:=ALLTRIM(CTS->Hst2)+' ', Janela04.vhistor1.SetFocus, JanelaCts.RELEASE )
A função IIF() não vai aceitar este comando acima, vários comandos separados por vírgula.

Você não diz onde está usando este comando, mas pelo jeito deve ser em um Browse ou Grid, então uma saída seria usar o comando ON KEY ESCAPE OF para executar Janela04.vConta.SefFocus, por exemplo:

Código: Selecionar todos

ON KEY ESCAPE OF NomedoForm Action {|| Janela04.vConta.SefFocus }
E no ON DBLCLICK, execute o restante do comando, por exemplo:

Código: Selecionar todos

    ON DBLCLICK {|| Janela04.vConta.Caption:=STR(CTS->CODI), Janela04.vTitu.Caption:=CTS->TITU, Janela04.vHistor1.Caption:=ALLTRIM(CTS->Hst1)+' ', Janela04.vHistor2.Caption:=ALLTRIM(CTS->Hst2)+' ', Janela04.vhistor1.SetFocus, JanelaCts.RELEASE }
Abraços,

Comando IIF

Enviado: 08 Set 2015 09:51
por Gilvandi
Toledo,

Bom dia e muito obrigado pela sua atenção!!!

Achei muito magistral a sua resposta, o fato de colocar uma cláusula 'ON KEY ESCAPE' no Browse e o restante do comando na cláusula "ON DBLCLICK".
Porém, ocorre que mesmo retificando o meu erro (de SefFocus para SetFocus) o comando abaixo não funcionou de forma alguma, mesmo após eu ter feito várias modificações e tentativas:

Código: Selecionar todos

ON KEY ESCAPE OF JanelaCts Action {|| Janela04.vConta.SetFocus }
Abraços,

Gilvandi

Comando IIF

Enviado: 08 Set 2015 12:24
por Toledo
Amigo, este comando ON KEY tem que ser colocado antes da linha onde você ativa a janela, por exemplo:

Código: Selecionar todos

ON KEY ESCAPE OF JanelaCts Action {|| Janela04.vConta.SetFocus }
JanelaCts.Activate
Uma pequena observação, como as janelas são diferentes (JanelaCts e Janela04) não sei se o SetFocus vai funcionar corretamente, acho que seria necessário fechar a janela atual antes de usar o SetFocus.

Abraços,