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 10-01-2006
pepecharlie67 pepecharlie67 is offline
Miembro
 
Registrado: nov 2005
Posts: 48
Poder: 0
pepecharlie67 Va por buen camino
Insertar al principio de un fichero de texto informacion

Pues eso,quisiera introducir en un fichero de texto una cierta información al principio del mismo. Por ejemplo, una cabecera.Ejemplo:

Fichero:
Hola, soy juan.......
....

Y me gustaria añadir al principio por ejemplo la fecha y hora

Fichero Salida:
16/12/05 14:34
Hola, soy juan.......
.....

Gracias antes de nada.
Responder Con Cita
  #2  
Antiguo 10-01-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si el fichero no es muy grande, una forma fácil y sencilla es cargarlo en un TStrings (LoadFromFile) hacen un Insert para añadir líneas al principio y luego un SaveToFile para volver a guardarlo en disco.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 10-01-2006
pepecharlie67 pepecharlie67 is offline
Miembro
 
Registrado: nov 2005
Posts: 48
Poder: 0
pepecharlie67 Va por buen camino
Un TSrings donde?¿Don de lo declaro y de que manera?Perdonen mi ignorancia sobre el tema pero no se como hacerlo.¿Me podrias poner codigo ejemplo?Muchas gracias.
Responder Con Cita
  #4  
Antiguo 10-01-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Echa un vistazo a esta búsqueda en los Foros: el utilizar la clase "TStrings" para trabajar con archivos de texto es un tema que se ha tratado en más de una ocasión.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 10-01-2006
pepecharlie67 pepecharlie67 is offline
Miembro
 
Registrado: nov 2005
Posts: 48
Poder: 0
pepecharlie67 Va por buen camino
Ok,ya casi lo tengo.El problema ahora me surge que al usar el insert,solo puedo insertar un parámetro en una linea.Es decir,no puedo insertar una fecha completa, junto con un nombre en la primera fila.¿Que funcion puedo utilizar en lugar de insert?
Responder Con Cita
  #6  
Antiguo 10-01-2006
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: 27
delphi.com.ar Va por buen camino
Si no te molesta crear un archivo a partir de este para agregar un fragmento al inicio, yo haría algo como:
Código Delphi [-]
procedure CopyAppend(ASource, ADest: TFileName; Header: string);
var
  fsSource,
  fsDest: TFileStream;
begin
  fsDest := TFileStream.Create(ADest, fmCreate);
  try
    fsDest.Write(Header[1], Length(Header));

    fsSource := TFileStream.Create(ASource, fmOpenRead + fmShareDenyNone);
    try
      fsDest.CopyFrom(fsSource, 0);
    finally
      fsSource.Free;
    end;
  finally
    fsDest.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  CopyAppend('C:\SOURCE.TXT', 'C:\DEST.TXT', DateTimeToStr(Now) + #13#10);
end;
Si lo que quieres es desplazar la información del archivo hacia atrás, y escribir en el mismo encabezado del archivo. Vas a tener que copiar el contenido a la memoria, escribirlo en la nueva posición (0+offset), y escribir lo que quieras en el encabezado.

Saludos!
__________________
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 10-01-2006
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: 27
delphi.com.ar Va por buen camino
Escribí el mensaje anterior sin llegar a ver tu respuesta!..

Cita:
Empezado por pepecharlie67
Ok,ya casi lo tengo.El problema ahora me surge que al usar el insert,solo puedo insertar un parámetro en una linea.Es decir,no puedo insertar una fecha completa, junto con un nombre en la primera fila.¿Que funcion puedo utilizar en lugar de insert?
Seguramente porque estas haciendo dos inserts:
Código Delphi [-]
AStrings.Insert(0, sFecha);
AStrings.Insert(0, sNombre);
O uno de los datos contiene los caracteres de fin de línea CR/LF.

Concatena los dos valores:
Código Delphi [-]
AStrings.Insert(0, sFecha + ' ' + sNombre);
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 10-01-2006 a las 19:05:34.
Responder Con Cita
  #8  
Antiguo 10-01-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Federico, existe un error en tu respuesta, y es que el método Insert del TStringList usa dos parámetros, el índice del lugar donde insertar la cadena y la cadena:

Código Delphi [-]
MiStringList.Insert(0, '10/01/2006') // Inserto la fecha en la posición 0 del TStringList




Saludos...
Responder Con Cita
  #9  
Antiguo 10-01-2006
pepecharlie67 pepecharlie67 is offline
Miembro
 
Registrado: nov 2005
Posts: 48
Poder: 0
pepecharlie67 Va por buen camino
Ok,gracias por su ayuda.Finalmente lo resolvi añadiendo +(para poder añadir mas strings,con eso me valia) dentro de insert.Gracias
Responder Con Cita
  #10  
Antiguo 10-01-2006
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: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por maeyanes
Federico, existe un error en tu respuesta...
¡Corregido!..
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
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
Insertar texto transparente con canvas Jan_polero Gráficos 3 23-08-2012 17:44:15
insertar datos en una tabla desde fichero XML??? mguixot Conexión con bases de datos 2 17-05-2006 16:18:04
leer fichero de texto davidgaldo Varios 1 08-11-2005 15:05:12
Escribir con máscara en un fichero de texto jadelphi Varios 4 07-10-2004 10:36:21
Leer un fichero .ini oesteve OOP 6 16-06-2003 16:40:20


La franja horaria es GMT +2. Ahora son las 22:54:31.


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