Ir al contenido


Foto

[RESUELTO] Escribir varias lineas


  • Por favor identifícate para responder
9 respuestas en este tema

#1 TheJoker

TheJoker

    Member

  • Miembros
  • PipPip
  • 19 mensajes

Escrito 27 julio 2010 - 06:49

Quisiera saber como puedo hacer para escribir en un bloc de notas usando un listado(Lineas.Strings)?



delphi
  1. Por ejemplo Write(file, lineas.strings[i]);



El caso es que al ser tengo problemas para que haga los saltos con cada escritura y lea todas las lineas, porque me transcribe solo la ultima, y necesitaria que escriba todas.

Salu2.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 27 julio 2010 - 07:14

Voy a ver si entendí, lo que no te hace es agregar el "ENTER" de las lineas de tu archivo que quieres agregar ?

Intenta con esto:



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3. {  Memo1.Lines.Delimiter := #13;
  4.   Memo1.Lines.StrictDelimiter := true; } // Se puede omitor
  5.   memo1.Lines.LoadFromFile('C:\Documentos\Archivo.txt');
  6. end;



Salud OS
  • 0

#3 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 27 julio 2010 - 07:41

Saludos.

Creo que estos links te pueden ayudar: Link1 y Link2.

Prueba y postea (y)
  • 0

#4 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 28 julio 2010 - 01:42

Buenas,

Amigo egostar, era escribir, no leer  :p Pero tirando de lo que has dicho, la clase TStrings tiene el método SaveToFile que te permite grabar en un archivo de texto el contenido



delphi
  1.   memo1.Lines.SaveToFile('C:\Documentos\Archivo.txt');



Y si lo que quieres es añadir texto a un fichero ya existente, como te comenta Rolphy Reyes usa writeln en lugar de write

Nos leemos

  • 0

#5 TheJoker

TheJoker

    Member

  • Miembros
  • PipPip
  • 19 mensajes

Escrito 28 julio 2010 - 08:32

Gracias por contestar, explico un poco mejor lo que quiero hacer.

Quiero crear un archivo de texto, y escribir un par de lineas (todo eso ya lo tengo), y ademas quiero incluir los nombres de los archivos que se encuentran:



delphi
  1. if FileExists(Lineas.Strings[i]) then
  2. memo1.lines.add(Lineas.Strings[i] + ' encontrado!');
  3.   AssignFile(myFile, 'Test.txt');
  4.   ReWrite(myFile);
  5. WriteLn(myFile, 'Comenzando');
  6.  
  7.   CloseFile(myFile);



Me falta saber como escribir el listado de los archivo.
  • 0

#6 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 28 julio 2010 - 08:45

Buenas,

Dependiendo de la cantidad de información que le tangas que añadir, si no es mucha y es en sitios concretos (inicio o fin del fichero), yo jugaría con la clase TStrings que tiene métodos para facilitarnos la inserción en el lugar donde queramos. Mírate el método Insert en la ayuda si es el caso.

Si por contra hay mucha información a añadir, sólo tendrías que hacer un bucle que recorriera los Items del TStrings e ir poniéndolos en el archivo



delphi
  1. for i := 0 to memo1.lines.count - 1 do
  2.   WriteLn(myFile, memo1.lines[i]);



Nos leemos

  • 0

#7 TheJoker

TheJoker

    Member

  • Miembros
  • PipPip
  • 19 mensajes

Escrito 28 julio 2010 - 11:10

Lo logre hacer


delphi
  1. if FileExists(Lineas) then WriteLn(myFile, Lineas + ' encontrado!');



Muchas gracias a todos.

Son los mejores.

Salu2.
  • 0

#8 TheJoker

TheJoker

    Member

  • Miembros
  • PipPip
  • 19 mensajes

Escrito 28 julio 2010 - 11:18

Pero con esto no funciona ?



delphi
  1. if FileExists(Lineas.Strings[i]) then WriteLn(myFile, Lineas.Strings[i] + ' encontrado!'); memo1.lines.add(Lineas.Strings[i] + ' Encontrado!');


  • 0

#9 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 28 julio 2010 - 12:11

Hola TheJoker,
Creo que tienes una mezcla de conceptos.

Estas maniplando archivos de dos maneras diferentes y lo estás mezclando.
Te explico, la clase TStrings y todas las clases que heredan de ésta cuenta con la capacidad de leer y escribir en un archivo. Para ello tiene dos métodos: LoadFromFile() y SaveToFile() respectivamente.

De este modo, el contenido de un memo se puede guardar en un archivo muy facilmente:



delphi
  1. Memo1.Lines.SaveToFile('...\archivo.txt');



Y Cuando uno lee con LoadFromFile el contenido, linea a línea queda almacenado en .Lines. ¿Me explico?

La otra manera, con el uso de AssingFile, Seek, Rewrite, Write, etc es un estilo viejo, heredado de la época de Turbo Pascal. No mezcles, usa una u otra.  ;)

Saludos,
  • 0

#10 TheJoker

TheJoker

    Member

  • Miembros
  • PipPip
  • 19 mensajes

Escrito 28 julio 2010 - 02:51

Muchas gracias, con tu aclaracion lo pude arreglar.

Ya esta resuelto.  :)

Salu2.
  • 0




IP.Board spam blocked by CleanTalk.