Einzelnen Beitrag anzeigen

DR_Oetker

Registriert seit: 3. Aug 2004
Ort: Baden-Württemberg
10 Beiträge
 
Delphi 10.4 Sydney
 
#1

Prüfen ob ein Integerwert in einem ENUM existiert

  Alt 17. Feb 2021, 21:29
Delphi-Version: 10.4 Sydney
Hallo zusammen,

habe da mal ein Frage zu Enums.

Ich definiere ein Enum wie folgt:

Code:
 
type
    TOrderField = (ofBelegnummer=4, ofBelegdatum=6, ofKonto, ofKontoName, ofBank, ofZahldatum);
var
  OrderField: TOrderField = ofBelegnummer;
Die Nummerierung mache ich deshalb so, weil dies den Spalten einer Tabelle entspricht, die ich sortieren möchte.

Beim Klick auf die Überschriften weise ich der Variablen OrderField die Spalte zu:
Code:
procedure TfrmMain.sgOPOSFixedCellClick(Sender: TObject; ACol, ARow: Integer);
begin
    if OrderField = TOrderField(ACol) then OrderASC := not OrderASC else OrderField := TOrderField(ACol);
    btnRefresh.Click;
end;
Im Nachgang wird die Tabelle neu gefüllt (aus einer Datenbank) mit einer entsprechenden Sortierung.

Das funktioniert prima, solange man auf eine Spalte klicke, die auch im Enum vorhanden ist.

Ich würde jetzt gerne abfragen, ob denn die Spalte im Enum vorhanden ist.
Irgendwie so:
Code:
if ACol IN TOrderField then
Das funktioniert aber leider nicht...

Hat von euch jemand eine Idee dazu?

Schonmal herzlichen Dank

Grüße

P.S. Nein ich kann kein DBGrid verwenden, das die Sortierung von Haus aus kann...
  Mit Zitat antworten Zitat