Cita:
Empezado por Angel Fernández
Lo que voy a intentar hacer es un readln de cada línea del fichero csv, después con la utilidad strman.pas (completísima unidad con infinidad de utilidades para trabajar con cadenas de texto -en torry está-) le voy quitando lo que hay delante de cada ; y lo asigno al campo correspondiente.
|
Te dejo esto por si te sirve
Código:
function Buscandocol(lintmp:string;nrocol:integer):string;
var
i:integer;
hasta:integer;
largo:integer;
dato:string;
valor:integer;
begin
lintmp:=trim(lintmp);
For i:=1 to nrocol do
begin
largo:=length(lintmp);
hasta:=pos(';',lintmp);
dato:=copy(lintmp,1,hasta-1);
lintmp:=copy(lintmp,hasta+1,largo);
end;
result:=trim(dato);
end;
Esta funcion lee la linea de texto y te devuelve la columna que le indicas, obviamente las columnas estan separadas por un punto y coma, lo tuve que hacer porque habia un cliente que enviaba los datos en formato CSV, y tenia que separarlos para poder incorporarlos a la base
En terminos practicos haces el readln, lo dejas en una variable string, por ejemplo "linea" y para buascar la quinta columna la sintaxis seria:
Buscandocol(linea,5);
Te devolveria lo que esta en la quinta columna, en formato String
Nos cuentas como te va