vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Einstellungen und Variable speichern? 
Autor: Hannes H.
Datum: 04.06.06 14:21

Hallo

Ich nutze bis dato eine INI Datei um Zustände zu speichern.
Klappt ja auch ganz gut bis auf:
Arraylisten,Array´s,...

Da kann man ja nicht einfach den Wert hineinschreiben.

Auch muss ich bei einer Ini immer dahinter sein, wenn ich in einem Modul eine neue Variable setze.

Gibts eine Möglichkeit bei vs2003 alle Variablen in einem Modul zu speichern und zu laden? Also das selbstständig das Modul "Wetter" duchforstet wird und alle enthaltenden Variablen speichert.

Wenn nicht, wie würded ihr bei einer INI Arraylisten bzw. Arrays speichern? Eine Arraylist kann ja auch controls oder ähnliches enthalten. Wie speichert man sowas in eine Ini?

Den Ini Code denn ich hier gefunden habe und den ich nutze:
Public Class INIfile
#Region " INI "
    '
    Public datei As String
    Public Declare Function WritePrivateProfileString Lib "kernel32" Alias _
      "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal _
      lpKeyName As String, ByVal lpString As String, ByVal lpFileName As _
      String) As Integer
    Private Declare Function GetPrivateProfileString Lib "kernel32" Alias _
    "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal _
    lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As _
    String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
    '
    ' INI-Dateien lesen / schreiben (Declares)
    '
    ' Text (String) in INI-Datei schreiben
    Public Function IniWriteString(ByVal Sektion As String, ByVal Titel As _
      String, ByVal Inhalt As String) As Integer
        If Dir(datei, FileAttribute.Normal) = "" Then
            IniWriteMsgDoNotEdit(datei)
        End If
        IniWriteString = WritePrivateProfileString(Sektion, Titel, Inhalt, _
          datei)
    End Function
    '
    Public Sub IniWriteMsgDoNotEdit(ByVal Datei As String)
        Dim F As Short
        F = FreeFile()
        FileOpen(F, Datei, OpenMode.Output)
        PrintLine(F, ";")
        PrintLine(F, "; ###############################")
        PrintLine(F, "; #                             #")
        PrintLine(F, "; #  Do not work on this file!  #")
        PrintLine(F, "; #                             #")
        PrintLine(F, "; ###############################")
        PrintLine(F, ";")
        FileClose(F)
    End Sub
    '
    '
    ' INI String löschen
    Public Function IniDeleteString(ByVal Sektion As String, ByVal Titel As _
      String) As Integer
        IniDeleteString = WritePrivateProfileString(Sektion, Titel, _
        vbNullString, datei)
    End Function
    '
    ' INI Abschnitt löschen
    Public Function IniDeleteArray(ByVal Sektion As String) As Integer
        IniDeleteArray = WritePrivateProfileString(Sektion, vbNullString, "", _
          datei)
    End Function
    '
    ' INI Abschnitte löschen
    Public Function IniDeleteAllArray() As Integer
        IniDeleteAllArray = WritePrivateProfileString(vbNullString, "", "", _
          datei)
    End Function
    '
    ' Text (String) aus INI-Datei lesen
    Public Function IniReadString(ByVal Sektion As String, ByVal Titel As _
      String, ByVal Vorgabe As String, ByVal Laenge As Short) As String
        Dim Result As Integer
        Dim Dummy As String
 
        Dummy = Space(Laenge + 1)
        Result = GetPrivateProfileString(Sektion, Titel, Vorgabe, Dummy, _
          Laenge, datei)
        'IniReadString = Left(Dummy, Result)
        IniReadString = Dummy.Substring(0, Result)
    End Function
    '
    ' Eintrag aus INI-Datei lesen
    Public Function IniReadStringGet(ByVal Sektion As String, ByVal Titel As _
      String, ByVal Vorgabe As String, Optional ByVal nSize As Short = 256) As _
      String
        Dim lResult As Integer
        Dim sValue As String
 
        sValue = Space(nSize)
        lResult = GetPrivateProfileString(Sektion, Titel, Vorgabe, sValue, _
          nSize, datei)
        'IniReadStringGet = Left(sValue, lResult)
        IniReadStringGet = sValue.Substring(0, lResult)
    End Function
    '
    ' alle Abschnittsnamen ermitteln
    Public Function IniGetArrays(ByVal Datei As String) As String 'Split( 
    ' IniGetArrays, vbNullChar)
        IniGetArrays = IniReadStringGet(vbNullString, "", "", 32767)
        ' BSP
        'Dim Data As String
        'Data = IniGetArrays(Programm_INI)
        'Dim Data2() As String
        'Data2 = Split(Data, vbNullChar)
        'Data2(0-x) = Abschnittsnamen
    End Function
    '
    ' alle Schlüsselnamen ermitteln
    Public Function IniGetStrings(ByVal Sektion As String) As String 'Split( 
    ' IniGetArrays, vbNullChar)
        IniGetStrings = IniReadStringGet(Sektion, vbNullString, "", 32767)
        ' BSP
        'Dim Data As String
        'Data = IniGetStrings("Sektion", Programm_INI)
        'Dim Data2() As String
        'Data2 = Split(Data, vbNullChar)
        'Data2(0-x) = Schlüsselnamen
    End Function
    '
#End Region
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Einstellungen und Variable speichern?1.438Hannes H.04.06.06 14:21
Re: Einstellungen und Variable speichern?519Christoph197204.06.06 14:46
Re: Einstellungen und Variable speichern?475Hannes H.04.06.06 18:05
Re: Einstellungen und Variable speichern?480Christoph197205.06.06 02:01

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 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