Search  

   

Latest News  

Problemstellung:Wenn man Etiketten drucken will steht man oft vor einigen Problemen.1. Man möchte nur ein paar Etiketten drucken und beim nächsten Druck braucht man wieder   ein neues Blatt weil freie...
   

Latest Forumposts  

  • Keine Beiträge vorhanden
   

Kommentare  

Tut mir leid Hella, ich kann Dir nicht folgen? 13.04.2017 - 14.04.2017 ergibt bei mir 1 13.04.2017 -...
Gast - Hella
Hallo, Berechne wie folgt, ob "zu früh" oder "zu spät" Rückmeldet. Früher sollte auch mit negativer ...
Gast - Hella
Hallo, mit negativen Werten meine ich z.B. -5 Tage (ohne Wochenende) u.ä. Zur Zeit wird nur die 0 au...
Hallo Hella, wie negative Werte? Kannst Du es erläutern was Du machen willst? Gruß Tommy
Gast - Hella
Hallo, ich bräuchte auch negative Werte bei der Anzahl, wie kann man das realisieren? Liebe Grüße He...
   

Counter  

1113836
HeuteHeute567
GesternGestern1041
Diese WocheDiese Woche567
Dieser MonatDieser Monat22048
GesamtGesamt1113836
Highest 07.12.2017 : 1250
US
UNITED STATES
US

