Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   validar un precio en un tedit (https://www.clubdelphi.com/foros/showthread.php?t=39158)

jesus83 12-01-2007 00:02:02

validar un precio en un tedit
 
necesito validar un precio que solo escriba numeros y una sola vez el punto decimal si alguien me pude ayudar se lo agradesco

Onti 12-01-2007 00:06:27

Podrías utilizar el componente CurrencyEdit de las librerías RXLib

Neftali [Germán.Estévez] 12-01-2007 11:02:15

Segun la version de Delphi que tengas puedes utilizar FloatToStrF; Se trata de convertir un Float a String; Si miras la ayuda verás que si el parámetro de entrada no es un número correcto, el resultado es la cadena "NAN" (not a Number).

jesus83 13-01-2007 12:04:26

Gracias por la respuesta me ayudo mucho
 
hola que tal espero que para otros usuarios les sirva esta respuesta de lo que hice concatene dos cadenas y la converti a float ejemplo :

ppv: double;
Edit3.Text:=Edit1.text+'.'+Edit2.Text;
//(variable de tipo doble)
ppv:=StrToFloat(edit2.Text);

y luego lo pase por parametros a la base de datos de MySQL

sifdatamodule.adoquery1.close;
sifdatamodule.adoquery1.sql.text:='INSERT INTO producto VALUES( :codigoProducto,:nombreProducto,:precioProducto)';
sifdatamodule.adoquery1.parameters.parambyname('codigoProducto').Value:=sifleltprdt1.text;
sifdatamodule.ADOQuery1.Parameters.ParamByName('nombreProducto').Value:=sifleltprdt2.text;
sifdatamodule.ADOQuery1.Parameters.ParamByName('precioProducto').Value:=ppv;//Text;
sifdatamodule.adoquery1.execsql;

gracias por respuesta me servio mucho

Neftali [Germán.Estévez] 15-01-2007 12:52:32

Recuerda utilizar TAG's en tus mensajes cuando escribas trozos de código Delphi, SQL, PHP,...

richi 15-01-2007 13:36:22

Lo que pudes hacer es poner en el OnKeyPress del edit lo siguiente:
Código Delphi [-]
if (key in['0'..'9',#8,',']) then
  begin
    if (key = ',') then
    begin
      try
        temp  := strToFloat(Edit1.text+key);
      except
        key:= #0;
      end;
    end;
  end
  else
    key:= #0;
Siendo temp una variable de tipo real o currecy segun lo que te haga falta.

edr_tuc 03-01-2008 15:12:07

mensaje de error al ingresar 2 veces el separador decimal en mi caso la coma " , "
 
hola a todos ,navgando llegue a esta cadena de preg y respuestas la cual me sirvio muchisimo, el unico problema al aplcar la solucion que dio richi es que cuando ingreso dos veces la " , " (la coma) me aparece un mensaje de error, no asi cuando ingreso una letra (no aparece nada )
habria alguna forma de que no me apareciera ese mensaje ??
espero sus respuesta muchas gracias

ContraVeneno 03-01-2008 16:11:58

Tantos problemas y tantas líneas de código cuando todo se soluciona simplemente utilizando un TCurrencyEdit de las RXLib (como ya había dicho Onti) o el TjvValidateEdit de las Jedi.

PD. Por cierto, tanto las RXLib como las Jedi son gratis

fidel 03-01-2008 19:13:56

Mira aquí

http://www.clubdelphi.com/foros/show...solo+n%FAmeros

edr_tuc 11-01-2008 01:56:14

ya solucione con el hio que me direcciono fidel
 
muchas gracias a todos ,de verdad siempre me salvan
saludos a todos .-

jachguate 11-01-2008 03:19:54

Cita:

Empezado por ContraVeneno (Mensaje 255725)
Tantos problemas y tantas líneas de código cuando todo se soluciona simplemente utilizando un TCurrencyEdit de las RXLib (como ya había dicho Onti) o el TjvValidateEdit de las Jedi.

PD. Por cierto, tanto las RXLib como las Jedi son gratis

De hecho, al menos hasta donde yo me quedé, las RXLib no tienen mas desarrollo ni mantenimiento, y fueron "absorbidas" o "donadas" o "retomadas" por el proyecto jedi.

Jedi, no solo es gratis, es libre (la licencia es la MPL 1.1) enlace

Hasta luego.

;)

Neftali [Germán.Estévez] 11-01-2008 11:29:47

Cita:

Empezado por jachguate (Mensaje 257359)
...las RXLib no tienen mas desarrollo ni mantenimiento, y fueron "absorbidas" o "donadas" o "retomadas" por el proyecto jedi.

La versión de Delphi7 compila casi sin tocar nada en D2006/D2007. Yo mismo hice algunos cambios y subí la versión con algunas instrucciones para instalarlas (por si alguien no quiere instalar todas las Jedi para tener las Rx).
En su día estaban en un link aquí en el club, pero creo que se perdió, en mi página sigue estando el paquete; link.


La franja horaria es GMT +2. Ahora son las 20:59:49.

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