Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   dbedit y cifras monetarias problemas al calcular (https://www.clubdelphi.com/foros/showthread.php?t=34462)

yeison Cristman 10-08-2006 06:01:02

dbedit y cifras monetarias problemas al calcular
 
Que la paz de Dios reine en mi....

tengo varios dbedit en los cuales capturo el sueldo bruto estoy usando sql server y declare los campos en las tablas como money.

en mi formulario de delphi le puse una mascara en la propiedad display format y edit formar asi ($#,###.oo y #,###.00) me captura bien y se ve muy jevi, pero a la hora de calcular del sueldo bruto el (seguroS,descuentos,prestamos etc,, en el dbedit me sale una cantidad negativa e incorrecta. Este es el codigo que uso..
VAR
UNO,DOS,TRES,COD1,COD2,COD3,RESULTADO:INTEGER;
BEGIN
VAL(dbEdit8.Text,UNO,COD1);
VAL(dbEdit9.Text,DOS,COD2);
VAL(DBEDIT10.Text,TRES,COD3);
IF (COD1<>0) OR (COD2<>0)THEN
BEGIN
dbEdit8.Text:='';
dbEdit9.Text:='';
DBEDIT10.Text:='';
dbEdit8.SetFocus;
END
ELSE
BEGIN
RESULTADO:=UNO-DOS-TRES;
dbedit11.Text:=inttostr(resultado);

creo que el error esta en ponerle la mascara, pero es que la necesito, cuando le quito la mascara me calcula bien no se que hacer.......

Jesucristo es el mismo ayer, hoy, y siempre....

vtdeleon 10-08-2006 06:56:50

Debes hacer referencia directa al DataSet y no al DbEdit, ya que este ultimo solo muestra el contenido del registro qeu le proporciona el DataSet

Prueba con esto:
Código Delphi [-]
With Table1 do begin//Suponiendo que el dataset es un Table
  VAL(FieldByName('Campo1').AsString,UNO,COD1);//Suponiendo qeu Campo1 es el campo del Edit a Calcular
//y asi asi asi asi
Suerte;)

yeison Cristman 10-08-2006 07:52:46

Problema solucionado
 
hola vtdeleon... Dios te bendiga

use el codigo y me funciono tuve confusion al principio pensaba cuando decias campo1 te refererias a los dbedit directamente luego comprendi que era al mismo campo pero de la tabla....

muchas gracias...

Jesucristo es el mismo ayer, hoy y siempre....


La franja horaria es GMT +2. Ahora son las 01:50:46.

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