[Lazarus-es] Ayuda con POO

Maxi maximiliano.duarte en gmail.com
Lun Jun 22 14:51:51 CEST 2015


lo que tienes que saber que clase de objeto es en realidad. Si heredan
del mismo padre podrias hacer eso. Pero el memo tiene lines.text


llamas

ControlCorrecto(Edit1);
ControlCorrecto(Memo1);

function TForm1.ControlCorrecto(Sender: TObject): Boolean;
begin
  Result:=False; //por si no es ninguno de los esperados

  if Sender is TMemo then //preguntamos si es un objeto memo
  Begin
      result:= length(Trim(Sender as TMemo.Lines.Text))= 0; //tratamos
al objeto como un memo
  end
  Else
    if Sender is TEdit then //preguntamos si es un objeto Edit
    Begin
        result:= length(Trim(TEdit(Sender).Text))= 0; //tratamos al
objeto como un edit en formato Cast estilo C++
    end


end;

El día 22 de junio de 2015, 4:23, Juan Perles <perlesj en gmail.com> escribió:
> Quiero hacer una serie de comprobaciones que son iguales a un Control TEdit
> y a un TMemo.
> Como se ve en el ejemplo de mas abajo, el cuerpo de los procedimientos es el
> mismo, lo único que cambia es la cabecera. ¿No puedo hacer un único
> procedimiento?
>
> function TForm1.EditCorrecto(Control: TEdit): Boolean;
> begin
>   if length(Trim(Control.Text))= 0 then
>     RESULT := False
>   else
>     RESULT := True;
> end;
>
> function TForm1.MemoCorrecto(Control: TMemo): Boolean;
> begin
>   if length(Trim(Control.Text))= 0 then
>     RESULT := False
>   else
>     RESULT := True;
> end;
>
> He intentado unificarlos haciendo el siguiente procedimiento
>
> function TForm1.ControlCorrecto(Sender: TObject): Boolean;
> begin
>   if length(Trim(Sender.Text))= 0 then
>     RESULT := False
>   else
>     RESULT := True;
> end;
>
> El resultado es que no me reconoce el Atributo Text.
>
> Muchas gracias por anticipado por vuestras molestias.
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>



-- 
El que pregunta aprende, y el que contesta aprende a responder.

No a la obsolecencia programada:
http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml

Linux User #495070
http://domonetic.com/blog




More information about the Lazarus-es mailing list