vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Dateisystem29.07.01
WritePrivateProfileString-Funktion

Diese Funktion schreibt einen Wert in eine (INI-)Datei oder löscht bestimmte Abschnitt der (INI-)Datei.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  24.974 

Deklaration:

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

Beschreibung:
Diese Funktion schreibt einen Wert in eine (INI-)Datei oder löscht bestimmte Abschnitt der (INI-)Datei. Die (INI-)Datei wird automatisch erstellt, sollte sie noch nicht existieren..

Parameter:
lpApplicationNameNamen des Abschnittes in der (INI-)Datei. Übergibt man hier ein "VBNullString"-Zeichen so werden alle Abschnitte der (INI-)Datei gelöscht!
lpKeyNameSchlüssel des Eintrags, dessen Wert gespeichert werden soll. Übergibt man hier ein "VBNullString"-Zeichen und existiert ein Abschnitt "lpApplicationName", so wird der gesamte Abschnitt aus der Datei gelöscht.
lpStringWert, der im Abschnitt unter dem angegebenen Schlüssel gespeichert werden soll. Übergibt man hier ein "VBNullString"-Zeichen so wird der Schlüssel aus dem Abschnitt der (INI-)Datei gelöscht.
lpFileNamePfadangabe der (INI-)Datei. Existiert diese Datei nicht, wird sie automatisch erstellt.

Rückgabewert:
War der Funktionsaufruf erfolgreich, so ist der Rückgabewert 1, andernfalls wird 0 als Rückgabewert zurückgeliefert.


Beispiel:

Private Declare Function GetPrivateProfileInt Lib "kernel32" _
  Alias "GetPrivateProfileIntA" ( _
  ByVal lpApplicationName As String, _
  ByVal lpKeyName As String, _
  ByVal nDefault As Long, _
  ByVal lpFileName As String) As Long
 
Private 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
 
Private 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
 
' Beispiel-Struktur in eine INI-Datei speichern
Private Type BspStruc
  BspName As String
  BspStrasse As String
  BspHausNr As String
  BspAlter As Long
  BspTel As String
End Type
 
Private PDaten As BspStruc
' Evtl. in der INI-Datei gespeicherte Daten auslesen
' Sind keine Werte gespeichert, (Unbekannt) zurückgeben
Private Sub Form_Load()
  Dim TmpRetStr As String * 1280
  Dim RetVal As Long
 
  With PDaten
    RetVal = GetPrivateProfileString("Persönliche Daten", "Name", _
      "Unbekannt" & vbNullChar, TmpRetStr, Len(TmpRetStr), _
      App.Path & "\Daten.ini")
    .BspName = Left$(TmpRetStr, RetVal)
 
    RetVal = GetPrivateProfileString("Persönliche Daten", "Straße", _
      "Unbekannt" & vbNullChar, TmpRetStr, Len(TmpRetStr), _
      App.Path & "\Daten.ini") 
    .BspStrasse = Left$(TmpRetStr, RetVal)
 
    RetVal = GetPrivateProfileString("Persönliche Daten", _
      "Haus Nummer", "Unbekannt" & vbNullChar, TmpRetStr, Len(TmpRetStr), _
      App.Path & "\Daten.ini") 
    .BspHausNr = Left$(TmpRetStr, RetVal)
 
    .BspAlter = GetPrivateProfileInt("Persönliche Daten", "Alter", 0, _
      App.Path & "\Daten.ini")
 
    RetVal = GetPrivateProfileString("Persönliche Daten", "Telefonnummer", _
      "Unbekannt" & vbNullChar, TmpRetStr, Len(TmpRetStr), _
      App.Path & "\Daten.ini") 
    .BspTel = Left$(TmpRetStr, RetVal)
  End With
End Sub
' Daten in INI-Datei speichern
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  With PDaten
    WritePrivateProfileString "Persönliche Daten", "Name", _
      .BspName, App.Path & "\Daten.ini"
    WritePrivateProfileString "Persönliche Daten", "Straße", _
      .BspStrasse, App.Path & "\Daten.ini"
    WritePrivateProfileString "Persönliche Daten", "Haus Nummer", _
      .BspHausNr, App.Path & "\Daten.ini"
    WritePrivateProfileString "Persönliche Daten", "Alter", _
      CStr(.BspAlter), App.Path & "\Daten.ini"
    WritePrivateProfileString "Persönliche Daten", "Telefonnummer", _
      .BspTel, App.Path & "\Daten.ini"
  End With
End Sub
' Daten ändern
Private Sub Command1_Click()
  Dim TmpStr As String
  With PDaten
    .BspName = InputBox("Geben Sie Ihren Name ein.", _
      "Namen eingeben", "Manfred") 
    .BspStrasse = InputBox("Geben Sie die Strasse ein.", _
      "Strasse eingeben", "Berliner Strasse")
    .BspHausNr = InputBox("Geben Sie die Hausnummer.", _
      "Hausnummer eingeben", "96b")
    TmpStr = InputBox("Geben Sie Ihr Alter ein.", _
      "Alter eingeben", "45") 
    If IsNumeric(TmpStr) = False Then
      .BspAlter = 0
    Else
      .BspAlter = TmpStr
    End If
    .BspTel = InputBox("Geben Sie Ihre Telefonnummer ein.", _
      "Telefonnummer eingeben", "555 - 667788")
  End With
End Sub
' Daten in MsgBox anzeigen
Private Sub Command2_Click()
  With PDaten
    MsgBox "Name: " & .BspName & vbCrLf & _
    "Straße: " & .BspStrasse & " " & .BspHausNr & vbCrLf & _
    "Alter: " & .BspAlter & vbCrLf & _
    "Telefon: " & .BspTel, vbOKOnly, "Hallo " & .BspName
  End With
End Sub

 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.