Fórum Teste de campo e voltar o foco para o componente #212637

09/02/2004

0

Senhores;
Tenho uma função em uma unit (funcoes) no qual encontra-se todas as funções de meu projeto dentre elas...
function testcampo( campo:string ) :string;
begin
if campo= ´´ then
begin
campobrig;
/// focar o campo
abort;
end;
end;

Gostaria que caso o campo fosse vazio ele retornasse o foco para o campo em teste. Mas como fazer ?


Midas

Midas

Responder

Posts

09/02/2004

Motta

é mais fácil na chamada

function testcampo( campo:string ) :string;
begin
result := (campo= ´´ );
end;


na chamada

if testcampo(edit1.text) then
if edit1.canfocus then
edit1.setfocus;

outra maneira seria a function receber um TWinControl, ou TControl , mas acho complicado demais para o que se quer fazer


Responder

Gostei + 0

09/02/2004

Henry.fartura

Na minha opinião seria mais fácil usar o onValidade do campo e usar o seguinte comando: table1CODIGO.FocusControl;


Responder

Gostei + 0

09/02/2004

Henry.fartura

Na minha opinião seria mais fácil usar o onValidade do campo e usar o seguinte comando: table1CODIGO.FocusControl;
lembrando que o controle deve ser um DBedit ou semelhante.

[]´s
Fabio


Responder

Gostei + 0

10/02/2004

Midas

Como vc disse mota...
function testcampo( campo:twincontrol;s_formulario:TCustomForm) :string;
begin
if campo is tcustomedit then
begin
if s_formulario.campo.text = ´´ then
begin
campobrig;
s_formulario.campo.SetFocus;
abort;
end;
end;
end;
Porem dá erro
[Error] Funcoes_u.pas(445): Undeclared identifier: ´campo´


Responder

Gostei + 0

10/02/2004

Motta

function testcampo( campo:twincontrol;s_formulario:TCustomForm) :string;
begin
if campo is tcustomedit then
begin
if s_formulario.campo.text = ´´ then
begin
campobrig;
//s_formulario.campo.SetFocus;
if campo.canfocus then
campo.SetFocus;
abort;
end;
end;
end;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar