![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Efectivamente, si no instancias La TStringList, te dará error. A parte de eso, ese código o único que va a hacer es ir dejando tus AList en memoria y sin nadi que apunte a ellos. Lo que quería decir Cadetill era algo así:
Código:
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
Temp: TStringList;
ObjList: TObjectList;
i, j: integer;
begin
ObjList := TObjectList.Create;
try
Temp := TStringList.Create;
Temp.Add('1');
Temp.Add('2');
Temp.Add('3');
Temp.Add('4');
Temp.Add('5');
ObjList.Add(Temp);
Temp := TStringList.Create;
Temp.Add('11');
Temp.Add('12');
Temp.Add('13');
Temp.Add('14');
Temp.Add('15');
ObjList.Add(Temp);
for i := 0 to ObjList.Count - 1 do
for j := 0 to TStringList(ObjList[i]).Count - 1 do
ShowMessage(TStringList(ObjList[i]).Items[j]);
finally
ObjList.Free;
end;
end;
end.
__________________
E pur si muove |
|
#2
|
|||
|
|||
|
Perfecto era lo q queria aunque me da un error en la linea ShowMesage en items y pone Undeclared identifier: 'Items'
|
|
#3
|
||||
|
||||
|
Perdon, la propiedad no se llama Items, sino Strings :P
__________________
E pur si muove |
|
#4
|
|||
|
|||
|
hola Me prodriais ayudar a analizar esta linea?
ShowMessage(TStringList(ObjList[i]).strings[j]); type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); end; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var Temp: TStringList; ObjList: TObjectList; i, j: integer; begin ObjList := TObjectList.Create; try Temp := TStringList.Create; Temp.Add('1'); Temp.Add('2'); Temp.Add('3'); Temp.Add('4'); Temp.Add('5'); ObjList.Add(Temp); Temp := TStringList.Create; Temp.Add('11'); Temp.Add('12'); Temp.Add('13'); Temp.Add('14'); Temp.Add('15'); ObjList.Add(Temp); for i := 0 to ObjList.Count - 1 do for j := 0 to TStringList(ObjList[i]).Count - 1 do ShowMessage(TStringList(ObjList[i]).strings[j]); finally ObjList.Free; end; end; end. Es que no logro entenderla. En principio seria linea tendria de ser: ShowMessage(ObjList[1].strings[1]); Comentarmela por favor |
|
#5
|
|||
|
|||
|
Bueno, veo que marto sí que me entendió
![]() Veamos, la linea que te ha puesto marto. Código:
ShowMessage(TStringList(ObjList[i]).strings[j]); Por pasos: 1.- ObjList[i] -> accedemos a un objeto (sin saber cual) 2.- TStringList(ObjList[i]) -> casteamos el objeto a un TStringList ya que sabemos que lo es 3.- TStringList(ObjList[i]).strings[j] -> accedemos a una de las propiedades de este objeto (el StringList) De echo, si quitas el casteo e intentas compilar... creo que te va a dar un error muy chulo ![]() Espero te sirva |
|
#6
|
|||
|
|||
|
Joder... q bien explicao.
Muchas gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|