AutoIt en ini-bestanden: instellingen bewaren zonder gedoe

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. ??