Name
INPUT

Syntax
(kanal, datensatzID, feldID, ausdruck1[, ausdruck2, ...])

Aufklappen Wertebereiche
kanal: Ergebnis ist positiver Integerwert; (einzusetzen ist eine Variable wie ch1)
datensatzID: numerisch oder String
feldID: Integer>0
ausdruck1,...: numerisch oder String

Aufklappen Erläuterung
Mit dem INPUT-Befehl wird der Inhalt der Datenbank entsprechend der Position des Befehlswertes (datensatzID) und der angegebenen Spaltennummer (feldID) abgefragt. Wird ein Element an der angegebenen Stelle gefunden (d.h. ist in der ersten Spalte der entsprechende Befehlswert in einer bestimmten Zeile vorhanden), wird der oder werden die in der abgefragten Zeile vorhandenen Werte ausgelesen und aufgelistet.

kanal: Dieser String wird bereits beim OPEN-Befehl definiert und ist hier in gleicher Weise wieder einzusetzen (z.B. "ch1")
datensatzID: Dies ist der Befehlswert, dessen Zeichenfolge in einer Datenbankdatei in der ganz linken Spalte gesucht wird.
feldID: Dies ist die Spaltenzahl, von der an der gewählte Eintrag ausgegeben werden soll (kleinste Zahl : 1). Der Befehlswert steht immer an erster Stelle, erst danach wird mit der Zählung der Spaltenanzahl begonnen. Ist die Zahl z.B. 3, wird erst bei der 3. Spalte nach dem Befehlswert mit dem Auslesen begonnen.
ausdruck,...: dies sind die abzufragenden Variablen der Datenbank. Man kann einen einzigen Wert je Befehlswert bzw. Zeile abrufen oder mehrere aufeinander folgende.

Wie bei vielen GDL-Funktionen muss INPUT mit einer Dummy-Variablen aufgerufen werden (z.B. nr=INPUT...). nr gibt aber gleichzeitig die Anzahl der ausgelesenen Datenfelder je Zeile zurück.

Aufklappen Beispiel
Auslesen von Preisen aus einer externen Datei und Laden in das Bibliothekselement:

DIM sys[4][2]
sys[1][1]="30.1481.88"
sys[2][1]="30.1482.88"
sys[3][1]="30.1483.88"
sys[4][1]="30.1484.88"

ch=OPEN("DATA","wimo_preise.txt","MODE=RO,SEPARATOR=':', DIALOG")
FOR i=1 TO 4
searchfield=sys[i][1]
nr=INPUT(ch,searchfield,1,sys[i][2])
NEXT i
CLOSE ch


Zunächst wird ein Array erzeugt, in welchem in der ersten Ebene die Bestellnummern gespeichert werden.
Dann wird die Preisdatei geöffnet und es werden die Suchfelder mit dem Anfang "sys[i][1]" ausgelesen; der Inhalt in der entsprechenden Zeile wird in der zweiten Ebene des Arrays gespeichert.

Der Inhalt der Textdatei kann wie folgt aussehen und beliebige Kommentare enthalten:

Preistabelle für wimo_hochregal_35_09
Ganz links die Artikelnummer
Direkt dahinter OHNE Leerzeichen: 1 Doppelpunkt (zwingend)
Rechts der Einheitspreis in EURO : Trennung mit Punkt statt Komma

!!!! BITTE NUR DIE PREISE ÄNDERN !!!!!!!
!!!! BITTE PUNKT STATT KOMMA BEI PREISEN !!!!!!!

30.1481.88: 50.5
30.1482.88: 48.5
30.1483.88: 39.5
30.1484.88: 37.5



Aufklappen Besonderheiten
Beim Befehlswert datensatzID kommt es entgegen anderen Regeln bei GDL auf die exakte Schreibweise an:
"neues" ist nicht gleich "Neues". Hier muss also auf Groß- und Kleinschreibung geachtet werden.

Aufklappen Tipps und Tricks
Mit Hilfe der datensatzID und der feldID kann man quasi jedes beliebige Datenbankfeld ansteuern.
datensatzID ist immer die Zeile, genauer gesagt der 1. Wert einer Zeile.
feldID ist immer die Spalte, gezählt ab 1 hinter recordID.
datensatzID befindet sich demnach in der (feldID-)Spalte 0.
Wenn man einen bestimmten Wert angesteuert hat, kann man diesen einen Wert oder weitere Werte in Folge hinter diesem angesteuerten Wert ausgeben, je nach dem, wieviel var-Werte im INPUT-Befehl angegeben sind.

Aufklappen Referenzen
GDL Reference Guide 9.0 (INT) S.282
GDL-Handbuch 9.0 (DE) S.292
GDL Reference Guide 10.0 (INT) S.293
GDL-Handbuch 10.0 (DE) S.297

Aufklappen ArchiCAD
ab 8.0