Evento OnKeyPress
pessoal trabalho com delphi e uso firebird, gostaria de saber como poderia executar uma pesquisa por codigo pela tecla f2 e por nome f3, so que nau sei como começar! poderiam me ajudar?!
desde ja obrigado
desde ja obrigado
Thiagoangra2
Curtidas 0
Respostas
André Rodrigues
20/08/2009
detalhe melhor esta questão da consulta usando as teclas F2 e F3 e qual o meio de conexão você está usando, DbExpress, IBX, etc.
GOSTEI 0
Thiagoangra2
20/08/2009
amigao eu uso dbexpress
GOSTEI 0
Thiagoangra2
20/08/2009
amigao eu uso dbexpress
GOSTEI 0
André Rodrigues
20/08/2009
na questão das teclas basta você habilitar a prorpiedade KeyPreview do form para True e no evento OnKeyDown do form tratar qual tecla foi pressionada e dai é só incluir sua função para realizar a pesquisa, exemplo:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = VK_F2) then //Função para pesquisar por código if (Key = VK_F3) then //Função para pesquisar por nome end;
GOSTEI 0
Thiagoangra2
20/08/2009
amigo nau aconteceu nada! o keypreview ja está true e está no evento do form! eu tmb quero usar esse evento para abrir um outro formulario, fiz o msm procedimento mais da um erro
´cannot make visible a window modal´.
oq que pode ser isso! será que é o showmodal que nau está aceitando?
abraços :?
´cannot make visible a window modal´.
oq que pode ser isso! será que é o showmodal que nau está aceitando?
abraços :?
GOSTEI 0
Junior Miranda
20/08/2009
[quote=´thiagoangra2´]
´cannot make visible a window modal´.
oq que pode ser isso! será que é o showmodal que nau está aceitando?
abraços :?
´cannot make visible a window modal´.
oq que pode ser isso! será que é o showmodal que nau está aceitando?
abraços :?
Vc deve estar atribuindo o foco a um objeto no Oncreate do form. Coloque no OnShow ou OnActivate.
[]´s
GOSTEI 0
Thiagoangra2
20/08/2009
nau intendi, na verdade no meu form nau tem nada ou nenhum objeto com focus!
GOSTEI 0
Dicasecodigosdelphi
20/08/2009
esse erro é porque voce esta chamando uma janela assim form1.showmodal e esta proproedade requer que a propriedade visible = false
GOSTEI 0
Martins
20/08/2009
na questão das teclas basta você habilitar a prorpiedade KeyPreview do form para True e no evento OnKeyDown do form tratar qual tecla foi pressionada e dai é só incluir sua função para realizar a pesquisa, exemplo:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = VK_F2) then //Função para pesquisar por código if (Key = VK_F3) then //Função para pesquisar por nome end;
O Código tá certinho, não sei pr não funcionou, reveja seu projeto.
GOSTEI 0
Rweberich
20/08/2009
Ola Thiago,
Muito facil de resolver:
1º - Va nas propriedades do formulario e veja se esta [b:78063c8ce1]True [/b:78063c8ce1] a propriedade [b:78063c8ce1]KeyPreview[/b:78063c8ce1]
2º - No evento ´OnKeyDown´ do formulario coloque o seguinte:
if ( Chr(Key) = #113) then //F2
begin
//funcao a ser executada
end;
if ( Chr(Key) = 115) then //F4
begin
//funcao a ser executada
end;
Abraco.
Muito facil de resolver:
1º - Va nas propriedades do formulario e veja se esta [b:78063c8ce1]True [/b:78063c8ce1] a propriedade [b:78063c8ce1]KeyPreview[/b:78063c8ce1]
2º - No evento ´OnKeyDown´ do formulario coloque o seguinte:
if ( Chr(Key) = #113) then //F2
begin
//funcao a ser executada
end;
if ( Chr(Key) = 115) then //F4
begin
//funcao a ser executada
end;
Abraco.
GOSTEI 0
Thiagoangra2
20/08/2009
Ola Thiago,
Muito facil de resolver:
1º - Va nas propriedades do formulario e veja se esta [b:cc8009b2ef]True [/b:cc8009b2ef] a propriedade [b:cc8009b2ef]KeyPreview[/b:cc8009b2ef]
2º - No evento ´OnKeyDown´ do formulario coloque o seguinte:
if ( Chr(Key) = #113) then //F2
begin
//funcao a ser executada
end;
if ( Chr(Key) = 115) then //F4
begin
//funcao a ser executada
end;
Abraco.
amigo obrigado, mais infelizmente da o seguinte error
´Cannot make a visible windows modal´
o que poderia ser? fiz tudo como me disse.
GOSTEI 0
Martins
20/08/2009
[quote:7ef714c977=´rweberich´]Ola Thiago,
Muito facil de resolver:
1º - Va nas propriedades do formulario e veja se esta [b:7ef714c977]True [/b:7ef714c977] a propriedade [b:7ef714c977]KeyPreview[/b:7ef714c977]
2º - No evento ´OnKeyDown´ do formulario coloque o seguinte:
if ( Chr(Key) = #113) then //F2
begin
//funcao a ser executada
end;
if ( Chr(Key) = 115) then //F4
begin
//funcao a ser executada
end;
Abraco.
amigo obrigado, mais infelizmente da o seguinte error
´Cannot make a visible windows modal´
o que poderia ser? fiz tudo como me disse.[/quote:7ef714c977]
Seguinte, para podermos lhe ajudar de uma forma mais objetiva, vc deve postar o seu código, assim poderemos te ajudar.
Boa sorte e bons códigos.
GOSTEI 0
Martins
20/08/2009
[quote:e66245e49a=´rweberich´]Ola Thiago,
Muito facil de resolver:
1º - Va nas propriedades do formulario e veja se esta [b:e66245e49a]True [/b:e66245e49a] a propriedade [b:e66245e49a]KeyPreview[/b:e66245e49a]
2º - No evento ´OnKeyDown´ do formulario coloque o seguinte:
if ( Chr(Key) = #113) then //F2
begin
//funcao a ser executada
end;
if ( Chr(Key) = 115) then //F4
begin
//funcao a ser executada
end;
Abraco.
amigo obrigado, mais infelizmente da o seguinte error
´Cannot make a visible windows modal´
o que poderia ser? fiz tudo como me disse.[/quote:e66245e49a]
Seguinte, para podermos lhe ajudar de uma forma mais objetiva, vc deve postar o seu código, assim poderemos te ajudar.
Boa sorte e bons códigos.
GOSTEI 0
Martins
20/08/2009
[quote:10ad239d61=´rweberich´]Ola Thiago,
Muito facil de resolver:
1º - Va nas propriedades do formulario e veja se esta [b:10ad239d61]True [/b:10ad239d61] a propriedade [b:10ad239d61]KeyPreview[/b:10ad239d61]
2º - No evento ´OnKeyDown´ do formulario coloque o seguinte:
if ( Chr(Key) = #113) then //F2
begin
//funcao a ser executada
end;
if ( Chr(Key) = 115) then //F4
begin
//funcao a ser executada
end;
Abraco.
amigo obrigado, mais infelizmente da o seguinte error
´Cannot make a visible windows modal´
o que poderia ser? fiz tudo como me disse.[/quote:10ad239d61]
Seguinte, para podermos lhe ajudar de uma forma mais objetiva, vc deve postar o seu código, assim poderemos te ajudar.
Boa sorte e bons códigos.
GOSTEI 0
Thiagoangra2
20/08/2009
[quote=´thiagoangra2´][quote:a7446567b6=´rweberich´]Ola Thiago,
Muito facil de resolver:
1º - Va nas propriedades do formulario e veja se esta [b:a7446567b6]True [/b:a7446567b6] a propriedade [b:a7446567b6]KeyPreview[/b:a7446567b6]
2º - No evento ´OnKeyDown´ do formulario coloque o seguinte:
if ( Chr(Key) = #113) then //F2
begin
//funcao a ser executada
end;
if ( Chr(Key) = 115) then //F4
begin
//funcao a ser executada
Seguinte, para podermos lhe ajudar de uma forma mais objetiva, vc deve postar o seu código, assim poderemos te ajudar.
Boa sorte e bons códigos.
procedure Tfrmcadest.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ( Chr(Key) = 115) then
begin
frmcadest.Showmodal;
end;
end;
end;
GOSTEI 0
Rweberich
20/08/2009
[quote=´thiagoangra2
amigo obrigado, mais infelizmente da o seguinte error
´Cannot make a visible windows modal´
o que poderia ser? fiz tudo como me disse.
amigo obrigado, mais infelizmente da o seguinte error
´Cannot make a visible windows modal´
o que poderia ser? fiz tudo como me disse.
Muito simples de resolver esse erro:
Va nas propriedades do seu formulario em questao e altere a propriedade ´[b:a07683994b]Visible[/b:a07683994b]´ para [b:a07683994b]False[/b:a07683994b].
Abraco.
GOSTEI 0
Rweberich
20/08/2009
[quote=´thiagoangra2]
amigo obrigado, mais infelizmente da o seguinte error
´Cannot make a visible windows modal´
o que poderia ser? fiz tudo como me disse.
amigo obrigado, mais infelizmente da o seguinte error
´Cannot make a visible windows modal´
o que poderia ser? fiz tudo como me disse.
Muito simples de resolver esse erro:
Va nas propriedades do seu formulario em questao e altere a propriedade ´Visible´ para False.
Abraco.
GOSTEI 0
Djfabioninja
20/08/2009
Olá rweberich!
A rotina de tratamento de teclas está correta! Porém, o erro que voce obtém ´cannot make a visible window modal´ quer dizer ´não posso exibir uma tela que já está visivel!´ no seu código:
-------------------------------------------------------
procedure TFRMCADEST.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ( Chr(Key) = #115) then
begin
FRMCADEST.Showmodal;
end;
end;
end;
------------------------------------------
voce está no formulario FRMCADEST, e quando se pressiona F2, voce manda o programa exibir via showmodal o proprio formulario FRMCADEST. Daí o erro! reveja o nome dos forms!
Espero ter ajudado.
A rotina de tratamento de teclas está correta! Porém, o erro que voce obtém ´cannot make a visible window modal´ quer dizer ´não posso exibir uma tela que já está visivel!´ no seu código:
-------------------------------------------------------
procedure TFRMCADEST.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ( Chr(Key) = #115) then
begin
FRMCADEST.Showmodal;
end;
end;
end;
------------------------------------------
voce está no formulario FRMCADEST, e quando se pressiona F2, voce manda o programa exibir via showmodal o proprio formulario FRMCADEST. Daí o erro! reveja o nome dos forms!
Espero ter ajudado.
GOSTEI 0