FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
TObjectList y TStringList
Buenas. Con vuestra ayuda he echo el siguiente codigo utilizando TObjectList y TStringLIst. Despues de mirar la ayuda me di cuenta q la variable soc en vez de de TObjectList hubiera sido mejo del tipo TStringLIst y con el metodo ADD.Object q aparte de asignarle un objeto tambien permite un string y ese strings yo lo utilizare para un control posterior.
Como podria cambiar soc de TobjectList a TStringList y a cada objeto q le inserte ponerle un string := 0 con el metodo ADD.OBJECT. var Form1: TForm1; soc: TObjectList; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); begin soc:= TObjectList.Create; soc.OwnsObjects:= true; end; //----------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var indice: integer; i: integer; temp: TStringLIst; begin I:= 0; indice:= soc.Add(TStringLIst.create()); temp:= soc.items[indice] as TStringList; while i <> 5 do begin temp.Add(inttostr(i)); i:= i + 1; end; //soc.Free(); end; //------------------------------------------------------------------------ procedure TForm1.Button5Click(Sender: TObject); var indice: integer; i: integer; temp: TStringLIst; begin I:= 0; indice:= soc.Add(TStringLIst.create()); temp:= soc.items[indice] as TStringList; while i <> 5 do begin temp.Add(inttostr(i + 10)); i:= i + 1; end; //soc.Free(); end; //------------------------------------------------------------------------ procedure TForm1.Button2Click(Sender: TObject); begin form1.Label1.Caption:= inttostr(soc.count); end; //------------------------------------------------------------------------ procedure TForm1.Button3Click(Sender: TObject); var s: integer; begin for s:= 0 to TStringList(soc[0]).Count - 1 do form1.ListBox1.Items.Add(TstringList(soc[0]).strings[s]); end; //------------------------------------------------------------------------ procedure TForm1.Button4Click(Sender: TObject); var s: integer; begin for s:= 0 to TStringList(soc[1]).Count - 1 do form1.ListBox1.Items.Add(TstringList(soc[1]).strings[s]); end; //------------------------------------------------------------------------ end. |
#2
|
||||
|
||||
1.- Si vas aponer código en tus post's, por favor, ponlo entre los tags
Código:
... 2.-No soy moderador, pero creo que una cosa es preguntar una duda o pedir que se explique una técnica y otra es poner el código del programa y pedir que te lo recodifiquemos. No sé, es una opinión. De todas maneras, te diré que si buscas en la ayuda de TStrings verás que tiene una propiedad Objects que es un array. Cuando haces un AddObject(String1, Object1), Object1 queda vinculado a String1 de manera que si String1 esta en la posicion 3 de los Items de la TStrings, Object1 estará en Objects[3].
__________________
E pur si muove Última edición por marto fecha: 21-01-2004 a las 10:44:40. |
#3
|
|||
|
|||
Q es un tags?... Igualmente la proxima vez q haga un post intentare averiguarlo para asi seguir las normas del foro.
POr la segunda custion q has expuesto t dire q simplemente es mejor ver un ejemplo y si es ejemplo con explicacion ya te c..gas... POr otra parte yo no he puesto el codigo para q me lo corrijan, lo he insertado para dar una idea precisa de lo q quiero hacer. Igualmente respeto tu opinion y en la proxima pregunta intentare se mas esplicito. Igualmente Recive mi mas cordial agradecimiento por la atencion q me has prestado. |
#4
|
|||
|
|||
Cita:
|
#5
|
|||
|
|||
He conseguido introducirlo pero...
-------------------- soc : TStringLIst var indice: integer; i: integer; temp: TStringLIst; begin I:= 0; indice:= soc.AddObject('0', TStringLIst.create()); temp:= soc.Objects[indice] as TStringList; while i <> 5 do begin temp.Add(inttostr(i + 10)); i:= i + 1; end; ----------------- Como hago para representarlo en un listbox? algo así.. form1.ListBox1.Items.Add(TstringList(soc[0]objects[0].strings[0]);?? |
#6
|
||||
|
||||
prueba esto:
form1.ListBox1.Items := TStrings(Soc.Objects[0]);
__________________
E pur si muove |
#7
|
|||
|
|||
Joer marto tu si que eres un maestro.
Funciona de muerte. gracias otra vez. |
|
|
|