Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Leer un archivo de texto (https://www.clubdelphi.com/foros/showthread.php?t=43679)

carlosegs11 17-05-2007 17:07:24

Leer un archivo de texto
 
Hola Amigos....

Tengo un archivo de texto con la siguiente estructura:

- Id Numero(12)
- Apellidos Texto(30)
- Nombres Texto(30)

Mas o menos con esta estructura:



Código Delphi [-]
12345678901212345678901234567890123456789012345678901234567890
000009971788GIRALDO SALAZAR                        CARLOS EDUARDO
000010215220GAVIRIA                                      YENNY




El archivo contiene muchas líneas y deseo subirlo a una base de datos.

Cual es la forma correcta de saber cuantas filas tiene el archivo de texto, como se lee cada una y como se sube a una base de datos?

Gracias.

Carlos E. :confused:

Casimiro Notevi 17-05-2007 17:16:46

Existen multitud de formas y algunas de ellas desde la misma base de datos, pero, ¿qué base de datos usas?

carlosegs11 17-05-2007 17:26:23

Utilizo bases de datos dbf y las acceso mediante Querys.

Carlos E.

carlosegs11 17-05-2007 21:52:03

En si lo que realmente me interesa es el manejo de los archivos de texto. El subirlo a la base de datos lo puedo hacer fácilmente.

Muchas gracias.

Carlos E.

jachguate 17-05-2007 22:03:45

podes ayudarte con la clase TStringList:

Código Delphi [-]
var
  Strs: TStringList;
  I: Integer;
begin
  Strs := TStringList.Create();
  try
    Strs.LoadFromFile('c:\datos.txt'); //lees el archivo del disco
    ShowMessage('Lineas: ' + IntToStr(Strs.Count));
    for I:= 0 to Strs.Count - 1 do
      ShowMessage('Linea ' + IntToStr(I+1) + ': ' + Strs[i]);
  finally
    Strs.Free;
  end;

Si son archivos muy grandes, este método resulta costoso en memoria, así como el tiempo de apertura... pero con archivos pequeños/medianos... la simplicidad del código justifica el gasto de recursos... :)

Hasta luego.

;)

egostar 17-05-2007 22:07:05

Ve este hilo, ahi comentan sobre las lineas de un archivo de texto.

Por otro lado, para leerlo, te basta con hacer esto:

Código Delphi [-]
begin
   AssignFile(Arch,'archivo.txt');
   Reset(Arch);
   While not EoF(Arch) do begin
       readln(Arch,Cadena);
       Id  := Copy(Cadena,1,12);
       Apellidos := Copy(Cadena,13,30);
       Nombres := Copy(Cadena,53,30);
       //Haces lo que quieras con esas variables
   end;
   CloseFile(Arch);
end;

Salud OS.

egostar 17-05-2007 22:13:10

jachguate, mis respetos, ese código que pusiste esta de lujo.

Salud OS.

carlosegs11 17-05-2007 23:20:23

Gracias
 
Muchas Gracias!!!! Funcionó Perfecto !!! :D

Casimiro Notevi 18-05-2007 01:56:30

Cita:

Empezado por carlosegs11
Muchas Gracias!!!! Funcionó Perfecto !!! :D

Con maestros como jachguate y egostar era de esperar :)


La franja horaria es GMT +2. Ahora son las 05:54:23.

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