Hallo zusammen,
Ich stelle das Script hier einfach mal rein.
Ziel des Scriptes ist es, daß eine Fehlermeldung ausgegeben wird, wenn eine oder mehrere Personen im Array $MandatoryIniKeys vorhanden sind, aber NICHT in der INI Datei vorhanden sind.
[autoit]
#include <Array.au3>
Const $MandatoryIniKeys = "Axel-Peter-Yvonne-Willi"
$scriptIni = "AnwesendePersonen.ini"
Dim $i, $a
$Debug=1
$SectionNames=IniReadSectionNames(@ScriptDir & "\" & $scriptIni) ;Lese die Anzahl und die einzelnen Sectionsnamen in ein array ein.
$MandatoryIniArray = StringSplit ($MandatoryIniKeys, "-",1); Splitte die als Konstante angegebenen zwingenden Personen $MandatoryIniKeys in ein eindimensionales Array.
If $Debug <> 0 Then _ArrayDisplay($MandatoryIniArray, "Liste der zwingend anwesenden Personen. ")
For $i = 1 To $SectionNames[0]; Geht die INI Datei vom ersten bis zum letzten Sectionsnamen durch.
If $SectionNames[$i]="PERSONEN" Then ; Wenn der Sectionsname [PERSONEN] lautet, überprüfe mit nachfolgender SuchFunktion ob alle Werte ($SectionNames) von PERSONEN in der Liste des $MandatoryIniArray's sind.
$SectionValues=IniReadSection(@ScriptDir & "\" & $scriptIni, $SectionNames[$i]) ;Lese die Anzahl der einzelnen Schlüssel des Sectionsnamenms in ein zweidimensionales array ein.
For $a = 1 To $SectionValues[0][0]
If $Debug <> 0 Then _ArrayDisplay($SectionValues, "2D List for the " & $SectionNames[$i])
Switch $SectionValues[$a][0]
Case $MandatoryIniArray[1] To $MandatoryIniArray[0]
If $Debug <> 0 Then MsgBox (0, "Gefunden", "Der Key " & $SectionValues[$a][0] & " der INI Datei mit dem Wert " & $SectionValues[$a][1] & " gefunden.")
Case Else
If $Debug <> 0 Then MsgBox (0, "Nicht Gefunden", "Der Key " & $SectionValues[$a][0] & " der INI Datei mit dem Wert " & $SectionValues[$a][1] & " NICHT gefunden.")
EndSwitch
Next
EndIf
Next
Hier die Werte der INI Datei (oder die angehängte Datei download)
[PERSONEN]
Axel = Ganztägig
Heinz = Ganztägig
peter = Ganztägig
Yvonne = Ganztägig
Frank = Ganztägig
Willi = Ganztägig
[Themen]
Axel = thema1
Willi = thema1
Frank = thema1
Yvonne = thema1
Peter = thema1
Heinz = thema1
Warum funktioniert das Script nicht?
Was habe ich falsch gemacht?
Hätte ich das Script anders aufbauen müssen
Vielen Dank im Voraus für Eure Mühe.
Schönes Wochenende
Axel