Informationen über Indizes abrufen
Nach oben zu Datensätze anhand von Indizes sortieren
Die Anwendung kann Informationen über die vom Server definierten Indizes aus allen Tabellen-Datenmengen abrufen. Zum Aufrufen einer Liste der verfügbaren Indizes für die Datenmenge kann die Methode GetIndexNames aufgerufen werden. GetIndexNames füllt eine Stringliste mit gültigen Indexnamen. Der folgende Quelltext dient beispielsweise dazu, ein Listenfeld mit den Namen aller für die Datenmenge CustomersTable gültigen Indizes zu füllen:
CustomersTable.GetIndexNames(ListBox1.Items);
CustomersTable->GetIndexNames(ListBox1->Items);
Anmerkung: Bei Paradox-Tabellen ist der Primärindex nicht benannt und kann daher von der Methode GetIndexNames nicht zurückgegeben werden. Es ist dennoch möglich, nach Verwendung eines Alternativindex in einer Paradox-Tabelle wieder den Primärindex zu aktivieren, indem Sie für die Eigenschaft IndexName einen leeren String angeben.
Zum Abrufen von Informationen zu den Feldern des aktuellen Index können Sie die folgenden Eigenschaften verwenden:
- IndexFieldCount dient zur Ermittlung der Anzahl von Spalten im Index.
- IndexFields dient zum Erstellen und Durchsuchen einer Liste der Feldkomponenten für die Spalten, die der Index umfasst.
Das folgende Quelltextbeispiel zeigt, wie Sie mit den Eigenschaften IndexFieldCount und IndexFields eine Liste der Spaltennamen in einer Anwendung durchgehen können:
var I: Integer; ListOfIndexFields: array[0 to 20} of string; begin with CustomersTable do begin for I := 0 to IndexFieldCount - 1 do ListOfIndexFields[I] := IndexFields[I].FieldName; end; end;
AnsiString ListOfIndexFields[20]; for (int i = 0; i < CustomersTable->IndexFieldCount; i++) ListOfIndexFields[i] = CustomersTable->IndexFields[i]->FieldName;
Anmerkung: Die Eigenschaft IndexFieldCount gilt nicht für dBASE-Tabellen, die mit einem als Ausdruck definierten Index geöffnet werden.