Comando IIF

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Gilvandi
Usuário Nível 1
Usuário Nível 1
Mensagens: 2
Registrado em: 07 Set 2015 20:12
Localização: Sobradinho

Comando IIF

Mensagem 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 ) ) ) 
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Comando IIF

Mensagem 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,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Gilvandi
Usuário Nível 1
Usuário Nível 1
Mensagens: 2
Registrado em: 07 Set 2015 20:12
Localização: Sobradinho

Comando IIF

Mensagem 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
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Comando IIF

Mensagem 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,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder