AutoIt en ini-bestanden: instellingen bewaren zonder gedoe
Soms moet een script iets onthouden. Denk aan een map, een naam of een keuze van de gebruiker. Als je dat elke keer opnieuw moet invullen, is dat onhandig. Met een .ini-bestand kun je zulke instellingen simpel bewaren.
Wat wil je oplossen?
Je script stopt, en bij de volgende start is alles weer weg. Dan moet je opnieuw beginnen. Dat is zonde, zeker als je maar ??n kleine instelling wilt onthouden.
Hoe werkt het?
IniWrite schrijft een waarde naar een .ini-bestand. Met IniRead lees je die waarde later weer terug. En met FileExists kun je eerst checken of het bestand al bestaat.
Stap voor stap
- kies een pad voor je
.ini-bestand - maak het bestand aan als het nog niet bestaat
- schrijf een waarde weg met
IniWrite - lees die waarde later terug met
IniRead
Voorbeeldcode
Local $sIni = @ScriptDir & "instellingen.ini"
If Not FileExists($sIni) Then
IniWrite($sIni, "Algemeen", "LaatsteMap", @DesktopDir)
EndIf
Local $sMap = IniRead($sIni, "Algemeen", "LaatsteMap", @DesktopDir)
ConsoleWrite("Laatste map: " & $sMap & @CRLF)
Veelgemaakte fout
Een veelgemaakte fout is dat je een verkeerde sectie of sleutelnaam gebruikt. Dan leest IniRead niets terug en denk je dat je script stuk is, terwijl de naam gewoon niet klopt.
Nog een AutoIt-stap die hier goed bij past: Bestanden downloaden met InetGet in AutoIt.
Bevers gedachte
Een .ini-bestand is klein, simpel en vaak precies goed genoeg. Je hoeft niet meteen een grote database op te tuigen als je alleen een paar instellingen wilt bewaren. ??
