Ver Mensaje Individual
  #11  
Antiguo 07-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 24
andres1569 Va por buen camino
Hola:

Veamos, no soy quien tiene que perdonar tu ignorancia, ¿acaso crees que yo no soy ignorante? Pero si este programa lo vas a comercializar, como parece que es el caso por lo que he leído en otro hilo posteado por tí, a quien vas a tener que pedir que perdone tu ignorancia es al cliente de tu programa si algo falla, y no creo que le valgan tus explicaciones. De igual manera, si voy al cirujano y me amputa un dedo por error, podrá decirme que ha sido un fallo médico, pero no podrá pedirme que disculpe su ignorancia porque en realidad su profesión es carnicero y lo de cirujano lo ejerce en sus ratos libres.

Me alegro de que Hecjona te haya solucionado tu problema, pero me apena pensar que la próxima vez que tengas que calcular algo parecido tengas que volver a postear en un foro para que alguien te haga el guiso. Ten en cuenta que no estás programando un juego de marcianitos. Lo digo porque aparecen Euros y ese 7% a mi me recuerda el cálculo del IVA, aunque al final restes en vez de sumar.

En mi mensaje traté de espolearte para que tú mismo trataras de solucionarlo, y si hubieras puesto el código que tenías implementado, seguro que te lo hubiera revisado, llevo ya unos meses en estos foros tomándome muy en serio el buscar soluciones a cuestiones ajenas (y no tan ajenas) y suelo tomarme bastante de mi tiempo en contestar adecuadamente.

Hecjona escribió:
Cita:
Te felicito porque aun sin ser programador te tiras al ruedeo como un buen torero.
¡Me gusta la gente valiente que se echa al ruedo sin miedo!, pero no olvidemos que el torero arriesga su propia vida, y con tu programa puedes comprometer aspectos (la economía ¿tal vez?) de quien lo compre. Esta no es una cuestión trivial, al menos no lo es la economía de los demás, y no se puede tomar como algo de aficionados; dicho esto, te animo a seguir, porque de la afición se pasa a la profesión. ¡ANIMO!

Bueno, ahora voy a tratar de enseñarte cómo hacerlo, paso a paso para que lo veas más claro:
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  Importe, Descuento, Total : Currency;
begin
  Importe := StrToFloat(Label1.Caption) * StrToFloat(Edit1.Text) / 100;
  Descuento := Importe * StrToFloat(Edit2.Text) / 100;
  Total := Importe - Descuento;
  Label2.Caption := FormatFloat(',0.00', Total);
end;
Declaro tres variables que he decidido llamar Importe, Descuento y Total, por claridad; en Importe hago el cálculo, hallando el tanto por cien, indicado en Edit1, de la cantidad tomada del Label1.

En descuento hallo el tanto por cien, indicado en Edit2, de la cantidad almacenada en Importe.

Por último hallo el Total, donde resto el Descuento del Importe. Luego muestro el Total en el Label2.

Si lo quieres todo de un tirón coge la fórmula de Hecjona, que varía en que en vez de restar el último porcentaje aplicado a la cantidad que ya teníamos, aplica el porcentaje inverso (100 - porcentaje) a esa cantidad, es una forma más rápida de hacer lo mismo.

Termino esta parrafada con un proverbio japonés:
Cita:
Dale un pescado a un mendigo, y le aliviarás el hambre de un día,
enséñale a pescar, y le aliviarás el hambre toda su vida.
__________________
Guía de Estilo
Responder Con Cita