Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Importar de Txt sin delimitadores de registro (https://www.clubdelphi.com/foros/showthread.php?t=1447)

apicito 10-06-2003 13:43:20

Importar de Txt sin delimitadores de registro
 
Estoy tratando de importar a una base de Datos desde un fichero Txt en el que los registros no están delimitados( ni siquiera con retorno de carro).
Como le indico al readln que tiene que leer 720 caracteres para cada registro?

__cadetill 10-06-2003 13:48:38

no utilices readln, utiliza read, que te lee caracter a caracter, asi solo tienes que meterlo en un bucle que te cuente los caracteres que quieras leer

espero te sirva

delphi.com.ar 10-06-2003 17:04:01

Si te interesa, te recomiendo que pruebes un componente de mi página llamado TFileReader


Saludos!

apicito 11-06-2003 08:42:14

Cita:

Posteado originalmente por cadetill
no utilices readln, utiliza read, que te lee caracter a caracter, asi solo tienes que meterlo en un bucle que te cuente los caracteres que quieras leer
espero te sirva

¿Y en que tipo de variable puedo almacenar 720 caracteres para luego pasarlos a los campos de la base de datos?

__cadetill 11-06-2003 10:18:11

Ahora, al hacer el readln, en que tipo de variable almacenabas los datos leidos?

De todas maneras una variable de tipo string te lo permite, sino un AnsiString

Nos leemos

Al González 13-06-2003 07:23:04

¡Buen día a todos!

Apicito:

¿Podrías mostrarnos una muestra de ese archivo de texto y la estructura de campos destino?

Agradecería una copia detallada a mi cuenta de correo electrónico.

¡Hasta luego!

Al González :).
Desarrollador de componentes a la medida.

apicito 13-06-2003 08:12:47

Cita:


¿Podrías mostrarnos una muestra de ese archivo de texto y la estructura de campos destino?

El fichero de texto es el Padrón de Fincas Rústicas de un Ayuntamiento y tiene 140 Mb, por lo que no te lo puedo enviar.
La estructura de la tabla a donde la cargo es:

CREATE TABLE "RUSTICA2002"
(
"POLIGONO" INTEGER,
"PARCELA" INTEGER,
"UNIDFISCAL" INTEGER,
"NOME" CHAR(60),
"NIF" CHAR(10),
"NIFTIPO" CHAR(1),
"COMUNIDAD" CHAR(1),
"COMUNEROS" INTEGER,
"PORCENTAXE" DECIMAL(5, 2),
"PARAXE" CHAR(20),
"TITULO" CHAR(2),
"SUPERFICIE" INTEGER,
"VALOR" DECIMAL(10, 2),
"ALTA" CHAR(4)
);
Podrías explicarme por que te interesa este tema?:)

Al González 14-06-2003 08:07:07

Cita:

Escrito originalmente por Apicito:
...tiene que leer 720 caracteres para cada registro...
Lo que pasa es que me interesa una muestra tanto del formato origen como del formato destino, para ver si te puedo poner aquí un ejemplo de cómo hacerlo.

¿Podrías darnos una muestra de un par de esos registros de 720 caracteres para darnos una idea más clara de cómo es el formato origen?

Con respecto a tu pregunta original, creo que sería conveniente tener una variable de tipo Record con una estructura de campos igual a la de los registros a leer y luego utilizar las funciones Reset y BlockRead para leer cada registro, o mejor aún, con un objeto de clase TFileStream.

Espero esto sea de utilidad. Seguimos en contacto.

Al González :).


La franja horaria es GMT +2. Ahora son las 11:01:48.

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