[Lazarus-es] Duda sobre declaración y el alance de variables en los formularios

Maxi maximiliano.duarte en gmail.com
Mie Sep 4 15:58:25 CEST 2013


El día 4 de septiembre de 2013 09:17, Ismael L. Donis Garcia
<ismael en citricos.co.cu> escribió:
>> ----- Original Message ----- From: Maxi
>
> To: Spanish version of Lazarus List
>>
>> Sent: Tuesday, September 03, 2013 8:24 PM
>>
>> Subject: Re: [Lazarus-es]Duda sobre declaración y el alance de variables
>> en los formularios
>
>
>> Ismael tu clase tform tiene parte privada y pública, no hace falta poner
>> var, el var es sólo para el interior del procedimiento.
>> Para accede de fuera sólo lo puedes hacer si esta en el public.
>> Form1.mivariablepublica
>> Todo lo que esta en private no hace falta self.variable com en visual
>> basic. Sólo la variable es visible a todos loa métodos de la clase
>
>
> Perfecto son conceptos que todavía tengo que ir ganando en Lzarus
>
> 1 Millón de Gracias para ti y para German por la aclaración.
> ========
> | ISMAEL |
> ========
> PD: Ahora voy arreglar todo lo que había hecho antes.
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Para aclarar un poco mas


Lo declarado entre interfaz e implementacion es visible por cualquier
unidad en la que este decalrada en el uses, osea global.
Lo declarado debajo de implementacion es global ALA UNIDAD (esee solo archivo)
Lo declarado en private, variables o metodos es PRIVADO de la clase
que lo declara, puede ser usado por si mismo.
Lo declarado en public, variables o metodos es PUBLICO para cualquiera
que declare un objeto de ese tipo y lo acceda como
objeto.Variable/metodo, y logicamente puede ser usado por si mismo.
Lo declarado en published es lo que puede ver el inspector de objetos
y algun metodo de acceso a metodos por nombre.
Lo declarado en protected está protegido y usado por si mismo, y solo
puede ser heredado por otros objetos descendientes para ser
publicados.

Cuando usas variables publicas lo mejor es usar propiedades, lo que te
permite control de lectura o escritura y metodos de validacion

ejemplo
...
private
 mivariable:integer;
 function GetValorVariable:Integer;
 procedure SetValorVariable(valor:integer);
...
public
  property PublicarVariable.integer Read mivariable Write mivariable;
// esta forma publicas algo privado como lectura y escritura
  property PublicarVariable.integer Read mivariable; // esta forma
publicas algo privado como lectura
  property PublicarVariable.integer Read Write mivariable; // esta
forma publicas algo privado como escritura
  property PublicarVariable.integer Read GetValorVariable Write
SetValorVariable; // esta forma publicas algo privado como lectura y
escritura usando metodos.


implementation
function Tform1.GetValorVariable:Integer;
Begin
  result mivariable,
end;

procedure Tform1.SetValorVariable(valor:integer);
Begin
  //cualquier rutina de validacion
...
  mivariable:= Valor
end;


-- 
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