[Lazarus-es] Lectura de ficheros de texto plano
lazarus en differware.net
lazarus en differware.net
Mar Mar 31 17:05:54 CEST 2009
Buenas lista.
Tengo un problemilla que me trae un pelin perdido. Funcionar
funcionar... funciona. Pero me gustaría optimizarlo si es posible.
El caso es que tengo que importar a una base de datos un fichero de
texto plano con lineas del tipo:
A80108#121061411#31/12/2007#00:01:06#1111111#NAT#XX#P#A#MV#0#0#.15
(los # son TABuladores)
En principio, la rutina que os pongo más abajo iba bastante bien cuando
los ficheros tenían un tamaño pequeño-mediano... Ahora con 162370 el que
menos, la verdad es que se vuelve bastante lento...
Me preguntaba si a vosotros se os ocurriría algo para mejorar esto...
Gracias!
//******************************************************//
procedure TfrmMain.Importar(ruta_fichero: string);
var
sl, slFila: TStringList;
linea, columna: integer;
begin
sl := TStringList.Create;
slFila := TStringList.Create;
slFila.Delimiter := #9; // TABULADOR
try
// cargo el fichero
sl.LoadFromFile(ruta_fichero);
for linea := 0 to sl.Count - 1 do
begin
// cargo la linea en el stringlist
slFila.DelimitedText := sl[linea];
// aqui ya tengo el slFila "partido" en columnas,
// por lo que puedo acceder a cada campo de la forma:
// campo0 = slFila[0];
// campoX = slFila[X];
//
// y procesar cada linea...
end;
finally
slFila.Free;
sl.Free;
end;
//******************************************************//
More information about the Lazarus-es
mailing list