vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Visual-Basic Einsteiger
Re: Einstellungen speichern 
Autor: Brian
Datum: 23.10.03 10:42

Hallo Tim,

bei mir geht es ohne Probleme.

Füge mal die Zeilen in ein Modul:
' zunächst die benötigten API-Funktionen
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
 
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
 
' INI-Datei
Public MyIniFile As String
 
Public Sub Main()
  MyIniFile = App.Path & "\Controls.ini"
End Sub
Der Rest kommt dann in eine Form1:
' Inhalte der Controls speichern
Public Sub SaveCtrlsTemp(ByVal Form As Form, _
  ByVal IniSection As String)
 
  Dim Ctl As Control
  Dim x As String
  Dim value As String
 
  ' Alle Controls der übergebenen Form durchlaufen
  For Each Ctl In Form.Controls
    With Ctl
      x = .Name
 
      ' Prüfen, ob Steuerelementfeld (Array)
      On Local Error Resume Next
      x = x & "(" & CStr(.Index) & ")"
      On Local Error GoTo 0
    End With
 
    value = vbNullString
 
    If TypeOf Ctl Is TextBox Then
      ' TextBox
      value = Ctl.Text
    ElseIf TypeOf Ctl Is HScrollBar Or _
      TypeOf Ctl Is VScrollBar Then
      ' horiz./vertik. Scrollbar
      value = CStr(Ctl.value)
    ElseIf TypeOf Ctl Is OptionButton Or _
      TypeOf Ctl Is CheckBox Then
      ' OptionButton/CheckBox
      value = CStr(Ctl.value)
    Else
      ' kann beliebig erweitert werden
    End If
 
    ' Inhalt/Wert speichern
    If value <> vbNullString Then
      WritePrivateProfileString IniSection, x, value, MyIniFile
    End If
  Next
End Sub
 
' Inhalte der Controls lesen
Public Sub RestoreCtrlsTemp(ByVal Form As Form, _
  ByVal IniSection As String)
 
  Dim Ctl As Control
  Dim x As String
  Dim value As String
  Dim lRet As Long
 
  ' Alle Controls der übergebenen Form durchlaufen
  For Each Ctl In Form.Controls
    With Ctl
      x = .Name
 
      ' Prüfen, ob Steuerelementfeld (Array)
      On Local Error Resume Next
      x = x & "(" & CStr(.Index) & ")"
      On Local Error GoTo 0
    End With
 
    value = Space$(256)
    lRet = GetPrivateProfileString(IniSection, x, vbNullString, _
      value, Len(value), MyIniFile)
    If lRet <> 0 Then
      value = Left$(value, lRet)
      If TypeOf Ctl Is TextBox Then
        ' TextBox
        Ctl.Text = value
      ElseIf TypeOf Ctl Is HScrollBar Or _
        TypeOf Ctl Is VScrollBar Then
        ' horiz./vertik. Scrollbar
        Ctl.value = CInt(value)
      ElseIf TypeOf Ctl Is OptionButton Then
        ' OptionButton
        Ctl.value = CBool(value)
      ElseIf TypeOf Ctl Is CheckBox Then
        ' CheckBox
        Ctl.value = CInt(value)
      Else
        ' Kann beliebig erweitert werden
      End If
    End If
  Next
End Sub
 
Private Sub Form_Load()
  ' Control-Inhalte wiederherstellen
  RestoreCtrlsTemp Me, "Controls Form1"
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
  ' Control-Inhalt speichern
  SaveCtrlsTemp Me, "Controls Form1"
End Sub
Jetzt noch ein paar Textfelder und verschiedene Option- und CheckFelder auf die Form ziehen, kompielieren...

Dann EXE öffnen, was eingeben und auswählen.
EXE schliessen und dann wieder öffnen...

Ol'e...

Beste Wünsche,
Bran
---
Du stolperst nicht durch die Steine die Dir in den Weg gelegt werden,
sondern durch die Einfallslosigkeit ihnen aus dem Weg gehen zu können.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Einstellungen speichern595krusty23.10.03 09:26
Re: Einstellungen speichern394NeoInferno23.10.03 09:33
Re: Einstellungen speichern349Brian23.10.03 09:47
Re: Einstellungen speichern336krusty23.10.03 10:20
Re: Einstellungen speichern390Brian23.10.03 10:42
Re: Einstellungen speichern305krusty23.10.03 10:48
Re: Einstellungen speichern324Brian23.10.03 10:54
Re: Einstellungen speichern317krusty23.10.03 10:55
Re: Einstellungen speichern328Brian23.10.03 11:32
Re: Einstellungen speichern327krusty23.10.03 11:41
Re: Einstellungen speichern326Brian23.10.03 11:51
Re: Einstellungen speichern331krusty23.10.03 12:51
Re: Einstellungen speichern317Manu24.10.03 11:28
Re: Einstellungen speichern311krusty24.10.03 11:51

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-2025 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