vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2015
 
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:  20.954 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise über 100,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 455,- EUR statt 569,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 18,70 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 58,70 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    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 20.954 mal aufgerufen.

    nach obenzurück
     
       

    Druckansicht Druckansicht Copyright ©2000-2015 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