Grundlegendes zum Delphi SET-Typ

click fraud protection

Einer der Delphi-Sprache Merkmale, die in anderen modernen Sprachen nicht zu finden sind, sind der Begriff der Mengen.

DelphiTyp einstellen ist eine Sammlung von Werten derselben Ordnungszahl.

Ein Set wird mit dem definiert Satz von Stichwort:

Set-Typen werden normalerweise mit Unterbereichen definiert.

Im obigen Beispiel ist die TMagicNumber ein benutzerdefinierter Unterbereichstyp, mit dem Variablen des TMagicNumber-Typs Werte von 1 bis 34 empfangen können. Einfach ausgedrückt repräsentiert ein Unterbereichstyp eine Teilmenge der Werte in einem anderen Ordinaltyp.

Mögliche Werte des Mengen-Typs sind alle Teilmengen des Basistyps, einschließlich der leeren Menge.

Eine Einschränkung für Sets besteht darin, dass sie bis zu 255 Elemente aufnehmen können.

Im obigen Beispiel ist der TMagicSet-Mengen-Typ eine Menge von TMagicNumber-Elementen - Ganzzahlen von 1 bis 34.

Die Erklärung TMagicSet = Satz von TMagicNumber ist gleich der folgenden Erklärung: TMagicSet = Satz von 1..34.

Typvariablen festlegen

instagram viewer

Im obigen Beispiel die Variablen emptyMagicSet, oneMagicSet und anotherMagicSet sind Sätze von TMagicNumber.

Zu einen Wert zuweisen Verwenden Sie für eine Variable vom Typ Set die eckigen Klammern und listen Sie alle Elemente der Menge auf. Wie in:

Hinweis 1: Jede Variable vom Typ Set kann die leere Menge enthalten, die mit [] gekennzeichnet ist.

Anmerkung 2: Die Reihenfolge der Elemente in einer Menge hat keine Bedeutung, und es ist auch nicht sinnvoll, dass ein Element (Wert) zweimal in eine Menge aufgenommen wird.

Das IN-Schlüsselwort

Um zu testen, ob ein Element ist enthalten Verwenden Sie in der Menge (Variable) die IM Stichwort:

Operatoren einstellen

Auf die gleiche Weise, wie Sie zwei Zahlen summieren können, können Sie eine Menge haben, die die Summe von zwei Mengen ist. Mit Sets hat Ihre Veranstaltung mehr Operatoren:

  • + gibt die Vereinigung zweier Mengen zurück.
  • - gibt die Differenz zweier Sätze zurück.
  • * gibt den Schnittpunkt zweier Mengen zurück.
  • = true zurückgeben, wenn zwei Mengen gleich sind - dasselbe Element haben.
  • <= gibt true zurück, wenn die erste Menge eine Teilmenge der zweiten Menge ist.
  • > = gibt true zurück, wenn der erste Satz eine Obermenge des zweiten Satzes ist.
  • <> gibt true zurück, wenn zwei Sätze nicht identisch sind.
  • IN gibt true zurück, wenn ein Element in der Menge enthalten ist.

Hier ist ein Beispiel:

Wird die ShowMessage-Prozedur ausgeführt? Wenn ja, was wird angezeigt?

Hier ist die Implementierung der DisplayElements-Funktion:

Hinweis: ja. Angezeigt: "18 | 24 |".

Ganzzahlen, Zeichen, Boolesche Werte

Natürlich sind Sie beim Erstellen von Set-Typen nicht auf ganzzahlige Werte beschränkt. Delphi-Ordnungszahlen umfassen Zeichen- und Boolesche Werte.

Fügen Sie diese Zeile in das Feld ein, um zu verhindern, dass Benutzer Alpha-Schlüssel eingeben OnKeyPress eines Bearbeitungssteuerelements:

Sets mit Aufzählungen

Ein häufig verwendetes Szenario im Delphi-Code besteht darin, sowohl Aufzählungstypen als auch Satztypen zu mischen.

Hier ist ein Beispiel:

Frage: Wird die Nachricht angezeigt? Antwort: nein :(

Legt die Eigenschaften des Delphi-Steuerelements fest

Wenn Sie die in TEdit-Steuerelementen verwendete Schriftart "fett" anwenden müssen, verwenden Sie entweder den Objektinspektor oder den folgenden Code:

Die Style-Eigenschaft von Font ist eine Set-Type-Eigenschaft! So wird es definiert:

Daher wird ein Aufzählungstyp TFontStyle als Basistyp für den Satztyp TFontStyles verwendet. Die Style-Eigenschaft der TFont-Klasse ist vom Typ TFontStyles - daher eine Set-Type-Eigenschaft.

Ein weiteres Beispiel enthält das Ergebnis der MessageDlg-Funktion. Eine MessageDlg-Funktion wird verwendet, um ein Meldungsfeld aufzurufen und die Antwort des Benutzers zu erhalten. Einer der Parameter der Funktion ist der Buttons-Parameter vom Typ TMsgDlgButtons.

TMsgDlgButtons ist definiert als eine Menge von (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp).

Wenn Sie dem Benutzer eine Nachricht mit den Schaltflächen Ja, OK und Abbrechen anzeigen und Code ausführen möchten, wenn auf die Schaltflächen Ja oder OK geklickt wurde, können Sie den nächsten Code verwenden:

Letztes Wort: Sets sind großartig. Sätze können für a verwirrend erscheinen Delphi AnfängerSobald Sie jedoch Variablen vom Typ Set verwenden, werden Sie feststellen, dass sie viel mehr bieten, als es am Anfang klang.

instagram story viewer