.ifdef THS
.topic
.insert code

 Unit Profile
 

Die Unit Profile stellt fr DOS- und DPMI-Anwendungen eine Mglichkeit zum
Zugriff auf Initialisierungsdateien im Windows-Stil (*.INI) bereit. Der
Dateizugriff erfolgt durch einen speziell angepaten gepufferten Stream,
um optimale Geschwidigkeit zu erzielen. Der Zugriff auf die Eintrge
geschieht mittels Funktionen, die kompatibel zum Windows-API sind.

 Unit Profile: Funktionen und Prozeduren
 Copyright und Nutzungsbestimmungen     


 Unit Profile: Funktionen und Prozeduren
 

 GetPrivateProfileInt     
 GetPrivateProfileString  
 WritePrivateProfileString

 Verweis:  Unit Profile

 GetPrivateProfileInt          (Unit Profile)
 
 function GetPrivateProfileInt(ApplicationName, KeyName: PChar;
   Default: Integer; FileName: PChar): Word;

Die Funktion GetPrivateProfileInt liefert den Integer-Wert eines
angegebenen Eintrags der bezeichneten Initialisierungsdatei.

 Parameter         Beschreibung
 
 ApplicationName   Zeigt auf einen nullterminierten String, der den
                   Namen eines Abschnitts der Initialisierungsdatei enthlt.
 KeyName           Zeigt auf den nullterminierten String, der den Namen
                   eines Eintrags enthlt, dessen Wert zu ermitteln ist.
 Default           Gibt den voreingestellten Wert, der zurckgegeben werden
                   soll, wenn der gesuchte Eintrag nicht in der
                   Initialisierungsdatei gefunden werden kann. Dieser Wert
                   mu ein positiver Integer-Wert im Bereich von 0 bis
                   32,767 sein.
 Filename          Zeigt auf einen String, der die Initialisierungsdatei
                   bezeichnet.

Rckgabewert:

Die Funktion gibt den Integer-Wert des gesuchten Eintrags zurck, wenn die
Funktion erfolgreich ausgefhrt wurde. Wird der Eintrag nicht gefunden,
gibt die Funktion den Wert des Default-Parameters zurck. Der Rckgabewert
ist 0, wenn der zum angegebenen Schlsselnamen gehrige Wert kein
Integer-Wert ist.

Hinweis:

Besteht der Wert, der zum Eintrag gehrt, aus Ziffern, auf die
nichtnumerische Zeichen folgen, gibt die Funktion den Wert der Ziffern
zurck. Wenn zum Beispiel auf den Eintrag "Eintrag=102abc" zugegriffen
wird, gibt die Funktion 102 zurck.

Die Funktion GetPrivateProfileInt ignoriert die Schreibweise, so da die
Strings in ApplicationName und KeyName aus einer beliebigen Kombination
von groen und kleinen Buchstaben bestehen knnen.

GetPrivateProfileInt untersttzt keine hexadezimale C-Notation.

Siehe auch:

 GetPrivateProfileString           
 Aufbau von Initialisierungsdateien


 GetPrivateProfileString       (Unit Profile)
 
 function GetPrivateProfileString(ApplicationName, KeyName: PChar;
   Default: PChar; ReturnedString: PChar; Size: Integer;
   FileName: PChar): Integer;

Die Funktion GetPrivateProfileString ermittelt eine Zeichenkette aus dem
angegebenen Abschnitt innerhalb der angegebenen Initialisierungsdatei.

 Parameter         Beschreibung
 
 ApplicationName   Zeigt auf einen nullterminierten String, der den
                   Abschnitt angibt, in welcher sich der Eintrag befindet.
 KeyName           Zeigt auf den nullterminierten String, der den Eintrag
                   enthlt, dessen zugehriger String ermittelt werden soll.
 Default           Zeigt auf einen nullterminierten String, der den
                   Standardwert des gewnschten Eintrags bestimmt, falls
                   dieser Eintrag in der Initialisierungsdatei nicht
                   gefunden werden kann. Dieser Parameter darf nicht NIL
                   sein.
 ReturnedString    Zeigt auf den Puffer, in dem die Zeichenkette abgelegt
                   werden soll.
 Size              Gibt die Gre (in Bytes) des im Parameter ReturnedString
                   angegebenen Puffers an.
 Filename          Zeigt auf einen nullterminierten String, der die
                   Initialisierungsdatei benennt.

Rckgabewert:

Der Rckgabewert gibt die Anzahl der in den angegebenen Puffer kopierten
Bytes an. Die abschlieenden Nullzeichen werden dabei nicht bercksichtigt.

Hinweis:

Diese Funktion sucht in dem angegebenen Abschnitt der Initialisierungsdatei
nach einem Eintrag des Namens, der durch den Parameter KeyName angegeben
wurde. Wird der Eintrag gefunden, wird der zugehrige String in den Puffer
kopiert. Wenn der Eintrag nicht vorhanden ist, dann wird der Standardstring,
der vom Parameter Default angegeben ist, in den Puffer kopiert.

