aresqa name (ab V25)
Aresqa name
Die Datei name öffnen und in einem aresqa-Listenfenster anzeigen. Darin kann man in der Datei blättern und suchen, aber auch bearbeiten und dann wieder speichern.
Erforderlich zum Bearbeiten ist mindestens access=5 in der INI.
Mit A statt a entfällt aber die Bearbeitung, ebenfalls in alcarta.
Die Überschrift des Fensters kann man mit einem unmittelbar vorher gegebenen Befehl
set aüberschrift
setzen. Die Überschrift muß für jedes aresqa-Fenster jedesmal neu gesetzt werden!
`Kurzbeschreibung mit Beispielen`
Entstanden ist diese Funktion im Zusammenhang mit den `aresqa`-Tabellendateien. Anwendbar ist sie aber auf so gut wie alle Textdateien, egal ob im DOS- oder Windows-Code.
Manche Funktionen des aresqa-Fensters sind ähnlich denen des `View-Fensters`, doch ist seine Größe veränderbar.
Wenn name fehlt, wird der Inhalt der iV genommen. Hat man vorher geschrieben
var Fname
so ist dies gleichwertig mit der Normalform, weil dann der Inhalt der Datei in der iV steht.
Will man in der iV den Dateinamen vorgeben (und nicht den Listentext selbst), muß man schreiben:
var "*name" oder var "*" #udn (Dateiname in #udn)
aresqa
Dies wäre ebenfalls gleichwertig mit der Normalform.
Wenn die Datei nicht existiert, ist das Listenfenster leer.
Tip: So kann man von Hand eine neue Liste anlegen! Mit dem Button [Add] kommt man in eine Abfrageschleife, in der man Zeile für Zeile eingeben kann.
Wird die aresqa-Liste mit dem [OK]-Button verlassen, steht danach die zuletzt gewählte Zeile in der iV .
Mit if "" ... kann man daher checken, ob [Esc] gedrückt (d.h. nichts ausgewählt) wurde.
Das Programm prüft selbst, ob die Datei im DOS-Code oder im Windows-Code ist. In Zweifelsfällen wird nachgefragt. Sind es weniger als 20 Zeilen, wird angenommen, daß es Windows-Code ist!
Will man es ausdrücklich vorgeben, muß der Name mit ?0 bzw. ?1 beginnen für DOS bzw. Windows, z.B.
aresqa ?0d-wrtf.apr oder aresqa ?1uifeger
(Diese beiden werden jedoch sonst korrekt erkannt, d.h. aresqa *d-wrtf.apr und are *uifeger klappen auch korrekt.)
Wenn die aresqa-Liste erschienen ist, bringt F1 Hilfe! (Es erscheint die Datei ha_ar)
Achtung: Der Button [Save] speichert immer in die Datei aresqa.lst, nicht in die Ausgangsdatei! Wenn man das will, muß man es im FLEX selber durchführen, d.h. die Ausgangsdatei löschen und aresqa.lst umbenennen. Siehe Beispiel.
Tip: Mit Formulierungen wie fsize name\if no ... kann man nach dem aresqa-Befehl prüfen, ob eine Speicherung erfolgt ist!
Sonderfunktionen:
1.Ein Button mit der Aufschrift x erlaubt es, die Codierung beim Speichern umzukehren. Also kann man eine DOS-Datei laden, dann x drücken und mit Windows-Code wieder speichern oder umgekehrt.
2. Wenn die geladene Datei eine `ViewListe` ist, wird beim Abspeichern die Länge jeder Zeile auf die Anzahl Zeichen der längsten Zeile durch Anhängen von Leerzeichen ergänzt.
3. Eine Listenzeile, die mit inummer beginnt, bewirkt das sofortige Laden und Anzeigen des Satzes mit der betr. internen Nummer. Ebenso eine Zeile, die mit einer Zahl beginnt auf die ein | folgt (ViewListe).
4. Eine Zeile, die mit "h " beginnt und in der ein | vorkommt, wirkt wie bei einer ViewListe: der Name hinter h wird als Hilfe-Dateiname genommen und die betr. Datei angezeigt.
5. Wegen der komfortablen Bearbeitungsfunktionen kann man das aresqa-Fensterm durchaus auch als Datei-Editor benutzen, z.B. auch für Parameterdateien usw.
6. Wenn man Aresqa verwendet und nur bis zu 20 Zeilen hat, wird das Fenster automatisch der Zeilenzahl angepaßt. Das kann man nutzen, um eigene Auswahlmenüs auf einfachste Weise anzubieten. Siehe unten Beispiel 2. Dies ist eine Alternative zum Befehl `select`
Hinweise:
Die Bearbeitungsfunktionen gibt es nur, wenn man mindestens Berechtigung 5 hat. Sonst ist auch der Hilfetext kürzer (ha_ar0).
aresqa ist schnell mit Dateien unterhalb 256K. Größere gehen auch, die Sache wird dann aber langsam. In der Hinsicht sind ViewListen besser. Die Zeilenlänge spielt, anders als bei den ViewListen, keine Rolle. Die maximale Zeilenlänge ist allerdings 4000 Zeichen.
Beispiel 1: In #udn steht der Name einer Datei. Diese soll im aresqa-Fenster angeboten werden. Nach Verlassen des Fensters soll sie, falls Änderungen gemacht wurden, überschrieben werden durch die neue Version, aber nicht ohne Nachfrage. Das geht am einfachsten so:
var "*" #udn
Datei anzeigen und abwarten:
aresqa
Fenster wurde geschlossen. Ist aresqa.lst entstanden? Dann ist das die neue Version der Datei
fsize aresqa.lst
if no end
Aha, Datei existiert. Dann fragen und bei Ja kopieren:
yesno Datei wurde gespeichert. Original durch neue Version ersetzen?
if not yes end
Antwort war Ja, dann Kopierbefehl:
var "aresqa.lst " #udn
fcopy
Beispiel 2: Man will ein kleines Menü mit einer Anzahl Zeilen anbieten. Die Auswahl des Nutzers soll anschließend verwertet werden. Dazu baut man zuerst die Liste der Auswahlzeilen auf und läßt sie dann im aresqa-Fenster anzeigen. Die Menüzeilen sind schlicht beliebige Textzeilen, getrennt durch den Code n, also "neue Zeile". So sieht das dann aus:
Auswahlmenü anzeigen und abwarten: `TEST`
var "1. abc" n "2. def" n "3. ghi" n "4. jkl"
Aresqa
Wurde was gewählt, und wenn ja, was: (if "" bedeutet: es wurde Esc gedrückt, also nichts gewählt)
if "" end
if "1. " jump eins
if "2. " jump zwei
...
Weitere Beispiele
findet man in den Dateien
onf8.flx : Wird bei Druck auf F8 ausgelöst.
dirlist.flx : Erstellt eine Liste von Dateien eines ausgewählten Typs
?Register=h xa
?aresqa=h aresqa
?Kurzbeschreibung mit Beispielen=h aq
?ViewListe=h viewlist
?select=h xselect
?TEST=x var "1. abc" n "2. def" n "3. ghi" n "4. jkl"`Aresqa`mes
?View-Fensters=h xview