This page uses the IP-to-Country Database provided by WebHosting.Info (http://www.webhosting.info), available from http://ip-to-country.webhosting.info

   

Download Statistik  

Diese Site enthält 187 Downloads in 30 Kategorien. Gesamtdownloads bisher: 234281
   
Free live stats and visitor counter for Joomla, Wordpress, Drupal, Magento and Prestashop
   

Login

   

User Online

Total: 68 Members: 0 Guests: 68
No members online
   

Beiträge

Arbeiten mit INI-Dateien

Bewertung:  / 7
SchwachSuper 
Details

Problemstellung:
Im Zeitalter überquellender Registrydateien ist es manchmal sinnvoll Optionen oder sonstige
Programmeinstellungen in einer INI-Datei zu speichern und von dort wieder einzulesen.
Aber wie geht das?

Voraussetzungen:
Das Bsp ist unter A00-A07 lauffähig

unter A07 muss sich Bsp-DB in einen „Vertrauenswürdigen Standort“ befinden

 

Funktionsweise:
Eigentlich sind nur 2 API-Funktionen erforderlich.

1. Zum Lesen von INI- Einträgen:

Public Declare Function GetPrivateProfileString Lib _
  "KERNEL32" Alias "GetPrivateProfileStringA" _
  (ByVal lpApplicationName As String, _
  ByVal lpKeyName As Any, ByVal lpDefault As String, _
  ByVal lpReturnedString As String, ByVal nSize As Long, _
  ByVal lpFileName As String) As Long

Funktions Parameter:

lpApplicationName
Erwartet den Namen einer Sektion in einer Ini-Datei. Übergibt man hier ein "VBNullString"-Zeichen
so liefert die Funktion die Namen aller Sektionen.

lpKeyName
Erwartet einen Schlüssel dessen Eintrag gelesen werden soll. Übergibt man hier ein "VBNullString"-Zeichen und ist
"lpApplicationName" mit einer gültigen Sektion gefüllt so erhält man alle Schlüssel in der entsprechenden Sektion.

lpDefault
Erwartet eine Standardwert der Ausgegeben wird wenn die Ini-Datei, die Sektion oder der Schlüssel nicht Existiert.

lpReturnedString
Erwartete einen Puffer gefüllt mit Leerstellen der groß genug ist um die gefunden Daten zu Empfangen

nSize
Erwartet die Größe des Puffers in Bytes.

lpFileName
Erwartet die Pfadangabe zu der Existierenden Ini-Datei die ausgelesen werden soll.

Hilfsfunktion:

Public Function GetIniString(ByVal Sektion As String, _
                          ByVal Titel As String, ByVal Vorgabe As String, _
                          ByVal INIFile As String, _
                          Optional ByVal nSize As Long = 256) As String
  Dim sValue As String
  Dim lResult As Long
  sValue = Space$(nSize)
  lResult = GetPrivateProfileString(Sektion, Titel, _
                  Vorgabe, sValue, nSize, INIFile)
  GetIniString = Left$(sValue, lResult)
End Function

2. Zum Schreiben und Löschen von INI-Einträgen:

Public Declare Function WritePrivateProfileString Lib _
  "KERNEL32" Alias "WritePrivateProfileStringA" _
  (ByVal lpApplicationName As String, _
  ByVal lpKeyName As Any, ByVal lpString As Any, _
  ByVal lpFileName As String) As Long

 

Funktions Parameter:

lpApplicationName
Erwartet den Namen einer Sektion in einer Ini-Datei. Existiert dieser Bereits so wird der Schlüssel und der Wert in
dieser Sektion angelegt, andernfalls wird dieser erstellt. Übergibt man hier ein "VBNullString"-Zeichen so
löscht die Funktion alle Sektionen der Ini-Datei.

lpKeyName
Erwartet einen Schlüssel dessen Eintrag gelesen werden soll. Ist dieser schon vorhanden so wird der Wert dieses Schlüssels überschrieben.
Übergibt man hier ein "VBNullString"-Zeichen und ist "lpApplicationName" mit einer gültigen Sektion gefüllt so wird die
gesamte Sektion aus der Datei gelöscht.

lpString
Erwartet den Wert der in der Sektion unter dem Angegebenen Schlüssel gespeichert werden soll. Übergibt man hier ein
"VBNullString"-Zeichen so wird der Schlüssel aus der Ini-Datei gelöscht.

lpFileName
Erwartet eine Pfadangabe zu einer Ini-Datei. Existiert diese noch nicht so wird sie erstellt. Andernfalls können wohlmöglich Sektionen,
Schlüssel oder werte überschrieben werden.

Praktische Anwendung:

Der Rückgabewert ist immer ein String.
Soll es ein Zahl oder ein Datum sein muss dieser mit Typumwandlungsfunktionen wie CInt, CLng, CDate o.ä. umgewandelt werden.


Lesen eines INI-Eintrages:
INI-Datei befindet sich im Verzeichnis C:\Test und heißt „test.ini“
Aus der Section „General“ soll der Schlüssel „SavePath“ gelesen werden
Dim sPath As String
sPath = GetIniString("General", "SavePath", "", "C:\Test\test.ini")


Löschen eines INI-Schlüssels:
INI-Datei befindet sich im Verzeichnis C:\Test und heißt „test.ini“
Aus der Section „General“ soll der Schlüssel „SavePath“ gelöscht werden
WritePrivateProfileString  "General", "SavePath", vbNullString, "C:\Test\test.ini"

Löschen einer INI-Section:
INI-Datei befindet sich im Verzeichnis C:\Test und heißt „test.ini“
Die  Section  „General“ soll gelöscht werden
WritePrivateProfileString  "General", vbNullString, "",  "C:\Test\test.ini"

Erstellen einer INI-Section mit Schlüssel und Wert:
INI-Datei befindet sich im Verzeichnis C:\Test und heißt „test.ini“
Es soll die Section „GeneralPathAtt“ mit dem Schlüssel „AutoOpen“ und dem Wert „1“ erstellt werden
WritePrivateProfileString  "GeneralPathAtt", "AutoOpen", "1",  "C:\Test\test.ini"

Erstellen eines INI-Schlüssels und Wert in einer bestehenden Section:
INI-Datei befindet sich im Verzeichnis C:\Test und heißt „test.ini“
Es soll der Schlüssel „PathAtt“ und dem Wert „F:\Eigene Dateien\Access\Access 2007“ in der Section „GeneralPathAtt“ erstellt werden
WritePrivateProfileString  "GeneralPathAtt", "PathAtt", "F:\Eigene Dateien\Access\Access 2007",  "C:\Test\test.ini"

Ändern eines bestehenden Wertes:
INI-Datei befindet sich im Verzeichnis C:\Test und heißt „test.ini“
Es soll der Schlüssel „PathAtt“ und dem Wert „F:\Eigene Dateien\Access\Access 2007“ in der Section „GeneralPathAtt“ geändert werden.
Neuer Wert „F:\Test\Access\Access 2007“
WritePrivateProfileString  "GeneralPathAtt", "PathAtt", "F:\Test\Access\Access 2007",  "C:\Test\test.ini"

In der Bsp-DB werden noch weitere Möglichkeiten gezeigt.
z.B.: Speichern von Formularpositionen oder Skins für das Formularlayout

Dateien:
Arbeiten mit INI-Dateien

Arbeiten mit INI-Dateien
für A00-A07

Die Zip-Datei enthält eine Version ab A00

Datum 05.01.2008 Dateigröße 55.73 KB Download 1446

Einen Kommentar verfassen

Als Gast kommentieren

0 / 300 Zeichen Beschränkung
Dein Text sollte zwischen 10-300 Zeichen lang sein
Nutzungsbedingungen.
  • Keine Kommentare gefunden