Funktion Mit der ReadRow-Anweisung können Sie eine Zeile einer GuiXT Tabellenvariablen in eine Strukturvariable einlesen.
Beispiel ReadRow V[customerinfo] table=V[customers] index=2

Die zweite Zeile der Tabellenvariablen V[customers] wird gelesen und die Zelleninhalte in alle namensgleichen Komponenten der Struktur V[customerinfo] übertragen.

Format ReadRow V[strname] table=V[tabname] index=k
ReadRow V[strname] table=V[tabname] key=keystring
ReadRow V[strname] table=V[tabname] match=V[strmatch]
Erläuterung index=
  • Falls der angegebene Index kleiner als 1 oder grösser als
    V[tabname.rowcount] ist, bleibt die Strukturvariable unverändert. Mit
    if Q[ok]
    kann man abfragen, ob der Index im Bereich zwischen 1 und V[tabname.rowcount] lag.
  • Die Sturkturvariable und die Tabellenvariable können unterschiedlich strukturiert sein. Die Übertragung der Werte erfolgt für alle namensgleichen Komponenten, alle anderen Komponenten der Struktur bleiben unverändert.
Erläuterung key=
  • Es wird die erste Zeile der Tabelle gesucht, in der die erste Spalte mit dem angegebenen Schlüsselwert übereinstimmt. Falls keine passende Zeile gefunden wurde,  bleibt die Strukturvariable unverändert. Mit
    if Q[ok]
    kann man abfragen, ob eine Zeile gefunden wurde.
  • Die Strukturvariable und die Tabellenvariable können unterschiedlich strukturiert sein. Die Übertragung der Werte erfolgt für alle namensgleichen Komponenten, alle anderen Komponenten der Struktur bleiben unverändert.
  • Zusatzoptionen: siehe unten

Beispiel:

ReadRow V[customerinfo] table=V[customers] key="&V[customernumber]"

Erläuterung match=
  • Angabe einer weiteren Struktvariablen. Es wird die Zeile der Tabelle gesucht, die in allen namensgleichen Komponenten mit der angegebenen Suchstruktur übereinstimmt.  Falls keine passende Zeile gefunden wurde,  bleibt die Strukturvariable unverändert. Mit
    if Q[ok]
    kann man abfragen, ob eine Zeile gefunden wurde.
  • Sowohl die Zielstruktur als auch die Suchstruktur können unterschiedlich zur Struktur der Tabellenvariablen sein. Es werden nur die namensgleichen Komponenten verglichen, und die Übertragung der Werte erfolgt für alle namensgleichen Komponenten, alle anderen Komponenten der Zielstruktur bleiben unverändert.
  • Zusatzoptionen: siehe unten

Beispiel:

ReadRow V[customerinfo] table=V[customers] match=V[customersearch]

Zusatzoptionen bei
key= und match=
-ignoreCase Alle Vergleiche bei key= und match= ignorieren die Gross-/Kleinschreibung
 
fromIndex= Die Suche beginnt bei dem angegebenen Zeilenindex.
toIndex= Die Suche endet bei dem angegebenen Zeilenindex. 
returnindex= Angabe eines Variablennamens "varname". Die Nummer der gefundenen Zeile wird nach V[varname] gestellt.
Falls kein Eintrag gefunden wurde, wird der Wert -1 nach V[varname] gestellt.

In Verbindung mit fromIndex= kann man damit sukzessiv alle passenden Einträge der Tabelle ermitteln.
 
Zusatzoptionen bei
 match=
-regex Die Vergleiche bei match= intepretieren die in der Suchstruktur angegebenen Werte als reguläre Ausdrücke. Es wird nach einer Tabellenzeile gesucht, die in allen namensgleichen Komponenten zu dem jeweiligen regulären Ausdruck passt. Beispiele finde Sie in Table row selection based on a regular expression
 
Komponente GuiXT + InputAssistant