Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-10-2004
aromero aromero is offline
Registrado
 
Registrado: ago 2004
Posts: 9
Poder: 0
aromero Va por buen camino
Perdón, no me había dado cuenta. La definición del objeto es

TSuelo = class (TObject)
public
procedure Modificar_Color (c :TColor);
procedure Modificar_Asignacion (b : Boolean);
private
Color : TColor;
Asignado : Boolean;
end;

Gracias
Responder Con Cita
  #2  
Antiguo 01-11-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Creo que el ejemplo que puse te viene "al pelo", Si quieres realizar tareas adicionales al modificar el Color o Asignación.

Código Delphi [-]
type  Tmio = class (tobject)
private
 FColor :Tcolor;
public
  property Color :TColor read FColor write FColor default clblack;
end;

Con esto simplemente estas añadiento la posibilidad de tener inicializado Color al crear el objeto, amén de ser más legible el código.

En función de lo que desees, puedes usar éste ejemplo, el ejemplo anterior, o incluso una mezcla de ambos. Te toca a tí trabajarlo un poquito, que realmente es como se aprende, y si tienes alguna duda, ya sabes que aquí estamos.

Saludos
Responder Con Cita
  #3  
Antiguo 19-10-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
Hola!!!

Tengo un problema, necesito crear un arreglo bidimensional para guardar dos datos en ellos, estos datos son, un dato string y el otro entero, entonces lo que hago es lo siguiente:


Primero declaro mi clase Tposicion
Código Delphi [-]
type Tposicion = class(TObject)
Public
  analisis : String;
  izq : Integer;
end;

postriormente hago mi procedimiento de crear arreglo
Código Delphi [-]
procedure CreaArreglo();
begin
  Arreglo := TObjectList.Create(True);
end;

Despues mi procedimiento de CreaPosicion
Código Delphi [-]
procedure CreaPosicion(an : string; posizq : Integer );
var
  a: Tposicion;
Begin
  a := TPosicion.Create;
  a.analisis := an;
  a.izq := posizq;
  Arreglo.Add(a); --> se supone que aqui lo añade al arreglo
end;

y aqui lo mando llamar
Código Delphi [-]
CreaPosicion(modulotablas.resul_textil.FieldDefs.Items[cont].DisplayName,izq);

pero en el Arreglo (TObjectiList), no guarda nada, cuando recorro el arreglo, me aparece, pura basura, alguien tiene alguna sugerencia???

Ya lei algunos hilos que estan por este foro y a partir de ahi construi estos, pero no se que tiene mal

Gracias

Cómo te sientes hoy??
Responder Con Cita
  #4  
Antiguo 19-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Para ser concisos, no se trata de un arreglo, sino de una lista de objetos Tposicion.

Seguro que el tema está en como recorres el TobjectList, en concreto sería así:

Código Delphi [-]
for i:=0 to arreglo.count -1 do
  showMessage( TPosicion(arreglo.objects[i]).analisis + '  izq: '+ 
                inttostr(TPosicion(arreglo.objects[i]).izq));

si solo encuentras basura, es porque no encuentras ni la propiedad analisis ni el izq.

Recuerda que un TobjectList es una lista de TObject, por tanto no puede saber que en realidad es un TPosicion. Cuando accedes con arreglo.objects[i], lo que te devuelve es un TObject, donde por supuesto no existe las propiedades izq y analisis.

el añadir TPosicion( ... ) es lo que se conoce como "Cast" (forzado de tipos), le estamos diciendo al compilador que no trate a ese elemento como un TObject, sino como un TPosicion.

Casi seguro que es esto .

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 21-10-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
Gracias Lepe

Pensandolo bien, creo que no me combiene usar el arreglo de ObjectList, simplemente necesito guardar el analisis y la posicion(left), y no es necesario tener un arreglo de objetos, prefiero bien usar un stringgrid, No se que me convenga mas, lo que voy a hacer es crearlo en tiempo de ejecucion. Ya que lo que quiero es que no me ocupe mucha memoria, asi si lo creo en tiempo de ejecucion, al momento de cerrar la forma, se liberara la memoria que se asigno para este.

Gracias

Cómo te sientes hoy?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:56:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi