Computerwissenschaften

Grundlegendes zum Delphi SET-Typ – Expertenhandbuch

Eine der Delphi- Sprachfunktionen, die in anderen modernen Sprachen nicht zu finden sind, ist der Begriff der Mengen.

Der Set-Typ von Delphi ist eine Sammlung von Werten desselben Ordinaltyps .

Eine Menge ist mit dem definierten 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 Deklaration TMagicSet=Menge von TMagicNumber entspricht der folgenden Deklaration: TMagicSet=Menge von 1..34.

 

Typvariablen festlegen

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

Um einer Variablen vom Typ Set einen Wert zuzuweisen , verwenden Sie die eckigen Klammern und listen Sie alle Elemente des Sets 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 enthalten ist , in der Satz (variable) das IN 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 OnKeyPress eines Bearbeitungssteuerelements hinzu, um zu verhindern, dass Benutzer Alphatasten eingeben :

 

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. Sets mögen für einen Delphi-Anfänger verwirrend erscheinen , aber sobald Sie anfangen, Variablen vom Typ Set zu verwenden, werden Sie feststellen, dass sie viel mehr bieten, als es am Anfang klang.

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.