Ist KeyName NIL, dann kopiert die Funktion GetPrivateProfileString alle
Namen der Eintrge des angegebenen Abschnitts in den bereitgestellten Puffer.
Jeder dieser Namen ist nullterminiert. Der Puffer wird mit einem weiteren
NUL-Zeichen abgeschlossen.

Wenn der mit KeyName verbundene String zwischen einfachen oder doppelten
Anfhrungszeichen steht, werden diese Zeichen bei der Rckgabe durch
GetPrivateProfileString entfernt.

GetPrivateProfileString bercksichtigt Gro- und Kleinschreibung nicht, so
da die Strings in ApplicationName und KeyName aus einer beliebigen
Kombination von groen und kleinen Buchstaben bestehen knnen.

Der Parameter Default mu selbst dann auf einen gltigen String zeigen,
wenn dieser String leer ist (erstes Zeichen ist 0).

Siehe auch:

 WritePrivateProfileString         
 Aufbau von Initialisierungsdateien


 WritePrivateProfileString     (Unit Profile)
 
 function WritePrivateProfileString(ApplicationName, KeyName, Str,
   FileName: PChar): Boolean;

Die Funktion WritePrivateProfileString kopiert einen Zeichen-String in den
angegebenen Abschnitt einer Initialisierungsdatei.

 Parameter         Beschreibung
 
 ApplicationName   Zeigt auf den null-terminierten String, der den Abschnitt
                   angibt, in den der String kopiert werden soll. Existiert
                   dieser Bereich nicht, wird er neu angelegt. Der Name des
                   Bereichs kann aus einer beliebigen Kombination von Gro-
                   und Kleinbuchstaben bestehen. Die Schreibweise wird
                   ignoriert.
 KeyName           Zeigt auf einen nullterminierten String, der den Namen
                   des Eintrags enthlt, der unter dem Programmkopf der
                   Anwendung in der Initialisierungsdatei erscheint. Der
                   Parameter KeyName ist NIL, wenn der gesamte Abschnitt,
                   der im Parameter ApplicationName angegeben wurde,
                   zusammen mit allen Eintrgen gelscht werden soll.
 Str               Zeigt auf den nullterminierten String, der den neuen Wert
                   des Eintrags enthlt, oder ist NIL, wenn der Eintrag, der
                   im Parameter KeyName angegeben wurde, gelscht werden
                   soll.
 Filename          Zeigt auf einen nullterminierten String, der die
                   Initialisierungsdatei bezeichnet. Wenn keine Datei dieses
                   Namens existiert, so wird sie neu angelegt.

Rckgabewert:

Der Rckgabewert ist TRUE, wenn die Funktion erfolgreich ausgefhrt
wurde. Andernfalls ist er FALSE.

Hinweis:

Um die Ausfhrungsgeschwindigkeit der Funktionen zu erhhen, hlt die
Unit Profile die letzte Initialisierungsdatei, die mit einer der Funktionen
verwendet wurde, geffnet. Damit die Datei geschlossen wird, rufen Sie
WritePrivateProfileString auf und bergeben an die vier Parameter jeweils
NIL.

Siehe auch:

 Aufbau von Initialisierungsdateien


 Aufbau von Initialisierungsdateien
 

Initialisierungsdateien im Windows-Stil sind Textdateien, die zeilenweise
aufgebaut sind. Sie bestehen aus mehreren Abschnitten:

 [Abschnitt 1]
      :
      :
 [Abschnitt 2]
      :
      :
      :
 [Letzter Abschnitt]
      :
      :

In jedem dieser Abschnitte befinden sich Eintrge der folgenden Gestalt:

 Eintrag1=1000
 Eintrag2=nein
      :
 Letzter Eintrag=Beispiel

Links vom Gleichheitszeichen befindet sich das Schlsselwort. Dieses
bezeichnet einen Eintrag. Indem Sie sich auf dieses Schlsselwort beziehen,
knnen Sie den Wert des Eintrags bestimmen oder verndern. Dieser Wert
steht rechts vom Gleichheitszeichen und ist entweder eine ganze Zahl oder
ein String.

Siehe auch:

 Unit Profile


 Urheberrechtserklrung und allgemeine
 Nutzungsbestimmungen
 

Die Gesamtheit der Dateien des Softwareproduktes wird im
folgenden als "Software" bezeichnet.

 Urheberrecht (Copyright)

 Die "Software" ist weder "Public Domain",
 noch ist sie "Freeware". Sie ist urheber-
 rechtlich geschtzt durch bundesdeutsches
 und internationales Recht.

 Copyright (C) 1993, 1994 Matthias Kppe,
 Erzbergerstrae 12, D-39104 Magdeburg.
 Alle Rechte vorbehalten.

Durch die Verwendung der "Software" erkennen Sie die allgemeinen
Nutzungsbestimmungen an. Diese finden Sie in der Datei SOFTWARE.TXT.
Sollten Sie eine unvollstndige Kopie der "Software" haben, wenden Sie
sich an folgende Adresse:

 Matthias Kppe
 MKM Gesellschaft fr Softwareentwicklung
 Erzbergerstrae 12
 D-39104 Magdeburg

 Tel/Fax  +49 391 30128
 CIS      [100331,174]


.end-code
.end-topic
.endif
