unit GestoreForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, ExtCtrls, LeggiNumeri;
type
TForm1 = class(TForm)
SpinEditAnni: TSpinEdit;
Label1: TLabel;
LabeledEditRendimentoPercentuale: TLabeledEdit;
LabeledEditSommaIniziale: TLabeledEdit;
LabeledEditRendimentoMensile: TLabeledEdit;
MemoElencoAnnuale: TMemo;
Label2: TLabel;
LabelSommaFinale: TLabel;
ButtonCalcola: TButton;
ButtonCancella: TButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure FormCreate(Sender: TObject);
procedure ButtonCancellaClick(Sender: TObject);
procedure LabeledEditRendimentoPercentualeKeyPress(Sender: TObject;
var Key: Char);
procedure LabeledEditSommaInizialeKeyPress(Sender: TObject;
var Key: Char);
procedure LabeledEditRendimentoMensileKeyPress(Sender: TObject;
var Key: Char);
procedure ButtonCalcolaClick(Sender: TObject);
procedure LabeledEditSommaInizialeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
procedure LabeledEditRendimentoPercentualeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
procedure LabeledEditRendimentoMensileKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
private
{ Déclarations privées }
procedure cancella;
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Caption:='Interessi composti';
LabeledEditRendimentoPercentuale.ReadOnly:=true;
LabeledEditSommaIniziale.ReadOnly:=true;
LabeledEditRendimentoMensile.ReadOnly:=true;
MemoElencoAnnuale.ReadOnly:=true;
cancella;
end;
procedure TForm1.cancella;
begin
LabeledEditRendimentoPercentuale.Text:='';
LabeledEditSommaIniziale.Text:='';
LabeledEditRendimentoMensile.Text:='';
LabelSommaFinale.Caption:='';
MemoElencoAnnuale.Lines.Clear;
SpinEditAnni.Value:=0;
end;
procedure TForm1.ButtonCancellaClick(Sender: TObject);
begin
cancella;
end;
procedure TForm1.LabeledEditRendimentoPercentualeKeyPress(Sender: TObject;
var Key: Char);
begin
LabeledEditRendimentoPercentuale.Text:=tasto(LabeledEditRendimentoPercentuale.Text, Key);
end;
procedure TForm1.LabeledEditSommaInizialeKeyPress(Sender: TObject;
var Key: Char);
begin
LabeledEditSommaIniziale.Text:=tasto(LabeledEditSommaIniziale.Text, Key);
end;
procedure TForm1.LabeledEditRendimentoMensileKeyPress(Sender: TObject;
var Key: Char);
begin
LabeledEditRendimentoMensile.Text:=tasto(LabeledEditRendimentoMensile.Text, Key);
end;
procedure TForm1.ButtonCalcolaClick(Sender: TObject);
var i,fine:integer;
somma,percentuale,rendimento:double;
begin
fine:=SpinEditAnni.Value;
somma:=StrToFloatDef(LabeledEditSommaIniziale.Text, 0.0);
percentuale:=1.0+(StrToFloatDef(LabeledEditRendimentoPercentuale.Text, 0.0)/100.0);
rendimento:=StrToFloatDef(LabeledEditRendimentoMensile.Text, 0.0);
MemoElencoAnnuale.Lines.Clear;
for i:=1 to fine do
begin
somma:=rendimento+somma*percentuale;
MemoElencoAnnuale.Lines.Add(format('%3d ->%12.2f €',[i, somma]));
end;
LabelSommaFinale.Caption:='Somma finale: '+#13+#10+format('%0.2f €', [somma]);
end;
procedure TForm1.LabeledEditSommaInizialeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if Key=46 then
LabeledEditSommaIniziale.Text:='';
end;
procedure TForm1.LabeledEditRendimentoPercentualeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if Key=46 then
LabeledEditRendimentoPercentuale.Text:='';
end;
procedure TForm1.LabeledEditRendimentoMensileKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if Key=46 then
LabeledEditRendimentoMensile.Text:='';
end;
end.