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 |