Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-01-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Como puedo grabar texto en un Archivo de Texto sin Sobreescribir????

Como puedo grabar texto en un Archivo de Texto sin Sobreescribir????

Lo que pasa es que tengno un archivo de texto donde voy guardando una pequeña bitacora de Errores por lo que no quiero que cada vez que haya un error me vaya borrando la informacion que ya estaba, ya intente usando el SaveToStream con sua valores fmCreatey fmOpenWrite pero me sobreescribe y con SaveToFile tambien me lo sobreescribe y abriendo el archivo con
Código Delphi [-]
    AssignFile(Txt,RutaVar+'\'+Archivo);
    ReWrite(Txt);
    WriteLN(Txt,Mensaje);
y tambien me sobreescribe.
Agradezco cualquier sugerencia.
Responder Con Cita
  #2  
Antiguo 19-01-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Tendrías que posicionarte en el final del archivo..
Cita:
...To expand a file, seek one component beyond the last component; that is, the statement Seek(F, FileSize(F)) moves the current file position to the end of the file...
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 19-01-2005
cone220 cone220 is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 53
Poder: 21
cone220 Va por buen camino
Si lo que queres es agregar texto a un archivo, en lugar de utilizar ReWrite(F) utiliza Reset(F)

AssignFile(F,'\Prueba\prueba.txt');
if FileExists('\Prueba\prueba.txt') then
Reset(F)
else
ReWrite(F);
Writeln(F,'Texto de Prueba');
CloseFile(F);

Saludos.

Federico
Responder Con Cita
  #4  
Antiguo 19-01-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Gracias

Muchas Gracias Federico y Cone también funciona con Append, que hace las 2 cosas te abre un nuevo registro y al final...

Que tenga buen día.

Última edición por AGAG4 fecha: 19-01-2005 a las 21:45:52. Razón: Corrección
Responder Con Cita
  #5  
Antiguo 20-01-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
En esos caso es mas simple usar un TStringList... o una clase del INI. A menos que se necesite acceso random o manejar un formato especial, no veo para que complicarse con bajo nivel...
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 20-01-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por mamcx
En esos caso es mas simple usar un TStringList... o una clase del INI. A menos que se necesite acceso random o manejar un formato especial, no veo para que complicarse con bajo nivel...
Mmmm... recuerda que un TStringList cargará todo el archivo en memoria, y solo guardará el archivo en el momento que se le indique.
Yo preferiría utilizar un TFileStream.
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #7  
Antiguo 20-01-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

Les agradezco sus respuestas, pero opte por la manera antigua con AssignFile, lo que pasa es que primeramente use el TFileStream pero no encontre que valor es el que te inserta un nuevo mensaje de texto al final del archivo de texto use el fmOpenWrite y el fmCreate.

Que tengan buen día.
Responder Con Cita
  #8  
Antiguo 20-01-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Es cierto. Pero normalmente los archivos de texto no son tan grandes. Ahora bien, no caeria mal una clase similar en TStringList con acceso bajo demanda...
__________________
El malabarista.
Responder Con Cita
  #9  
Antiguo 08-11-2005
edme melina esc edme melina esc is offline
Registrado
 
Registrado: nov 2005
Posts: 2
Poder: 0
edme melina esc Va por buen camino
Lightbulb añadir texto sin sobreescribir

Holas
si alguien de ustedes me puede ayudar a resolver se los agradeceria lo q realizo es una consulta q quiero gravar el resultado de esa consulta en un texto por ejemplo hice esto
(while)
result:=DMSepa.Consultas.Fields[0].AsString+','+DMSepa.Consultas.Fields[1].AsString;
AssignFile(F,'c:\proyecto\movimiento.txt' );
Rewrite(F);
Writeln(F, result);
DMSepa.Consultas.Next;
CloseFile(F);
end; (esta dentro de un while)
pero me sobre escribe
Saludos !!Mel
Responder Con Cita
  #10  
Antiguo 08-11-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Cita:
Empezado por edme melina esc
Holas
si alguien de ustedes me puede ayudar a resolver se los agradeceria lo q realizo es una consulta q quiero gravar el resultado de esa consulta en un texto
pero me sobre escribe
La respuesta ya la dieron, debes usar Append o Reset.

Hasta Luego -
__________________
No todo es como parece ser...
Responder Con Cita
  #11  
Antiguo 08-11-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por mamcx
... Ahora bien, no caeria mal una clase similar en TStringList con acceso bajo demanda...
Muchas veces he echado en falta algo así
Responder Con Cita
  #12  
Antiguo 08-11-2005
edme melina esc edme melina esc is offline
Registrado
 
Registrado: nov 2005
Posts: 2
Poder: 0
edme melina esc Va por buen camino
crear un archivo de texto

Hola gracias por responder si funciona con Apeend(F)
result:=DMSepa.Consultas.Fields[0].AsString+','+DMSepa.Consultas.Fields[1].AsString;
AssignFile(F,'c:\proyecto\movimiento.txt' );
Append(F);
Writeln(F, result);
Flush(F);
DMSepa.Consultas.Next;
CloseFile(F);
ahora tengo otro problemita ,quiero crear un archivo texto para poder guardar los datos de mi consulta ,por q cuando abro de nuevo lo elimino y nesecito crear denuvo
Saludos !!!
Responder Con Cita
  #13  
Antiguo 08-11-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Cita:
Empezado por edme melina esc
ahora tengo otro problemita ,quiero crear un archivo texto para poder guardar los datos de mi consulta ,por q cuando abro de nuevo lo elimino y nesecito crear denuvo
Saludos !!!
Debes usar Rewrite, este procedimiento si no encuentra el archivo, el mismo lo crea..

__________________
No todo es como parece ser...
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


La franja horaria es GMT +2. Ahora son las 01:54:46.


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