Fórum Form Consulta #319838
24/04/2006
0
Olá pessoal!
Criei uma aplicação em delphi 5 e nela utilizo o excelente compotente ApplicationEvents. Nele utilizo o evento OnMessage que capitura as menssagens do sistema:
----------------------------------------------------------------
[b:ab81b51620]procedure [/b:ab81b51620]TPrincipal.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
[b:ab81b51620]begin[/b:ab81b51620]
if (Msg.message=WM_KEYDOWN) then
begin
case Msg.wParam= of
VK_F1: ....;
VK_F2: Pesquisa;
else
Handled:=False;
end;
end;
[b:ab81b51620]end;[/b:ab81b51620]
----------------------------------------------------------------
No código acima, quando o usuario teclar F2 em um TDBEdit ou um TDBGrid chama a rotina ´pesquisa´.
Essa rotina pega o filde e a table do compontente que o usuário está e em seguinda verifica se o campo possúi índice. Se possui e le chama o form com um Label, um editmask e um botao Ok Cancelar, e dai no onchange do edit ele pesquisa no registro, etc.
Estou utilizando o ADSTable
Na minha concepção a rotina funcionaria:
----------------------------------------------------------------
procedure pesquisa;
var
T: TADSTable;
F: TField;
begin
if (Screen.ActiveControl is TDBEdit) then
with TDBEdit(Screen.ActiveControl) do
begin
[i:ab81b51620]
t:={tabela do controle}
f:={field do controle}
if not {verifica se o campo possui indice} then
exit;
[/i:ab81b51620]
{atribui o }
{chama o Form Pesquisa}
end;
end;
----------------------------------------------------------------
Bem não estou conseguindo atribuir a tabela e o field para verificar se tem indice.
C/ dataset ja tentei más não dá
bem se puderem me ajudar eu agradeço muito!
Criei uma aplicação em delphi 5 e nela utilizo o excelente compotente ApplicationEvents. Nele utilizo o evento OnMessage que capitura as menssagens do sistema:
----------------------------------------------------------------
[b:ab81b51620]procedure [/b:ab81b51620]TPrincipal.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
[b:ab81b51620]begin[/b:ab81b51620]
if (Msg.message=WM_KEYDOWN) then
begin
case Msg.wParam= of
VK_F1: ....;
VK_F2: Pesquisa;
else
Handled:=False;
end;
end;
[b:ab81b51620]end;[/b:ab81b51620]
----------------------------------------------------------------
No código acima, quando o usuario teclar F2 em um TDBEdit ou um TDBGrid chama a rotina ´pesquisa´.
Essa rotina pega o filde e a table do compontente que o usuário está e em seguinda verifica se o campo possúi índice. Se possui e le chama o form com um Label, um editmask e um botao Ok Cancelar, e dai no onchange do edit ele pesquisa no registro, etc.
Estou utilizando o ADSTable
Na minha concepção a rotina funcionaria:
----------------------------------------------------------------
procedure pesquisa;
var
T: TADSTable;
F: TField;
begin
if (Screen.ActiveControl is TDBEdit) then
with TDBEdit(Screen.ActiveControl) do
begin
[i:ab81b51620]
t:={tabela do controle}
f:={field do controle}
if not {verifica se o campo possui indice} then
exit;
[/i:ab81b51620]
{atribui o }
{chama o Form Pesquisa}
end;
end;
----------------------------------------------------------------
Bem não estou conseguindo atribuir a tabela e o field para verificar se tem indice.
C/ dataset ja tentei más não dá
bem se puderem me ajudar eu agradeço muito!
Ricardoif
Curtir tópico
+ 0
Responder
Posts
24/04/2006
Ricardoif
ALGUMA AJUDA?
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)