Delphi - Asignar valores a los atributos de una clase

 
Vista:

Asignar valores a los atributos de una clase

Publicado por lily (3 intervenciones) el 20/12/2010 20:00:31
Hola estoy empezando la programacion con delphi y tengo la siguiente duda, cuando trato de asignarle valor a las variables del objeto me sale una exepcion y no me escribe nada en el fichero:

type

TGato = class

public
nombre: string;
constructor create(Pnombre:string);
procedure CreaFichero();
procedure LeeFichero();
procedure BorrarFichero();
end;

var

Gato: TGato; //creo el objeto
txt: TextFile;

implementation

procedure TGato.CreaFichero();
begin
AssignFile(txt,'D:\Fichero.txt');
Rewrite(txt);
Writeln(txt,Gato.nombre); // aki es donde me da la exepcion...
CloseFile(txt);
end;

procedure TGato.LeeFichero();
begin
Reset(txt);
Readln(txt);
CloseFile(txt);

end;

Agradecere alguna ayuda y cualquier sugerencia

Lily
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Asignar valores a los atributos de una clase

Publicado por celizo (77 intervenciones) el 22/12/2010 06:22:48
Hola!

Puedes hacer lo siguiente,

Esta es la parte de la declaracion del type de la class, y declare el atributo nombre como privado
====================================================
private
nombre: string;
public
constructor create(Pnombre:string);
procedure CreaFichero();
procedure LeeFichero();
procedure BorrarFichero();

***** Parte nueva*****
Puedes crear una propiedad que lea y escriba el atributo
property FGato : string read nombre write nombre;
======================================================

===========================================================
En el evento OnCreate:

Gato := TGato.Create;

Porque la estas declarando en la parte de la declaracion de las variables,pero debes de construirla asi.
===========================================================

Espero que te sirva,

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar