`Register` 
	Achtung: In  acon  hat dieser Befehl bis auf Ausnahmen eine `andere Funktionsweise`. 

get #xyz    Bei acon nicht
get [iV]    acon:  nur  get
get +[iV]   acon:  nur  get +
Aus der mit `open` ... geöffneten Datei (z.B. auch Internetdatei!) wird eine Zeile gelesen (als Zeilenende gilt 13 10 oder nur 10) und in die Kategorie #xyz bzw. in die iV kopiert. Codes 13, 10 und 9 (TAB) am Ende der Zeile werden nicht mit übernommen. Wenn das  +  gesetzt ist, wird der gelesene Text an die iV angehängt. 
Mit `ascii` bzw. `ansi` kann man den Text in der `iV` umcodieren. 
Wenn also die Datei ANSI-Daten hat, man braucht aber ASCII:  
get iV\ascii\ins #uxy   statt nur   get #uxy. 
Mit `if cancel` ... kann man checken, ob die Datei zu Ende war (d.h. es konnte nichts mehr gelesen werden), 
mit if no ... ob sie gar nicht geöffnet ist (werden konnte), 
mit  if yes ... ob es geklappt hat.  
Siehe auch `fetch` : wenn eine bestimmte Anzahl Bytes gelesen werden soll statt einer Zeile, oder wenn bis zu einem bestimmten Endezeichen gelesen werden soll, etc. 

get I url  acon
Die  url  ist ein beliebiger Internetdateiname, der mit  http://  oder  ftp://  oder  file:///   beginnt. Es eignen sich jedoch nur simple Textdateien, keine .JPG, PDF, .DOC, .PPT, .XLS  usw. wegen der darin enthaltenen Steuerzeichen.  Dateien mit .html, .php, .py, .pl gehen, sofern sie reinen Text liefern, d.h. man erhält - wie im Browser -  den HTML-Datenstrom, den der Server übermittelt. 
Fehlt url, wird der Inhalt der iV genommen, d.h. man kann sich die url vorher mit  var  zusammenbasteln. Tut man das nicht, muß man sie in "..." einschließen, weil sonst bei der Zeichenfolge // abgeschnitten wird - sie markiert den Beginn eines Kommentars. Also: 
var "http://..." 
get I
Der Inhalt dieser Datei wird in die iV kopiert, eine zweite Kopie kommt in die iV2. Die letztere kann man später mit  var $  wieder in die normale iV holen, d.h. man muß keine benannte $-Variable dazu benutzen (diese sind auf  64K  begrenzt! Die Variable $ kann  4MB fassen). 
Die URL kann eine dynamische sein, d.h. z.B. eine mit  .php?...  oder  .pl?...  o.a. 
Mit if no ... kann man testen, ob die Datei zu lang war, um in die iV zu passen, d.h. länger als 4MB Zeichen. Ist das der Fall, kann man sich die Datei entweder mit dem Befehl  `open url`  holen und dann zeilen- oder blockweise lesen, oder sie mit `write Furl` holen und sofort in die momentan offene Exportdatei schreiben. Nur die Methode mit open ist gegen überlange Dateien sicher. 
Und wenn es die Datei nicht gibt? 
Beim Typ  file:///  ist es so, daß der FLEX an dieser Stelle ganz abbricht - wenn auch nicht ohne Fehlerhinweis. 
Bei  http://  und  ftp://  liefert der betr. Server immer einen output, in dem dann z.B. die Fehlermeldung 404 steht. 
Ob allerdings der Server gar nicht existiert oder nicht arbeitet oder keine Netzverbindung da ist, kann man abfangen mit der Prüfung  if cancel ... (Windows) bzw.  if "ERROR" ...  (Linux/UNIX). Siehe Beispiel 3. 
Hinweise: Mit  var ... Furl ...  kann man Dateiinhalte auch direkt in `cstrings` einbauen. Dabei gibt es jedoch keine Fehlerkontrolle.
Ausgenutzt wird dieser Befehl z.B. im FLEX  gf.flx,  mit dem man sich vom allegro-Server neue Dateiversionen holen kann. Beispiel:  X gf d-wrtf.apr .
Tip: Will man sich eine binäre Datei holen, z.B. eine Grafikdatei, geht das nur mit open ... und dann  fetch / write ^. 
Das Ergebnis wird außerdem noch in die zusätzliche interne Variable $ kopiert. Danach kann man mit  var $  diesen Inhalt immer wieder in die normale iV kopieren, um z.B. Werte daraus zu extrahieren. Das kann auch geschehen mit Befehlen wie  var $ (b"..." e"...")  oder  var $ (x"...")  im Fall von XML-Daten (Beschreibung siehe unter  `cstring`). 

