Hallo
Vielen Dank für die Hinweise. Ich hoffe, sie alle richtig umgesetzt zu haben. Bei der Prüfung konnte ich keine Fehler feststellen, doch sicher ist die von mir gewählte Deklaration public nicht so der Hit.
Verdient das Programm somit die Bezeichnung kleines Übungsprogramm für ein "Dorfkino"? Ich habe jedenfalls in der Erstellungsphase viel dazugelernt. Nochmals Dank
Also ganz ehrlich? Nein
Du hast immer noch zuviel Logik im Formular.
z.B:
Delphi-Quellcode:
Kinokarten.setAnzK1(strtoint(EAnzK1.text));
if Kinokarten.Karten[Rang1] > (ord(frPlR1Vorg)) then
begin
ShowMessage(zuvielKarten);
EAnzK1.Text:='0';
EAnzK1.SetFocus;
exit;
end;
da gehört die Prüfung in die Klasse (meiner Meinung nach).
etwa in dem Kinokarten.setAnzK1 als function deklariert wird mit einem Boolean
also etwa
Delphi-Quellcode:
function TKinokarten.setAnzK1(k1:integer) : boolean;
begin
result := false;
if gekaufteKarten[Rang1] + k1 <= (ord(frPlR1Vorg)) then
begin
Karten[Rang1]:= k1;
result := true;
end;
end;
// in Auswerten dann:
if not Kinokarten.setAnzK1(strtoint(EAnzK1.text)) then
begin
ShowMessage(zuvielKarten);
EAnzK1.Text:='0';
EAnzK1.SetFocus;
exit;
end;
Im Moment kann ich 2 * 12 Karten Rang1 kaufen bevor eine Meldung kommt........