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 20-01-2007
truequeman truequeman is offline
Miembro
 
Registrado: ene 2007
Posts: 26
Poder: 0
truequeman Va por buen camino
formula..

hola. necesito una formula para un descuento lo he intentado pero no se por que me sale mal... la cosa es que cuando marca mas de 1,000 (con coma) todo sale mal... pero cuando la cantidad es menor a 999 si saca los descuentos

estoy haciendo esto:

if Descuento.Text <> '0' then
begin
If Length(Descuento.Text) = 1 then
Dsto := StrToFloat('0.0' + Descuento.Text)
else
Dsto := StrToFloat('0.' + Descuento.Text);
ActAReal := '';
for K:=1 to Length(SubTotal.Text) do
begin
If SubTotal.Text[K] in ['0'..'9','.'] then
ActAReal := ActAReal + SubTotal.Text[K]
end;
SubTotal.Text := ActAReal;
Stal := StrToFloat(SubTotal.Text) * Dsto;
SubTotal.Text := FloatToStrF(StrToFloat(Subtotal.Text) - Stal , FFNumber, 9,2);
end;

si alguien sabe una forma mejor o solucionar esto espero me respondan.saludos.
Responder Con Cita
  #2  
Antiguo 20-01-2007
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
Por que no utilizas los componentes RXLib, con el CurrencyEdit puedes trabajar con valores numéricos directamente.

Por ejemplo:
Código Delphi [-]
  E_Total.Value :=E_Precio.value-(E_Precio.value*(E_Descuento.value/100));
Responder Con Cita
  #3  
Antiguo 20-01-2007
truequeman truequeman is offline
Miembro
 
Registrado: ene 2007
Posts: 26
Poder: 0
truequeman Va por buen camino
evento

en el evento key press puse :
(de cada descuento)


procedure TVentArt.Descuento2KeyPress(Sender: TObject; var Key: Char);
var
desc2,total,totaldescontado: real;
begin
If Key = #13 then
begin
Cerrar.SetFocus;
Descuento2.SetFocus;
total:=strtofloat(totventa.text);
desc2:=((strtofloat(descuento2.text))/100) + 1;
totaldescontado:=(total/ desc2);
totventa.Text:=floattostrF((totaldescontado),FFNumber,9,2);
end
else
If Key = #27 then
Descuento2.Clear
else
begin
if not (Key in ['0'..'9',#8]) then
Key := #0;
end;
end;

pero cuando la cantidad tiene un "," se pone loca la suma.
Responder Con Cita
  #4  
Antiguo 20-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Por favor, edita tu mensaje y añade las etiquetas delphi, te quedará un mensaje más profesional .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
formula en dbgrid federicorl Varios 4 07-08-2006 19:58:36
FastReport: fórmula matemáticas. Jose_Pérez Impresión 1 01-09-2005 14:20:37
Formula en Firebird jwmoreira Firebird e Interbase 4 17-05-2005 18:49:57
Formula One con Fast Report CARSOFT_AR Impresión 0 06-05-2005 19:20:11
Campos calculados, fórmula mariajoiz Conexión con bases de datos 8 10-06-2003 15:10:10


La franja horaria es GMT +2. Ahora son las 13:05:12.


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