Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#45

AW: Übungsprogramm "Kinokarten"

  Alt 21. Dez 2016, 19:11
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);
  Mit Zitat antworten Zitat