Hola Karen.
Y bueno... si no la trae, no nos queda más remedio que hacerla
Una opción para que pruebes si funciona en Delphi 5:
Código Delphi
[-]
...
function SplitString(Cadena: string; const Delimitadores: string): TStrings;
var
c,i,p:Integer;
s: string;
begin
Result:= TStringList.Create;
Cadena:= Cadena+Delimitadores[1];
c:= 0;
p:= 1;
for i:= 1 to Length(Cadena) do
begin
if Pos(Cadena[i], Delimitadores) <> 0 then
begin
s:= Copy(Cadena, p, i-p);
Result.Add(s);
p:= i + 1;
Inc(c);
end;
end;
end;
procedure PasarAStrGrd(const Cad: string; const aRow: Integer; aGrid: TStringGrid);
var
i: Integer;
TS: TStrings;
begin
TS:= TStringList.Create;
try
TS:= SplitString(Cad, ','); for i:= 0 to TS.Count-1 do
aGrid.Cells[i + aGrid.FixedCols, aRow]:= TS[i];
finally
TS.Free;
end;
end;
Llamada de ejemplo:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
Cadena: string;
begin
Cadena:= '1,18042012,Abono,15,00,6446,,FMC1998I,464.00,00075272,2,18042012,Abono,07,32,6446,,464.00,0.00,0007 5272,';
PasarAStrGrd(Cadena , 1, StringGrid1);
end;
La función que hice tiene la ventaja que podés pasarle varios delimitadores, por ejemplo:
Código Delphi
[-]
Cadena:= 'ho.la,m/un do';
ListBox1.Items:= SplitString(Cadena, ', -./');
Saludos.