Ver Mensaje Individual
  #11  
Antiguo 26-05-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Reputación: 19
kbaby Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
kbaby, el TListBox cuenta con los métodos LoadFromFile y SaveToFile que hace todo el trabajo más fácil.

LoadFromFile abre un archivo y lo muestra. SaveToFile lo guarda.
El archivo que se genera es como aparece en el ListBox. Cada texto en un "renglón". Es decir que si en un ListBox tienes esto (cada uno en una linea):

Código:
Hola como estas kbaby
yo aqui un poco adivinando
lo que hace ese button1.click
y también desorientado con el button2.click
Tu archivo quedará escrito en la misma forma.

El problema con ese código puede deberse al Readln() ya que eso hace que se pase al siguiente "renglón". El porque en tus apuntes invocas a un Button1.Click y luego a un Button2.Click lo desconozco... es cosa de tus apuntes... y pues... no estoy allí para ver que es lo dicen.

Si nos aportaras más datos podría saber el modo de ayudarte.

Saludos,

Problema solucionado, fue simplemente ir probando, el código quedaría así:

Código Delphi [-]
var i:integer;
begin
  t.rowcount:=l.items.count div 4 +1;
  for i:=0 to (l.items.count-1)div 4 do
  begin
  t.cells[1,I+1]:=l.items[i*4];
  t.cells[2,I+1]:=l.items[i*4+1];
  t.cells[3,I+1]:=l.items[i*4+2];
  t.cells[4,I+1]:=l.items[i*4+3];
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var f:textfile; i:integer;
begin
  assignfile (f,'nombres.txt');
  rewrite(f);
  for i:=0 to l.items.count-1 do
  writeln (f,l.items[i]);
  closefile(f);
end;

procedure TForm1.Button4Click(Sender: TObject);
var f:textfile;
    n:string;
  begin
  assignfile(f,'nombres.txt');
  reset(f);
  while not eof(f) do
     begin
     readln(f,n);
     edit1.Text:=n;
     readln(f,n);     //lo que he hecho es añadir esto
     edit2.Text:=n; //y esto por cada item que tenga, como en mi caso son 4, pues sería esto.
     readln(f,n);
     edit4.Text:=n;
     readln(f,n);
     edit5.Text:=n;
     button1.Click; //esto hace añadir. si lo quito falla... así que lo dejo mejor.
     button2.Click; //lo que hace es volcar en la tabla todo el contenido del listbox.
     end;
  closefile(f);
end;

end.

Lo que hace el boton añadir es irse esto:

Mete la 1º linea del .txt en el edit1.text, luego la 2º linea en el edit2.text y así hasta las cuatro lineas y luego las añade al listbox.
Esto lo repite hasta llegar al final.

Luego lo vuelca en la tabla. He quitado lo de volcarlo porqueno me interesa volcar TODO.

Duda: ¿Cabe la posibilidad de recuperar la información del .TXT en el LISTBOX sin tener que hacerlo de mi manera tan "cutre"?.

Última edición por kbaby fecha: 26-05-2008 a las 19:29:24.
Responder Con Cita