Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-06-2010
Jhonjhon_123 Jhonjhon_123 is offline
Miembro
NULL
 
Registrado: may 2010
Posts: 12
Poder: 0
Jhonjhon_123 Va por buen camino
Question Convertir Un TObject a String?

Hola!

miren, tengo un ListView en el cual uso Item.SubItems.Objects[0] para guardar datos adicionales, para esto hago:

Código Delphi [-]
Item.SubItems.Objects[0] := TObject('Texto X');

Ahora lo ke kiero hacer es volver a combertir eso a String y mostrarle en un ShowMessage.

Como lo haria?

Gracias!
Responder Con Cita
  #2  
Antiguo 21-06-2010
BrunoBsso BrunoBsso is offline
Miembro
NULL
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 10
BrunoBsso Va por buen camino
Código Delphi [-]
var
  S:String;
begin
S := Item.SubItems.Objects[0] as String;
end;
Así debería funcionarte.
También podés verificarlo antes, con if (Item.SubItems.Objects[0] is String) then.
Espero que sirva. Sino, avisame así no me equivoco yo cuando lo necesite
Responder Con Cita
  #3  
Antiguo 21-06-2010
Jhonjhon_123 Jhonjhon_123 is offline
Miembro
NULL
 
Registrado: may 2010
Posts: 12
Poder: 0
Jhonjhon_123 Va por buen camino
Hola, puse esto:

S: String;
begin

S := LV_Cat.Selected.SubItems.Objects[0] as String;

showMessage(S);

pero me manda un error:

')' expected but ';' found

ke pasa hay?
Responder Con Cita
  #4  
Antiguo 21-06-2010
BrunoBsso BrunoBsso is offline
Miembro
NULL
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 10
BrunoBsso Va por buen camino
Ahí te está diciendo que pusiste un ";" donde debería ir un ")".
Mostrame el pedazo de código que te da error y te digo.
Responder Con Cita
  #5  
Antiguo 22-06-2010
[maeyanes] maeyanes is offline
Capo de los Capos
NULL
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.728
Poder: 18
maeyanes Va por buen camino
Hola...

Vaya, no había leido bien este tema...

En Delphi, el tipo de datos string no es una clase, así que hacer algo como LV_Cat.Selected.SubItems.Objects[0] as string no es correcto.

Para hacer lo que necesitas tendrías que crear una nueva clase que internamente maneje un string, y entonces si, guardar objetos de esta clase en la propiedad mencionada. Algo como:

Código Delphi [-]
type
  TString = class
  private
    FStr: string
  public
    property Str: string
      read FStr
      write FStr;
  end;

// Agregamos un objecto TString a la lista:
var
  Str: TString;

begin
  Str := TString.Create;
  Str.Str := 'Mi cadena';
  Item.SubItems.Objects[0] := Str;
end;

// Leemos el "String" guardado
var
  S: string;

begin
  S := TString(LV_Cat.Selected.SubItems.Objects[0]).Str
end;

// Al cerrar la forma que contiene el TListView tendrías que hacer algo como:
var
  I: Integer;

begin
  for I := 0 to Pred(LV_Cat.Selected.SubItems.Count) do
    LV_Cat.Selected.SubItems.Objects[0].Free
end;

También puedes checar este link: http://delphi.about.com/od/vclusing/..._addobject.htm



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #6  
Antiguo 22-06-2010
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
NULL
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.874
Poder: 21
delphi.com.ar Va por buen camino
La verdad que no me gusta nada lo que estas haciendo, te estas garantizando MemoryLeak. Si quieres guardar mas información, ya que no puedes utilizar una columna "invisible" porque no existe tal propiedad, la VCL te propone utilizar el campo Data del TListItem, mismo el TListView dispone del evento OnDeletion para que liberes la información almacenada en ese puntero en el caso de ser necesario.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Saber que clase-hija es un TObject eflosten OOP 6 20-04-2010 13:31:38
Convertir string a Taction erasmorc OOP 1 17-12-2009 18:44:23
Convertir Texto a String maurici0 Varios 20 20-03-2009 01:31:47
convertir string jsanchez Varios 3 31-07-2006 23:23:19
Convertir un String a Integer Rafe Varios 2 12-08-2005 18:43:38


La franja horaria es GMT +2. Ahora son las 01:31:39.


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