vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v2.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2014
 
zurück
Rubrik: Dateisystem28.07.01
GetPrivateProfileString-Funktion

Liesst einen Stringwert (Text) aus einer (INI-)Datei und gibt diesen als Rückgabewert zurück.

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

Deklaration:

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

Beschreibung:
Liesst einen Stringwert (Text) aus einer (INI-)Datei und gibt diesen als Rückgabewert zurück.

Parameter:
lpApplicationNameNamen des Abschnittes in der (INI-)Datei. Übergibt man hier ein "VBNullString"-Zeichen so liefert die Funktion die Namen aller Sektionen.
lpKeyNameSchlüssel des zu lesenden Eintrags. Übergibt man hier ein "VBNullString"-Zeichen und existiert ein Abschnitt "lpApplicationName", so erhält man alle im Abschnitt gespeicherten Schlüssel.
nDefaultVorgabe-/Standardwert, der zurückgegeben werden soll, wenn kein Eintrag vorhanden ist.
lpReturnedStringPuffer, der den Rückgabewert enthält (muss mit ausreichend Leerstellen gefüllt sein)
nSizeGröße des Puffers in Bytes.
lpFileNamePfadangabe der (INI-)Datei

Rückgabewert:
Bei erfolgreichem Aufruf enthält der Rückgabewert die Länge des gelesenen Strings (Textes), andernfalls wird "0" zurückgegeben.


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

Diese Seite wurde bereits 17.944 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2014 vb@rchiv Dieter Otter
Alle 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel