Ver Mensaje Individual
  #2  
Antiguo 15-10-2014
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 ebeltete.

Creo que no vas a tener ningún problema en Delphi 5 de este modo:
Código Delphi [-]
procedure SplitNumbers(StrToSplit: string; const Delims: string; TS: TStrings);
var
  c,i,p:Integer;
  aux: string;
begin
  StrToSplit:= StrToSplit + Delims[1];
  c:= 0;
  p:= 1;
  for i:= 1 to Length(StrToSplit) do
  begin
    if Pos(StrToSplit[i], Delims) = 0 then
    begin
      aux:= Copy(StrToSplit, p, i-p);
      if aux <> '' then TS.Add(aux);
      p:= i + 1;
      Inc(c);
    end;
  end;
end;
Ejemplo de lamada:
Código Delphi [-]
procedure TForm1.btnSplitClick(Sender: TObject);
var
  Nros: TStrings;
begin
  Nros:= TStringList.Create;
  try
    SplitNumbers(Memo1.Text, '0123456789', Nros);
    ListBox1.Items.Assign(Nros);
    // (*)
  finally
    Nros.Free;
  end;
end;

Muestra:


(*) En tu caso deberías llamar a tu función, que supongo será algo como:
Código Delphi [-]
     for i:= 0 to Nros.Count-1 do
        ListBox1.Items.Add(NumeroToStr(StrToInt(Nros[i])));

Saludos
__________________
Daniel Didriksen

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