"Si un programa no sirve para nada, te lo harán documentar"
Registrado: 27/03/2007
Puntos: 49
Desconectado
Estoy desarrollando un programa en Lazarus Freepascal.
Tengo un archivo ".csv" con casi 10.000 lineas como esta:
"00:00:11",7531,645,"11,7","0,0000117","TEST"
Consegui y modifiqué un algoritmo "Explode" que logra desglosar cada dato separado por coma "," y lo guarda en un arreglo de la siguiente manera:
00:00:11
7531
645
11
7
0
0000117
TEST
function Explode ( Separator: Char; S: string ) : TArrayString; var i: Integer; str: string[255]; R: TArrayString; begin SetLength(R,0); str := ''; for i := 1 to Length(S) do begin if ((S[i] = Separator) or (i = Length(S))) then begin if (i = Length(S)) then begin str := str + S[i]; end; SetLength(R,Length(R) + 1); R[Length(R) - 1] := str; str := ''; end else begin str := str + S[i]; end; end; Result := R; end;
El problema que tengo, es que no consigo desglosar una cifra en numeros reales juntas sin que me las separe por la coma flotante...
Deberia de obtener:
11,7
0,0000117
He probado usar StringReplace, Pos y alguna que otra condición sin lograr nada en concreto!!!
Les agradezco de antemano cualquier ayuda... Saludos!
Estoy desarrollando un programa en Lazarus Freepascal.
Tengo un archivo ".csv" con casi 10.000 lineas como esta:
"00:00:11",7531,645,"11,7","0,0000117","TEST"
Consegui y modifiqué un algoritmo "Explode" que logra desglosar cada dato separado por coma "," y lo guarda en un arreglo de la siguiente manera:
00:00:11
7531
645
11
7
0
0000117
TEST
function Explode ( Separator: Char; S: string ) : TArrayString;var
i: Integer;
str: string[255];
R: TArrayString;
begin
SetLength(R,0);
str := '';
for i := 1 to Length(S) do
begin
if ((S[i] = Separator) or (i = Length(S))) then
begin
if (i = Length(S)) then
begin
str := str + S[i];
end;
SetLength(R,Length(R) + 1);
R[Length(R) - 1] := str;
str := '';
end
else
begin
str := str + S[i];
end;
end;
Result := R;
end;
El problema que tengo, es que no consigo desglosar una cifra en numeros reales juntas sin que me las separe por la coma flotante...
Deberia de obtener:
11,7
0,0000117
He probado usar StringReplace, Pos y alguna que otra condición sin lograr nada en concreto!!!
Les agradezco de antemano cualquier ayuda... Saludos!