TEdit and TMaskEdit

Delphi

13/12/2007

:?:
Olá a todos.
Tenho uma função no sistema que recebe como parametros dois Edit´s.

Function FPsqCampoSelecao(Campo1,Campo2):Boolean;

If FPsqCampoSelecao(EdtCod1,EdtCod2) = true then ........

Meu problema é que num determinado do programa do sistema tenho dois MaskEdit´s para passar como parametro.

Como posso converter o MaskEdit ao passar como parametro???

Abraços

Neto


Neto

Neto

Curtidas 0

Respostas

Edilcimar

Edilcimar

13/12/2007

use variáveis, assim vc pega o que estiver em edit ou maskedit, aí envia a variável


GOSTEI 0
Neto

Neto

13/12/2007

Não posso usar variáveis.
Dentro da função faço referencia ao Edit como .SetFocus, .Text, etc..
Abraços

Neto


GOSTEI 0
José Henrique

José Henrique

13/12/2007

Tente fazer um cast

If FPsqCampoSelecao((MaskEdtCod1 As TMaskEdit), (MaskEdtCod2 As TMaskEdit)) = true

É só um palpite.


GOSTEI 0
Steve_narancic

Steve_narancic

13/12/2007

ao inves de TEdit ou TMaskedit, tente usar uma classe ancestral das duas como a TCustomEdit


GOSTEI 0
Neto

Neto

13/12/2007

Ok, steve_narancic, acho sua sugestão legal, mas como posso fazer isso.

Você poderia me dar uma dica/exemplo aplicavel a minha necessidade para eu implementar..

Abraços

Neto


GOSTEI 0
Felipeucc

Felipeucc

13/12/2007

1º mude os parametros de seu método. Em vez de serem TEdit, passe para TCustomEdit

2º na implementação do método, faça uma verificação do tipo

if (parametro1 is TEdit) then
(parametro1 as TEdit).text := ´é um Edit´;

if (parametro1 is TMaskEdit) then
(parametro1 as TMaskEdit).EditMask := ´99/99/99´;

Acho que é por aí que nosso amigo quis dizer....

Espero ter ajudado


GOSTEI 0
Steve_narancic

Steve_narancic

13/12/2007

passando como parametro uma classe ancestral semelhante vc podera acessar os metódos semelhantes como neste caso!

procedure SetarFocus(CustomEdit: TCustomEdit);
begin
  CustomEdit.SetFocus
end;



GOSTEI 0
Neto

Neto

13/12/2007

Grande dica Steve_narancic

funcionou legal

abraços e muito obrigaduuuuuu.


GOSTEI 0
POSTAR