Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Subir Archivo Plano (https://www.clubdelphi.com/foros/showthread.php?t=3652)

agora18 15-09-2003 21:34:36

Subir Archivo Plano
 
Hola amigos
Tengo en una ubicación de mi disco duro (c:\archivos) un archivo plano delimitado por comas(,), necesito subirlo a una tabla que tiene exactamente las mismas columnas de mi archivo plano.
Necesito crear un procedimiento que lo haga automáticamente, pues este proceso debo hacerlo cada mes. Lo otro es lo contrario de una tabla (paradox) necesito generar un archivo plano delimitado también por comas.
Quien me puede ayudar por favor es un poco urgente.

__cadetill 15-09-2003 23:39:02

No voy a poner el algoritmo de paso de un lado a otro, porque de esta manera aprenderas un poquito más ;), lo que sí haré es darte las pautas de cómo puedes hacerlo

1.- Fichero a Tabla

Tienes que leer el fichero de principio a fin. Esto lo puedes lograr mediante las instrucciones AssignFile, Reset, ReadLn y con un bucle while not EOF(Fichero) do
Como es un fichero que separa los campos por comas, puedes aprovecharte de la propiedad CommaText de los TStrings. Es decir, creas un TStringList antes del bucle y, por cada linea que lees, se la assignas a la variable de tipo TStringList de la siguiente forma (suponiendo que SL es el TStrings y str es la linea leida del fichero de texto mediante ReadLn):
SL.CommaText := str;
Ahora tienes en un TStringList todos los valores de los campos de la tabla a los que puedes acceder mediante SL[x] (siendo x el número de campo)

2.- Tabla a Fichero

Es aún más sencillo. Tienes que hacer un bucle while not Tabla.Eof do y concatenar en una variable de tipo string el conjunto de valores de los campos y luego con writeln añadir a un fichero que abras abierto con Rewrite y asignado con AssignFile

Para recorrer los campos de un Dataset, recuerda que éste tiene la propiedad Fields que te los enumera todos

Bueno, espero te sirvan las explicaciones

Onti 16-09-2003 05:54:45

solo como otra alternativa:

para leer el archivo texto es utilizar una conexion ODBC al archivo texto y luego ya es facil poder pasar a la tabla paradox.

marcoszorrilla 16-09-2003 16:25:30

También puede leerse como si fuera una tabla, creando un fichero de tipo SCH, pero igual es más complicado.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 07:21: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