Dashier gibt es zwei mal:
Delphi-Quellcode:
const
PlGes = 100; //Gesamtzahl der Plätze
MWSt = 0.19; //Mehrwertsteuer
Preisliste : array[Low(TRang)..High(TRang)] of Double = (15,14,13,12,10,9);//könnte erweitert werden
zuvielKarten = ('Sie wollen mehr Karten verkaufen, als vorhanden sind!');
Das würd' ich nur in der
Unit uKartenberechnung deklarieren. Bei Änderungen muss man sonst an zwei Stellen ran, das ist fehleranfällig.
Die
Kinokarten:= TKinokarten.create;
werden zwar im FormCreate erstellt, aber beim Programmende nicht wieder freigegeben.
Im Form1 ist ein Zugriff in der Art
Form1.Irgendwas
nicht erforderlich,
Irgendwas
reicht aus.
Im FormCreate sollte auch die Methode Init des Formulares aufgerufen werden, um beim Programmstart einen definierten Zustand zu bekommen.
Dashier
showMessage(format('Es wurden %d Karten im %d. Rang für %d Euro bzw. für ermäßigt %d Euro verkauft!',[50,3,10,9]));
kommt in sehr ähnlicher Weise mehrfach vor. Für den Text würd' ich eine Konstante deklarieren und die dann jeweils nutzen.
Delphi-Quellcode:
const
Verkaufsmeldung = 'Es wurden %d Karten im %d. Rang für %d Euro bzw. für ermäßigt %d Euro verkauft!';
...
showMessage(format(Verkaufsmeldung,[50,3,10,9]));
Dieses läßt sich eventuell auch "schöner" gestalten:
MessageDlg('Der Preis '+floattostrF(Kinokarten.Preis,ffCurrency, 8,2)+' setzt sich zusammen aus '+floattostrF(Kinokarten.ZwSu,ffCurrency, 8,2)+' Netto plus '+floattostrF(Kinokarten.MWSt, ffCurrency, 8,2)+' MWSt' , mtInformation, [mbOK], 0);
Delphi-Quellcode:
const
Preismeldung = 'Der Preis %8.2m setzt sich zusammen aus %8.2m Netto plus %8.2m MWST';
...
MessageDlg(format(Preismeldung,[Kinokarten.Preis,Kinokarten.ZwSu,Kinokarten.MWSt]),mtInformation,[mbOK],0);