Ver Mensaje Individual
  #10  
Antiguo 24-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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 [-]
...
(* Esta función reemplaza a DelimitedText/Delimiter *)
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;

(* Separar por comas *)
procedure PasarAStrGrd(const Cad: string; const aRow: Integer; aGrid: TStringGrid);
var
  i: Integer;
  TS: TStrings;
begin
  TS:= TStringList.Create;
  try
    TS:= SplitString(Cad, ',');  // Aca la llamamos con el delimitador ','
    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.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 24-05-2012 a las 02:20:09.
Responder Con Cita