Ver Mensaje Individual
  #5  
Antiguo 03-04-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola sac.

Para el ejemplo: Agregá diez TEdit, de nombres "Edit1",..., "Edit10" para ingresar la cantidad de unidades, y diez TLabel de nombres "Label1",..., "Label10" para mostrar el resultado del producto de la cantidad por la moneda.

Luego:
Código Delphi [-]
...
const
   MONEDA: array[1..10] of Currency = (0.05, 0.10, 0.25, 0.50, 1, 2, 5, 10, 50, 100);

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  for i:= 1 to 10 do
    with TEdit(FindComponent('Edit'+IntToStr(i))) do
    begin
      Text       := '';
      OnChange   := EditChange;
      OnKeyPress := EditKeyPress;
      Tag        := i;
    end;
end;

procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in[#8,'0'..'9']) then
  begin
    Key := #0;
    MessageBeep(MB_ICONERROR)
  end;
end;

procedure TForm1.EditChange(Sender: TObject);
var
  c: Integer;
begin
  if TryStrToInt(TEdit(Sender).Text, c) then
    TLabel(FindComponent('Label'+IntToStr(TEdit(Sender).Tag))).Caption:=
       CurrToStr(c * MONEDA[TEdit(Sender).Tag])
end;
...
Agrega otros diez Labels sobre los Edits para saber que valor de moneda están ingresando.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita