unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons; type TForm1 = class(TForm) Panel1: TPanel; GroupBox1: TGroupBox; GroupBox2: TGroupBox; StaticText1: TStaticText; Edit1: TEdit; StaticText2: TStaticText; UpDown1: TUpDown; BitBtn1: TBitBtn; StaticText3: TStaticText; Edit2: TEdit; StaticText4: TStaticText; StaticText5: TStaticText; Edit3: TEdit; UpDown2: TUpDown; CheckBox1: TCheckBox; BitBtn2: TBitBtn; StaticText6: TStaticText; StaticText7: TStaticText; StaticText8: TStaticText; Edit4: TEdit; StaticText9: TStaticText; UpDown3: TUpDown; StaticText10: TStaticText; Edit5: TEdit; UpDown4: TUpDown; StaticText11: TStaticText; Edit6: TEdit; UpDown5: TUpDown; StaticText12: TStaticText; Edit7: TEdit; StaticText13: TStaticText; StaticText14: TStaticText; Edit8: TEdit; StaticText15: TStaticText; StaticText16: TStaticText; Edit9: TEdit; StaticText17: TStaticText; StaticText18: TStaticText; Edit10: TEdit; StaticText19: TStaticText; StaticText20: TStaticText; StaticText21: TStaticText; procedure UpDown1Click(Sender: TObject; Button: TUDBtnType); procedure BitBtn1Click(Sender: TObject); procedure UpDown3Click(Sender: TObject; Button: TUDBtnType); procedure UpDown2Click(Sender: TObject; Button: TUDBtnType); procedure UpDown4Click(Sender: TObject; Button: TUDBtnType); procedure UpDown5Click(Sender: TObject; Button: TUDBtnType); private { Private-Deklarationen } public { Public-Deklarationen } end; const mit_ermaeszigung=1.25; ohne_ermaeszigung=1.80; familie=4.25; weitere_kinder=0.75; var Form1: TForm1; kinder:byte; //Anzahl für die Kinder ohne Familien-Ticket preis_kinder:real; //Preis für die Kinder ohne Familien-Ticket erwachsene:byte; //Anzahl für die Erwachsenen ohne Familien-Ticket preis_erwachsene:real; //Preis für die Erwachsenen ohne Familien-Ticket familienticket:byte; //Anzahl Familien-Tickets preis_familienticket:real; //Preis für die Familien-Tickets familie_kinder:byte; //Anzahl für die Kinder mit Familien-Ticket preis_familie_kinder:real; //Preis für die Kinder mit Familien-Ticket anzahl_stunden:byte; //Anzahl der Stunden gesamtpreis:real; //der Gesamtpreis implementation {$R *.dfm} procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType); begin Edit1.Text:=IntToStr(UpDown1.Position); end; procedure TForm1.BitBtn1Click(Sender: TObject); begin kinder:=StrToInt(Edit1.Text); //Anzahl der Kinder einlesen erwachsene:=StrToInt(Edit3.Text); //Anzahl der Erwachsenen einlesen familienticket:=StrToInt(Edit4.Text); //Anzahl der Familientickets einlesen familie_kinder:=StrToInt(Edit5.Text); //Anzahl der Kinder mit Familienticket einlesen anzahl_stunden:=UpDown5.Position; //Anzahl der Stunden für alles einlesen preis_kinder:=anzahl_stunden*mit_ermaeszigung*kinder; //Berechnung des Preises für die Kinder ohne Familien-Ticket preis_erwachsene:=anzahl_stunden*ohne_ermaeszigung*erwachsene; //Berechnung des Preises für die Erwachsenen ohne Familien-Ticket preis_familienticket:=anzahl_stunden*familie*familienticket; //Berechnung des Preises für die Familien-Tickets preis_familie_kinder:=anzahl_stunden*familie_kinder*weitere_kinder; //Berechnung des Preises für weitere Kinder zum Familien-Ticket if checkbox1.Checked=false then begin gesamtpreis:=preis_kinder+preis_erwachsene+preis_familienticket+preis_familie_kinder; end else begin preis_kinder:=preis_kinder-preis_kinder*0.057; preis_erwachsene:=preis_erwachsene-preis_erwachsene*0.057; preis_familienticket:=preis_familienticket-preis_familienticket*0.057; preis_familie_kinder:=preis_familie_kinder-preis_familie_kinder*0.057; //Berechnung des Preises für weitere Kinder zum Familien-Ticket gesamtpreis:=preis_kinder+preis_erwachsene+preis_familienticket+preis_familie_kinder; end; Edit2.Text:=FloatToStrF(preis_kinder,ffFixed,6,2); Edit7.Text:=FloatToStrF(preis_erwachsene,ffFixed,6,2); Edit8.Text:=FloatToStrF(preis_familienticket,ffFixed,6,2); Edit9.Text:=FloatToStrF(preis_familie_kinder,ffFixed,6,2); Edit10.Text:=FloatToStrF(gesamtpreis,ffFixed,6,2); end; procedure TForm1.UpDown3Click(Sender: TObject; Button: TUDBtnType); begin if UpDown3.Position>0 then begin Edit4.Text:=IntToStr(UpDown3.Position); StaticText10.Visible:=true; Edit5.Visible:=true; UpDown4.Visible:=true; end else begin Edit4.Text:=IntToStr(UpDown3.Position); StaticText10.Visible:=false; Edit5.Visible:=false; UpDown4.Visible:=false; familie_kinder:=0; Edit5.Text:='0'; end; end; procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType); begin Edit3.Text:=IntToStr(UpDown2.Position); end; procedure TForm1.UpDown4Click(Sender: TObject; Button: TUDBtnType); begin Edit5.Text:=IntToStr(UpDown4.Position); end; procedure TForm1.UpDown5Click(Sender: TObject; Button: TUDBtnType); begin Edit6.Text:=IntToStr(UpDown5.Position); end; end.