Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-02-2008
Avatar de muppett
muppett muppett is offline
Miembro
 
Registrado: jun 2007
Posts: 35
Poder: 0
muppett Va por buen camino
Unhappy Duplica informacion en archivo txt

Hola dias pasados me dieron estas instrucciones
Código Delphi [-]
Var
Lista:TStrings;
Begin
Lista:=TstringList.Create;
Lista.LoadFromFile('c:\archivo.txt');
Lista.AddStrings(Memo1.Lines);
Lista.SavetoFile('c:\archivo.txt');
Lista.Free

Lo ejecuta todo correctamente el unico problemas es q al abrir el archivo me repite la informacion por ejemplo en el memo esta

perro cafe
gato gris
caballo blanco

y en el achivo txt aparece

perro cafe
gato gris
caballo blanco
perro cafe
gato gris
caballo blanco

Ya me canse de buscar y no encuentro el error, me pordrian ayudar por favor.

Gracias
Responder Con Cita
  #2  
Antiguo 22-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Si el contenido del memo es siempre el mismo, cada vez que lo grabes, habrá una nueva "copia" de los datos. Es decir, las líneas:

perro cafe
gato gris
caballo blanco

Se grabarán una vez por cada ejecución del trozo de código que mencionas.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 22-02-2008
Avatar de muppett
muppett muppett is offline
Miembro
 
Registrado: jun 2007
Posts: 35
Poder: 0
muppett Va por buen camino
Alguna solucion

Eso es muy cierot pero mi duda es como le puedo hacer para q eso no me suceda????? Tengo que utilizar instrucciones como append, rewrite y cosas asi o como lo tengo tiene alguna solucion?????
Responder Con Cita
  #4  
Antiguo 22-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Revisá nuevamente tu código... estas leyendo el contenido del archivo, luego le añades el contenido del memo y lo guardas de nuevo.

Si no es este el comportamiento que esperas... pues cambia el código para que se adapte a tus necesidades.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 22-02-2008
Avatar de German
German German is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 133
Poder: 21
German Va por buen camino
Pues veo (creo) que varios errores.. el primero es no utilizar directamente la funcion para cargar/guardar el contenido del memo a un archivo:

Código Delphi [-]
Memo1.Lines.LoadFromFile('C:\Archivo.txt');
Memo1.Lines.SaveToFile('C:\Archivo.txt');

De todas formas, si por la razon que sea quieres utilizar una variable, lo correcto seria:

Código Delphi [-]
Var
Lista:TStringList;
begin
Lista:=TstringList.Create;

//Para cargar
Lista.LoadFromFile('C:\Archivo.txt');
Memo1.Lines := Lista;

//Para guardar
Lista.Text := Memo1.Lines.Text;
Lista.SavetoFile('C:\Archivo.txt');

Lista.Free;
end;
__________________
Tengo las manos llenas de dedos... Tengo los dedos llenos de teclas...
Tengo las teclas desordenadas... Tengo el desorden muy controlado...
Tengo el control en mis manos.
Responder Con Cita
  #6  
Antiguo 22-02-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
El problema es que usa el método AddStrings de la lista, por eso añade al archivo lo que hay en el memo !!

Para leer:
Código Delphi [-]
Var
Begin
  Memo.lines.LoadFromFile('c:\archivo.txt');
end;

Código Delphi [-]
Var
Begin
  Memo.lines.SaveToFile('c:\archivo.txt');
end;

y si necesitas copiar de uno a otro:
Código Delphi [-]
Var
Begin
  Memo.lines.Assign(Lista); <<< Copiar todo, no añadir
end;


Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
informacion de conexión a mysql en un archivo ini?? FFe_ PHP 6 23-11-2007 16:42:35
mostrar informacion de un archivo de word srangel PHP 7 29-06-2006 10:32:13
INSERT INTO duplica registros. Duc SQL 3 02-08-2004 16:46:09
Telefónica duplica el ancho de banda Emilio Noticias 22 08-06-2004 10:20:19
¡Error conexion con acces, Falta el archivo de informacion de grupo de trabajo.....!! aram2r Conexión con bases de datos 3 08-03-2004 11:18:30


La franja horaria es GMT +2. Ahora son las 04:12:03.


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