unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Math, Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  StdCtrls, ComCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    Image1: TImage;
    Label1: TLabel;
    Label2: TLabel;
    RadioGroup1: TRadioGroup;
    TrackBar1: TTrackBar;
    procedure Button1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure TrackBar1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private

  public

  end;

var
  Form1: TForm1;
  Anzahlung: Double;
  Laufzeit, Rate, GesamtPreis: Double;

implementation

{$R *.lfm}

{ TForm1 }
function RateBerechnen(Anzahlung, Laufzeit, GesamtPreis: Double): Double;
begin
   Result:= (GesamtPreis - Anzahlung) / Laufzeit;
end;

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
   GesamtPreis:= StrToFloat(Edit1.Text);
   if GesamtPreis>= 300 then
   begin
      case Radiogroup1.ItemIndex of
        0: Anzahlung:= 0;
        1: Anzahlung:= 50;
        2: Anzahlung:= 100;
        3: Anzahlung:= 150;
        4: Anzahlung:= 200;
      end;
      Rate:= RateBerechnen(Anzahlung, StrToFloat(Combobox1.Items.Strings[ComboBox1.ItemIndex]), GesamtPreis);
      Rate:= RoundTo(Rate, -2);
      Label2.Caption:= 'Monatliche Rate: ' + FloatToStr(Rate) + ' €';
   end
   else ShowMessage('Der Preis muss größer als 300 € sein, sonst ist keine Ratenzahlung möglich!');
end;

procedure TForm1.TrackBar1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Edit1.Text:= IntToStr(Trackbar1.Position);
  Gesamtpreis:= Trackbar1.Position;
         Rate:= RateBerechnen(Anzahlung, StrToFloat(Combobox1.Items.Strings[ComboBox1.ItemIndex]), GesamtPreis);
       Rate:= RoundTo(Rate, -2);
       Label2.Caption:= 'Monatliche Rate: ' + FloatToStr(Rate) + ' €'
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
var
  Rate: Double;
begin
  // Trackbar lesen
  // GesamtPreis:= Trackbar1.Position;
  GesamtPreis:= StrToInt(Edit1.Text);
  if (Gesamtpreis >=300)  then
  begin
       Rate:= RateBerechnen(Anzahlung, StrToFloat(Combobox1.Items.Strings[ComboBox1.ItemIndex]), GesamtPreis);
       Rate:= RoundTo(Rate, -2);
       Label2.Caption:= 'Monatliche Rate: ' + FloatToStr(Rate) + ' €'
    end
    else ShowMessage('Der Preis muss größer als 300 € sein, sonst ist keine Ratenzahlung möglich!');
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
   //Radiogroup1.ItemIndex[0].Checked:= true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Application.Terminate;
end;



end.