get adr nnn
Die Adresse des Satzes mit der internen Nummer nnn wird ermittelt. 
Fehlt nnn , wird der iV-Inhalt genommen. 
In der iV steht anschließend 
dn / pos
wobei  dn  die Nummer der .ALD-Datei ist (1...255) und  pos  die Position innerhalb der Datei dn. 
(Ermittelt werden diese Zahlen durch Zugriff auf die TBL-Datei, nicht auf die Datendatei.) 
Sonderfälle: In der iV steht "too large" bei einer zu großen nnn, bzw. "no recnr" bei nnn=0 oder kleiner, bzw. "unused" bei unbesetzter Satznummer. 
Verwendung z.B. in dem FLEX  ald-chk.flx.

get env name    acon
Die Environment-Variable name wird in die iV kopiert. (Umgekehrt: --> `set env` ) 
Mit  if no ...  kann man checken, ob sie nicht existierte; die iV ist dann unverändert. 

get phr name
Die Phrasendatei name wird eingelesen. (Umgekehrt: --> `save phr` ) 
Die darin enthaltenen Phrasen werden zu den momentan existierenden ergänzt, wobei eine vorhandene durch die in name enthaltene gleichnamige ersetzt wird. 
Wenn name fehlt, wird der Inhalt der iV genommen. 

get pid     acon
Der "process identifier" (Prozess-Identifikationsnummer) des Programms wird in die iV geschrieben. Es handelt sich um eine eindeutige Nummer bezogen auf alle momentan im System laufenden Prozesse. Man kann sie nutzen, um im Falle mehrerer gleichzeitig laufender a99-Programme das eine vom anderen zu unterscheiden. Genutzt wird der pid auch vom `JanaS-Browser`.  
Hinweis: Mit  var ... pid ...  kann man die pid auch in einen cstring einbauen.

get q num
Im  `Offline-Speicher`  (Alt+q) auf den Satz mit der laufenden Nummer  num  positionieren und diesen anzeigen. 
Wenn  num  fehlt, wird der Inhalt der iV genommen, in die man also vorher die Nummer schreiben muß. 
Man erhält den aktuellen Zustand (also grün oder gelb, je nachdem), als ob man den Satz mittels Alt+q manuell aufgesucht hätte. 
Mit  if no ...  checkt man, ob das nicht geklappt hat (num zu klein oder zu groß)
Hinweise: 
A.  Mit  first off / last off  kann man auf den ersten bzw. letzten Offline-Satz positionieren.
B.  Von Hand kann man zum n-ten Offline-Satz gehen, indem man in der Suchbefehlszeile  %%n  gibt. 
C.  Zum Umgang mit dem Offline-Speicher: 
1. Die laufende Nummer des aktuellen Satzes in der Offline-Datei erhält man mit  var oq  
    (Die Nummer steht dann in der iV) 
2. Um den Satz mit der laufenden Nummer  num  aus der Offline-Datei zu laden:  get q num 
3. Um sich die lfd.Nr. des aktuellen Satzes in der Offline-Datei zu merken:  var oq\ins $nu 
4. Um den in $nu gemerkten Satz später wieder zu laden:  var $nu\get q

get view num 
Aus der momentanen Viewdatei wird die Zeile mit der Nummer  num  geholt. 
Mit  if no ... kann man checken, ob die Nummer zu groß war, mit if cancel ..., ob gar keine ViewListe geöffnet ist. 
Wenn  num  fehlt, wird der Inhalt der iV genommen, in die man also vorher die Nummer schreiben muß.
Hinweis: Mit  save view nummer   kann man den iV-Inhalt in die ViewListe zurückschreiben.

get x
get x+
Spezialfall : Gedacht für Parameterdateien. Aus der geöffneten Datei wird eine Zeile gelesen. An der Stelle, wo der Kommentar beginnt, wird die Zeichenfolge //-- eingefügt. Benutzt wird dies in  `hilite.flx`, um eine Parameterdatei mit Syntax-Highlighting darzustellen.   

Wenn hinter get nur #, adr, env, phr oder view steht, wird jeweils der Inhalt der iV hinzugenommen. 

Nur acon:	gleichwertig (auch bei acon!): 
get first	`first`  Ersten Satz der Erg.Menge laden
get next	`next`   nächsten ...
get prev	`prev`   vorigen ... 
get last	`last`   letzten ...

