Sets sind in Ordnung, Arrays sind großartig.
Angenommen, wir möchten drei eindimensionale Arrays für 50 Mitglieder in unserer Programmier-Community erstellen. Das erste Array steht für Namen, das zweite für E-Mails und das dritte für die Anzahl der Uploads (Komponenten oder Anwendungen) in unsere Community.
Jedes Array (Liste) hätte passende Indizes und viel Code, um alle drei Listen parallel zu verwalten. Natürlich könnten wir es mit einem dreidimensionalen Array versuchen, aber was ist mit dessen Typ? Wir benötigen eine Zeichenfolge für Namen und E-Mails, aber eine Ganzzahl für die Anzahl der Uploads.
Die Art und Weise, mit einer solchen Datenstruktur zu arbeiten, ist die Verwendung von Delphi Datensatzstruktur.
Die folgende Deklaration erstellt beispielsweise einen Datensatztyp namens TMember, den wir in unserem Fall verwenden könnten.
Im Wesentlichen a Die Datensatzdatenstruktur kann jeden der in Delphi integrierten Typen mischen einschließlich aller von Ihnen erstellten Typen. Datensatztypen definieren feste Sammlungen von Elementen verschiedener Typen. Jedes Element oder Feld, ist wie eine Variable, die aus einem Namen und einem Typ besteht.
TMember-Typ enthält drei Felder: einen Zeichenfolgewert namens Name (für den Namen eines Mitglieds), einen Wert eines Zeichenfolgetyps namens eMail (für eine E-Mail) und eine Ganzzahl (Cardinal) namens Posts (für die Nummer) von Einsendungen an unsere Community).
Sobald wir den Datensatztyp eingerichtet haben, können wir eine Variable als TMember deklarieren. TMember ist jetzt ein ebenso guter Variablentyp für Variablen wie alle in Delphi integrierten Typen wie String oder Integer. Hinweis: Die TMember-Typdeklaration weist den Feldern Name, eMail und Posts keinen Speicher zu.
Um eine Instanz eines TMember-Datensatzes zu erstellen, müssen Sie eine Variable vom Typ TMember wie im folgenden Code deklarieren:
Wenn wir jetzt einen Datensatz haben, verwenden wir einen Punkt, um die Felder von DelphiGuide zu isolieren.
Hinweis: Der obige Code könnte unter Verwendung von umgeschrieben werden mit Stichwort.
Wir können jetzt die Werte der DelphiGuide-Felder nach AMember kopieren.
Der Datensatztyp, der in der Deklaration eines Formulars (Implementierungsabschnitt), einer Funktion oder einer Prozedur deklariert ist, hat einen Gültigkeitsbereich, der auf den Block beschränkt ist, in dem er deklariert ist. Wenn der Datensatz im Schnittstellenabschnitt einer Unit deklariert ist, hat er einen Gültigkeitsbereich, der alle anderen Units oder Programme enthält, die die Unit verwenden, in der die Deklaration erfolgt.
Da TMember sich wie jeder andere Object Pascal-Typ verhält, können wir ein Array von Datensatzvariablen deklarieren:
Hinweis: So deklarieren und initialisieren Sie ein konstantes Array von Datensätzen in Delphi.