Hi
ich versuche checkboxen einer .ini datei zu speichern.Also ob es aktiviert ist oder nicht.
die .ini datei siht so aus:
[Montag]
Phy=1
Pol=0
Deu=1
Tech=0
Mat=1
Reli=0
[Dienstag]
Musik=1
Tech=1
Eng=1
Eng2=0
Gesch=0
Reli=0
[Mittwoch]
Chemie=0
chemie2=1
Tex=0
Tex2=0
Mus=0
Gesch=0
[Donnerstag]
Mat=0
Mat2=0
Eng=0
Deu=0
sport=0
sport2=0
[Freitag]
Deu=0
Deu2=0
Tech=0
Mat=0
Eng=0
Pol=0
Wobei 0 nicht aktivirt und 1 aktivirt bedeuten soll.
Um die .ini Datei zu lesen bzw in der zu schreiben benutz ich folgende API: (die ich übrigens auch irgendwo auf der Seite gefunden hab mir fällt bloß nicht ein wo^^)
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
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 im form_load hab ich geschrieben:
dim a (0 to 30)
dim b
a(0) = "Phy"
a(1) = "Pol"
a(3) = "Deu"
a(4) = "Tech"
a(5) = "Mat"
a(6) = "Reli"
a(7) = "Musik"
a(8) = "Tech"
a(9) = "Eng"
a(10) = "Eng2"
a(11) = "Gesch"
a(12) = "Reli"
a(13) = "Chemie"
a(14) = "Chemie"
a(15) = "Tex"
a(16) = "Tex2"
a(17) = "Musik"
a(18) = "Gesch"
a(19) = "Mat"
a(20) = "Mat2"
a(21) = "Eng"
a(22) = "Deu"
a(23) = "Sport"
a(24) = "Sport2"
a(25) = "Deu"
a(26) = "Deu2"
a(27) = "Tech"
a(28) = "Musik"
a(29) = "Mat"
a(30) = "Pol"
Dim myIniFile As String
Dim sValue As Integer
Dim lResult As Long
Dim i
myIniFile = App.Path & "\" & "Check.ini"
b = "Montag"
For i = 0 To 30
If i > 6 Then
b = "Dienstag"
If i > 12 Then
b = "Mittwoch"
If i > 18 Then
b = "Donnerstag"
If i > 24 Then
b = "Freitag"
End If
End If
End If
End If
myIniFile = ""
sValue = ""
lResult = 0
myIniFile = App.Path & "\" & "check.ini"
' Rückgabewert mit ausreichend Leerzeichen füllen
sValue = Space$(255)
lResult = GetPrivateProfileString(b, a(i), _
vbNullString, sValue, Len(sValue), myIniFile)
' tatsächliche Länge des Rückgabewertes
sValue = Left$(sValue, lResult)
check(i).Value = sValue
Next i Damit möchte ich von der .ini einstellen, ob es nun aktivirt sein soll oder nicht.
Jedoch bekomm ich eine fehlermeldung in der Zeile:
code] lResult = GetPrivateProfileString(b, a(i), _
vbNullString, sValue, Len(sValue), myIniFile)Es wird die variabla a markiert und da steht: Typen unverträglich.
Kann mir wer bei der Lösung des Problemes helfen?
Mir würds auch schon reichen, wenn einer eine bessere Idee hatt, die checkboxen zu speichern. |