Ver Mensaje Individual
  #9  
Antiguo 29-06-2022
Avatar de mamcx
mamcx mamcx is online now
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Correcto, lo hice al revés! Lo que necesitas es convertir de String a T:

Código Delphi [-]
{$ifdef fpc}
  {$mode delphi}
{$endif}

program Hello;
uses
  SysUtils;
  
type
  TConverter = function (const S: String): T;

function IntToStr(const S: String): Integer;
begin
    Result := StrToInt(S)
end;

type
  TSpliter = class
    class function Split(const S: string; const Separator: array of char; const convert: TConverter): TArray;
  end;

class function TSpliter.Split(const S: string; const Separator: array of char; const convert: TConverter): TArray;
var
  i: Integer;
  lArrStr: TArray<String>;
  lArr: TArray;
begin
    lArrStr := S.Split(Separator);
    SetLength(lArr, High(lArrStr) + 1);
  
    for i := 0 to High(lArrStr) do
    begin
      lArr[i] := convert(lArrStr[i]);
    end;

  Result := lArr;
end;

var 
  i: Integer;
  nums: TArray;
begin
    nums := TSpliter.Split('1;100;1000', [';'], IntToStr);
  
    for i := 0 to High(nums) do
    begin
      WriteLn(nums[i]);
    end;
end.
__________________
El malabarista.
Responder Con Cita