Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-09-2010
gonza_619 gonza_619 is offline
Miembro
 
Registrado: feb 2010
Posts: 157
Poder: 15
gonza_619 Va por buen camino
restar o sumar 2 dbedits.text

hola q tal, miren quiero realizar la resta de 2 dbedits.text. en los cuales estan datos numericos de campos, en realidad datos money y guardarlo en una variable

if dbedit4.text<dbedit10.text then
a:=dbedit10.text-dbedit4.text
dbedit5:=a;

la variable la declare como string, esta bien o deberia ser float?, se puede hacer resta? o debo guardar los dbedit en variables?
grax
Responder Con Cita
  #2  
Antiguo 13-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No se la necesidad de la variable, pero:
Código Delphi [-]
Var a: String;
begin
if dbedit4.text < dbedit10.text then
begin
a:= FloatToStr(StrToFloat(dbedit10.text) - StrToFloat(dbedit4.text));
dbedit5.text:= a;
end;
end;

Otro directo:
Código Delphi [-]
if dbedit4.text < dbedit10.text then
begin
dbedit5.text:= FloatToStr(StrToFloat(dbedit10.text) - StrToFloat(dbedit4.text));
end;

Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 13-09-2010
gonza_619 gonza_619 is offline
Miembro
 
Registrado: feb 2010
Posts: 157
Poder: 15
gonza_619 Va por buen camino
restar o sumar 2 dbedits.text

hola mira, me da error de que $75,00 is not a valid float value
ese monto se asigna a un al db edit10 cuando slecciono un registro de la grilla. el campo es money, por habra sido el error?
muchas gracias
Responder Con Cita
  #4  
Antiguo 13-09-2010
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Aclarando solamente que los contenidos de un edit, aun cuando sean numeros (digitos) son de tipo String, por lo cual es necesario convertirlos a un tipo numerico para poder realizar las operaciones matematicas.El resultado de la operacion matematica se debera volver a convertir para exhibirlo al usuario.

cualquier caracter que no sea numero es evaluado por la funcion como error ($, ','). Deberas eliminar esos caracteres de tus cadenas antes de convertir a un valor numerico (numerico no es lo mismo que monetario)
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?

Última edición por FGarcia fecha: 13-09-2010 a las 18:15:08. Razón: actualizo sus mensajes
Responder Con Cita
  #5  
Antiguo 13-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Normalmente es por que la coma no la ve como decimal.
Eso se arregla desde el panel de control en configuracion regional.
Lo que me extraña es que lo presente con el signo de dolares $, si es asi, no tengo idea.
Lo unico que se me ocurre es cambiar el campo a double.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 13-09-2010
gonza_619 gonza_619 is offline
Miembro
 
Registrado: feb 2010
Posts: 157
Poder: 15
gonza_619 Va por buen camino
hola vi en otros foros q podia servir esto para eliminar $
Delete(Cadena,1,1);//elimina el primer caracter ascii de cadena Label1.Caption:=Cadena;
o
Label1.Caption := StringReplace(Cadena, '$', '', [rfReplaceAll]);en lugar de label iria el dbedit1.text? luego se asigna solo?
no entiendo lo de las '' es el espacio despues del $?
solo quiero sacar el $ para luego sumar o restar
luego qedaria en float? gracias

perdon lo vi en este foro

a bueno despues tengo q restar como me dijeron antes

if dbedit4.text < dbedit10.text then
begin
dbedit5.text:= FloatToStr(StrToFloat(dbedit10.text) - StrToFloat(dbedit4.text));
end;

seria asi?

Última edición por gonza_619 fecha: 13-09-2010 a las 19:45:47.
Responder Con Cita
  #7  
Antiguo 13-09-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La idea es buena, solo que tienes que tener en cuenta que se trata de DBEdits, no de EDits.
Esto lo comento por que al hacer un replace lo hara en el DBEdit y podra sr un problema en la BD.
Para solucionar eso simplemente usa variables que contengan el dato, asi:
Código Delphi [-]

var a,b: string;
begin
if dbedit4.text < dbedit10.text then
begin
  a:= StringReplace(dbedit10.text, '$', '', [rfReplaceAll]);
  b:= StringReplace(dbedit4.text, '$', '', [rfReplaceAll]);
  dbedit5.textt:= FloatToStr(StrToFloat(a) - StrToFloat(b));
end;

Revisa el ejemplo.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 13-09-2010 a las 21:14:22.
Responder Con Cita
  #8  
Antiguo 13-09-2010
gonza_619 gonza_619 is offline
Miembro
 
Registrado: feb 2010
Posts: 157
Poder: 15
gonza_619 Va por buen camino
gracias ya me salio lo hice como dijiste al ultimo, muchas gracais
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Restar/Sumar entre DBGrid's Lenny Varios 5 02-07-2010 13:54:13
Restar, Sumar varios registros a la vez Lenny Varios 2 28-05-2010 20:38:30
restar/sumar 3 meses a un datetimepicker Milperrimo Varios 3 17-11-2007 00:50:16
Sumar y restar fechas SMTZ .NET 3 28-11-2006 03:15:27
Como puedo sumar o restar fechas? Mic82 OOP 2 20-06-2004 00:45:14


La franja horaria es GMT +2. Ahora son las 22:45:56.


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