Ebenfalls nur in acon   gibt es noch folgende wichtige Besonderheit, z.B. für den Fall daß man Ergebnismengen zwecks Veränderungen durcharbeiten will: 

get edit ...  Satz laden und zugleich zum Bearbeiten reservieren (sperren)
			(edit  nicht nötig, wenn  `set getlock on`  gesetzt wurde) 

Statt " ... " muß eine der nachfolgend beschriebenen Optionen stehen: 

get first / last	Ersten / letzten Satz der Ergebnismenge laden 

get edit first / get edit last	dasselbe, aber den Satz zugleich sperren 

get next / prev	Nächsten / vorigen Satz der Ergebnismenge laden 
			ERROR, wenn Ende / Anfang überschritten wird. 
get edit next / get edit prev		Satz zugleich sprerren 

get edit nummer		Satz mit der laufenden nummer aus der aktuellen Ergebnismenge laden 

get edit inummer		Satz mit der internen nummer aus der Datenbank laden 

           ERROR wenn nummer<1 oder nummer>N  (N = Größe der Erg.menge) 

Die Option  edit  bewirkt zugleich, daß direkt nach dem Sperren intern die aktuellen Schlüssel des Satzes berechnet werden. Kommt später ein  put, ist das Programm dann in der Lage, korrekt die nicht mehr gültigen Schlüssel zu erkennen und zu löschen. Automatisch erfolgt in diesen Fällen aber auch dann die Freigabe, wenn ein Satz nicht gespeichert wird! Zurückgreifen kann man auch auf die neue Variable sL  (V32.4), mit der rman Aufschluß über das Ge- oder Mißlingen des Sperrens erhält. 

ERROR, wenn nr zu hoch oder Satz gelöscht, d.h. man kann mit  if no ...  den Mißerfolg erkennen und dann bei Bedarf mit  var sL  näheres dazu erfahren (s. Befehl `set lock`)

siehe auch:  `list internal, list recnum` 

Beispiel 1:
Die FLEX-Datei   `file.flx`   kann als Muster herangezogen werden, wie eine ASCII-Datei in einer Schleife zeilenweise eingelesen und wieder geschrieben werden kann. 

Beispiel 2:
Mit    `file-zer.flx`   wird eine Datei zeilenweise gelesen und die Zeilen je nach dem Anfangsbuchstaben in eigene Dateien geschrieben, d.h. die Datei wird zerlegt in Blöcke mit gleichem Anfangsbuchstaben. 

Beispiel 3:
Ein kleiner Web-Service soll genutzt werden, und zwar einer, der den Wechselkurs des US-Dollar liefert.

Windows:  Wir schreiben einen  doll.flx  und starten ihn mit  X doll     ( `Ausprobieren`  ) 

get Ihttp://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml 
  USD-Kurs herausziehen (entsprechend geht das mit anderen Waehrungen) 
var (b"currency='USD' rate='" e"'") 
ins $d 
eval 1 / $d 
ins $e 
var "1 USD = " $e " EUR" n "1 EUR = " $d " USD" 
mes

Linux/UNIX:  Wir schreiben einen Job  usd.job  und starten ihn mit der Kommandozeile  acon -jusd
get Ihttp://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml 
//  USD-Kurs herausziehen (entsprechend geht das mit anderen Waehrungen) 
var (b"currency='USD' rate='" e"'") 
ins $d 
eval 1 / $d 
ins $e 
wri "1 USD = " $e " EUR" n "1 EUR = " $d " USD" 

Tip: Statt "USD" kann man in der URL auch den Code einer anderen Währung angeben, z.B. "PLN", und erhält den Umrechnungsfaktor des Euro zu der betr. Währung. 
Alle bedeutenden Währungen sind abrufbar.

?file.flx=h file.flx 
?file-zer.flx=h file-zer.flx 
?open=h xopen 
?ascii=h xansi 
?ansi=h xansi 
?iv=h xiv 
?if cancel=h xif 
?fetch=h xfetch 
?Register=h xa 
?set env=h xset=set env 
?cstring=h xcstring 
?first=h xfirst 
?last=h xlast 
?next=h xnext 
?prev=h xprev 
?save phr=h xsave 
?hilite.flx=h hilite.flx 
?list internal, list recnum=h xlist 
?acon=h xget#47 
?andere Funktionsweise=h =in acon 
?cstrings=h xcstring 
?open url=h xopen=open url 
?JanaS-Browser=h xjanas 
?write Furl=h xwrite=write F 
?Ausprobieren=X doll 
?set lock=h xset=set lock 
?Offline-Speicher=h off 
?set getlock on=h xset=set getlock