Mirando el código creo que el problema es tu función
Cadena=100%200%300
Separador=%
GetTokenCount debería retornar 2, pero retorna 3, porque?
En color rojo está el problema, lo inicializas en 1, cuando encuentra los dos % el total es 3 y tu estas preguntando por un valor igual a 2 acá "IF
GetTokenCount(texto,'%') = 2 then //cuando hay 2 tokens con signo de %"
Código Delphi
[-]function GetTokenCount(Cadena:string; Separador:char):integer; overload;
var
Posicion:integer;
begin
Posicion:=Pos(Separador,Cadena);
Result:=1;
if Cadena <> '' then begin
if Posicion <> 0 then begin
while Posicion <> 0 do
begin
Delete(Cadena,1,Posicion);
Posicion:=Pos(Separador,Cadena);
Inc (Result);
end;
end;
end else Result:=0;
end;
Es por so que la función del gran
Ecfisa funciona bien...
Saludos cordiales