Trick 17: Suche in einer Textdatei
Aufgabe: Schnell mal eben aus irgendeiner Textdatei (Parameter,
CFG oder was immer) eine bestimmte Angabe rausfischen, per FLEX.
Jemand warf z.B. die Frage auf, ob man irgendeine Einstellung, die in
der INI-Datei steht, im Programm abfragen könne.
Manche der Werte sind ja als Sondervariablen zugänglich, andere
aber nicht, so z.B. die Angabe NewMode oder PageSize.
Was tun?
Dazu genügt ein FLEX-Einzeiler, und der sieht so aus:
x var Fa99.ini\var (b"~newmode=" e"^M" e" ")
???
Mit Var Fa99.ini holt man die gesamte Datei a99.ini
in die iV.
Mit var (b"~newmode=" wird die iV auf das
beschränkt, was hinter
der Zeichenkette NewMode= steht, das ~ bewirkt, daß
Groß/klein dabei
nicht relevant ist.
Und e"^M" schneidet am Zeilenende und am nächsten Leerzeichen
ab, denn
man will ja nur die Angabe hinter dem = haben, nicht den ganzen Rest
der Datei. (die Zeichen ^ und M gibt man einzeln ein, nicht Strg+M)
Wer noch weiß, daß FLEX von "flexibel" kommt, den
wundert sowas
nicht... Und auf INI begrenzt ist es klarerweise auch nicht,
denn hinter dem F darf irgendein Dateiname stehen. Nur nicht
größer als 256 K darf sie sein.
ZusatzTip: Mit sho IV kann man das Ergebnis im Anzeigefeld sehen.