Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 09-06-2017
angelratza angelratza is offline
Registrado
NULL
 
Registrado: jun 2017
Posts: 8
Poder: 0
angelratza Va por buen camino
Gracias ecfisa por responder , y veras tengo un campo TEdit desde donde se están ingresando los valores de la variable "texto", pero al momento de ejecutar la función de GetTokenCount esta no reconoce el signo de % como un separador, si no lo toma como si estuviera toda la cadena en un solo valor.

Comparto parte del código en donde se hace esto:

Código Delphi [-]
procedure TFVenta.EdVentaKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  idesc, reng, icant, grs, I:integer;
  scve, texto, import2, flag:string;
  Desc, import, importotal, importdesc:real;
begin
  if key = vk_RETURN then // al momento de dar enter sobre el campo en de donde se obtienen los valores....
  begin
    if FVenta.Caption <> 'Devolucion de Productos' then /// verifica que estemos en el form correcto.
    begin
      if Fventa.EdVenta.Text = '' then
      begin
        FVenta.EdGramos.SetFocus;  // si esta vació el campo lo manda al siguiente campo del formulario
      end
      Else
      begin
        texto:=FVenta.EdVenta.Text; // si no esta vacio toma los datos escritos en el campo TEdit p/e: 10%251025

         IF GetTokenCount(texto,'%') = 2 then //cuando hay 2 tokens con signo de %
          begin
            if (EsStrunNumero(GetToken(texto,'%',1))) and (EsStrunNumero(GetToken(texto,'%',2)))then // verifica que sean numeros los valores ingresados
            begin
              idesc:= StrToInt(GetToken(texto,'%',1));//Con esta funcion se obtiene el 1er. token que es el porcentaje de descuento y la colocamos a iDesc 
              scve:= GetToken(texto,'%',2);   //Con esta Funcion se obtiene el 2o. token que es la clave de producto y se deposita en scve

                  if idesc <> 0 then // si el descuento a aplicar no es 0 se realizan las operaciones
                  begin
                    Desc:=1-idesc/100; //a 1 se resta el porcentaje de descuento para q Desc se multiplique por la cantidad
                    import:=importdesc*Desc; // se aplica el descuento al importe actual
                    Fventa.SGVenta.Cells[5,reng-1]:= IntToStr(idesc); // se toma el valor del descuento para mostrarlo
                  end;

                  import2:=FormatFloat('#,##0.00',import); // se le da formato al resultado del importe ya con descuento aplicado
                  Fventa.SGVenta.Cells[6,reng-1]:= import2; // se muestran los datos del resultado del importe
            end;
          end;
       end;
     end;
  end;
end;

que crees que pudiera ser que no me reconozca el signo como un separador, por que veo que en la prueba que realizaste si que lo reconoce como un separador.
Saludos.

Última edición por Casimiro Notevi fecha: 09-06-2017 a las 23:13:46.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿y tú, de qué signo astrológico eres? Casimiro Notevi La Taberna 11 11-04-2009 02:03:54
Comparativa entre Free Pascal 2.2.0 y Turbo Pascal 7.0 esocrates Varios 2 14-07-2008 14:56:24
manual de excepciones de object pascal para free pascal??? Garion OOP 3 27-05-2005 00:42:29
Cambiar Signo en Interbase Pablo_L Firebird e Interbase 2 15-09-2004 14:16:10
Numeros positivos con signo Romanosky Varios 1 11-05-2004 12:20:10


La franja horaria es GMT +2. Ahora son las 11:44:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi