Boah. Das Programm habe ich vor sieben oder mehr Jahren geschrieben.
Als erstes: Wenn dir Schlüsselwörter nichts sagen, guck bitte in der Hilfe oder nutze das Internet. Und hättest du dir mein Klassen Tutorial mal angeguckt, würden sich schon viele Fragen von selbst beantworten.
TCardStatus = (csBlind, csRevealed, csFound); //Wieso benötigt das keine Klasse?
Weil es eine Typ-/Mengendeklaration ist.
TOnFlip = procedure(Card: TCard) of object; //Wieso benötigt das keine Klasse? Was macht OnFlip?
Weil es eine Ereignisdeklaration ist. Das Ereignis wird ausgelöst, wenn eine Karte aufgedeckt wird. Da muss ja was passieren: ist es die erste Karte oder die zweite? Sind sie gleich oder ungleich....
FValue: Integer; //Bezeichnung der Karte erhalten, warum als Zahl?
Weil ich keine Lust hatte mich mit Grafiken runzuschlagen.
function GetValue: Integer; //Bezeichnung der Karte erhalten, warum als Zahl?
Siehe oben. Der Einfachheithalber habe ich Zahlen benutzt anstatt Grafiken.
procedure SetValue(Value: Integer); //Wieso muss der Kartenname geändert werden, warum als Zahl?
Die Karte muss ja einen Wert erhalten bzw. eine Grafik.
procedure Click(Sender: TObject); reintroduce; //Wird eine als virtual deklarierte Methode verdeckt (d.h. in einer abgeleiteten Klasse wird eine gleichnamige Methode deklariert, die nicht mit der override-Direktive versehen ist), gibt der Delphi-Compiler Warnungen aus. Um die Warnung zu verhindern, wird die neue Methode, die die virtuelle Methode verdecken soll, mit reintroduce gekennzeichnet.
Ist der Kommentar von dir oder von mir?
Aber Hilfe lesen hilft.
property
Siehe Hilfe oder jedes beliebige Tutorial über Klassen.