Ver Mensaje Individual
  #5  
Antiguo 09-06-2017
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Reputación: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
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
Responder Con Cita