Der Befehl "CFI\..."
liest entweder eine komplette Sektion oder den Wert (Zeichenfolge) aus, der einem Eintrag in einer Ini-Datei zugeordnet ist.
Wenn Sie einen einzelnen Wert
lesen wollen, müssen sowohl die Ini-Datei mit
vollständigem Pfad als auch die Sektion, in welcher der Eintrag zu suchen ist,
und die Bezeichnung (der Name) des Eintrags angegeben werden nach folgendem
Schema:
CFI\Dateipfad|Sektion|Eintragsname
Die einzelnen Terms sind durch "|" (Senkrechtstrich) voneinander zu trennen
wie im folgenden Beispiel dargestellt:
CFI\e:\test\test.ini|Testsektion|Testeintrag
Der ausgelesene Wert (Zeichenfolge) wird wie bei "CFF\..." entweder in die
Variablen "TempText" und "$v1$" übertragen oder bei Angabe von ">" und
einem Variablennamen direkt an eine Variable übergeben:
CFI\e:\test\test.ini|Testsektion|Testeintrag>$$tst
Wenn im Werteteil des Ini-Eintrags ein ";"
(Semikolon) enthalten ist, wird nur
der Teil links von diesem zurückgegeben, verkürzt um evtl. vor dem Semikolon
eingebrachte Leerzeichen oder Tabulatoren.
Wenn Sie eine komplette Sektion lesen wollen,
geben sie im Datenteil nur den Dateipfad und den Sektionsnamen an, danach
ggf. einen Variablennamen zur
Aufnahme der Einträge (s.o.), und abschließend (ohne weiteren Trennstrich)
- das Zeichen "%" oder "#", wenn die Sektion als durch Zeilenschaltung getrennte
Einträge gespeichert werden soll, oder
- das Zeichen "&", wenn der gesamte
Inhalt als durch Nullzeichen (Chr$(0))
separierter String mit abschließendem Doppel-Nullzeichen gespeichert werden
soll. Letzteres ist erforderlich, wenn Sie die gelesene Sektion mittels "CTI\" in
eine andere Ini-Datei schreiben wollen.
Wenn in den einzelnen Einträgen Trennzeichen ("|")
vorkommen, müssen Sie
das Ergebnis zur Weiterverarbeitung einer benutzerdefinierten Variablen
("$$xyz") zuweisen:
CFI\?exepfad\remedit.ini|help>$$ini&
CTI\?exepfad\mytest.ini|Help|$$ini
@
Beim Lesen mit "%" am Ende werden
gleichzeitig alle Eintrage der Sektion in
einer Collection gespeichert, die den Namen der Sektion als Bezeichnung erhält.
Mit "FEC\" können Sie dann alle Einträge durchlaufen und weiter bearbeiten,
z.B.:
CFI\?exepfad\remedit.ini|help%
FEC\help|doit|$$col
@
:doit
DPM\$$col
TDL\500
@
Beachten Sie jedoch, daß Sie die Collection mit "CDL\..."
wieder löschen, wenn
sie nicht mehr benötigt wird (standardmäßig ist maximale Anzahl = zehn, es sei
denn, Sie hätten sie mittels "CSN\" erhöht).
In beiden Fällen wird die Anzahl der Einträge
in der Sektion in einer Variablen hinterlegt, auf die Sie mit "$v2$" zugreifen können.
Mit "GIS\" können Sie alle Sektionsnamen einer Ini-Datei ermitteln, deren Pfad
im Datenteil anzugeben ist. Als Ergebnis wird in einer Variablen, auf die Sie mit
"$v1$" zugreifen können, ein String hinterlegt, der die einzelnen Sektionsnamen
enthält, getrennt jeweils durch das "|"-Zeichen. Eine zweite Variable, auf die Sie
mit "$v2$" zugreifen können, enthält die Gesamtanzahl der Sektionen.
Der Befehl "GMT\" ist quasi eine
modifizierte Variante von "CFI\" und dient
ebenfalls dazu, einen Text aus einer Ini-Datei zu lesen. Es wird jedoch
vorausgesetzt, daß der Pfad zur Ini-Datei vorher in der Variablen "$$ini"
abgespeichert wurde. Weiterhin wird nach dem Lesen das Zeichen "*"
automatisch durch eine Zeilenschaltung ersetzt. Auf diese Weise lassen sich
bequem Anzeigetexte oder Meldungstexte in einer Textdatei unterbringen, ohne
die Remote-Dateien aufzublähen, und außerdem mehrsprachig gestalten.
Im Datenteil sind Sektion und Eintragsname des gewünschten Textes anzugeben,
getrennt durch einen Senkrechtstrich ("|"). Wenn Sie keine Sektion und keinen
Trennstrich angeben, wird vorausgesetzt, daß der Name der Sektion vorher in der Variablen "$$sec" gespeichert wurde.
Der gelesene Text wird in einer programminternen Variablen
hinterlegt, auf die
Sie mit der Zeichenfolge "$v1$" zugreifen können. Die Länge des Textes/der
Einträge ist auf 500 Zeichen begrenzt.
Beispiele:
VAR\$$ini=?exepfad\msg.ini
GMT\1031|1
MBX\$v1$|||1
@
'--------------------------
VAR\$$ini=?exepfad\msg.ini
GLI\
VAR\$$lid
IVV\$$lid=1031
VAR\$$sec=1031
ELSE
VAR\$$sec=9999
EVV\
GMT\1
MBX\$v1$|||1
@
In der Ini-Datei:
[1031]
1=Das ist eine*Test-Meldung!
;...
[9999]
1=This is a*test message!
;...
© 2006 by Delphin Software