INI-bestanden: wat ze zijn en hoe ze te gebruiken

Laatste update: 9 maart 2025
  • INI-bestanden zijn configuratiedocumenten waarin programma- en toepassingsinstellingen worden opgeslagen.
  • Ze gebruiken een eenvoudige structuur met secties, sleutels en waarden om informatie te ordenen.
  • Ze worden veel gebruikt bij softwareconfiguratie, game-aanpassing en taakautomatisering.
  • Ze kunnen worden gelezen en geschreven met behulp van verschillende programmeertalen, zoals Pascal, PHP en Python.
INI-bestanden

Welkom op onze reis om het mysterie van INI-bestanden te ontrafelen ! Als je je ooit hebt afgevraagd wat ze zijn of hoe je ze effectief kunt gebruiken, ben je hier aan het juiste adres. Deze bestanden lijken misschien een raadsel, maar met de juiste informatie worden ze een krachtig hulpmiddel in de wereld van computer- en softwareconfiguratie. In dit artikel gaan we dieper in op wat INI-bestanden zijn, hoe ze werken en hoe je er het maximale uit kunt halen.

INI-bestanden: Wat betekenen deze afkortingen?

Laten we bij het begin beginnen. Wat betekent INI in INI-bestanden? Deze afkorting staat voor "Initialization " (initialisatie). INI-bestanden zijn configuratiedocumenten die veelvuldig in de computerwereld worden gebruikt om instellingen en configuratieopties voor programma's en applicaties op te slaan.

Wat bevatten INI-bestanden?

INI-bestanden bevatten belangrijke informatie die ervoor zorgt dat programma's en toepassingen goed functioneren. Deze bestanden kunnen een grote verscheidenheid aan gegevens bevatten, zoals:

  • Instellingen: De waarden die bepalen hoe een programma zich gedraagt.
  • Paden: Informatie over de locatie van bestanden of bronnen die nodig zijn voor de werking van het programma.
  • Gebruiker voorkeuren: Aangepaste instellingen gekozen door de gebruiker.
  • Interface-opties: Details over het ontwerp en uiterlijk van de gebruikersinterface.

Hoe zijn INI-bestanden gestructureerd?

INI-bestanden hebben een eenvoudige maar effectieve structuur. Ze zijn meestal verdeeld in secties, elk met zijn eigen waarden en instellingen. Laten we eens naar een eenvoudig voorbeeld kijken:

[Sección 1]
Clave1=Valor1
Clave2=Valor2

[Sección 2]
Clave3=Valor3

In dit voorbeeld hebben we twee secties, elk met zijn eigen sleutels en waarden. Deze structuur maakt het eenvoudiger om informatie in het bestand te organiseren en te zoeken.

INI-bestanden in actie

Nu we een basiskennis hebben van wat INI-bestanden zijn, is het tijd om te onderzoeken hoe ze in de echte wereld worden gebruikt en hoe ze u ten goede kunnen komen.

softwareconfiguratie

Een van de meest voorkomende toepassingen van INI-bestanden is softwareconfiguratie. Veel programma's gebruiken deze bestanden om gebruikersvoorkeuren op te slaan. Hebt u ooit de opties van een programma aangepast en u afgevraagd waar deze worden opgeslagen? Het antwoord is meestal een INI-bestand!

Spel aanpassen

Als u een liefhebber bent van videogames, bent u waarschijnlijk de INI-bestanden tegengekomen. Met deze bestanden kun je de spelinstellingen aanpassen, van de grafische kwaliteit tot de besturingsinstellingen. U kunt uw spelervaring personaliseren door deze bestanden te wijzigen.

Taakautomatisering

INI-bestanden zijn ook handig bij het automatiseren van taken. Programma's kunnen deze bestanden lezen en wijzigen om specifieke acties op geprogrammeerde basis uit te voeren. Dit is vooral handig in bedrijfs- en systeembeheeromgevingen.

INI-bestanden op het web

INI-bestanden zijn niet beperkt tot desktoptoepassingen. Op het web worden ze gebruikt in technologieën zoals PHP om configuratie-informatie op te slaan. Als u in de webontwikkeling werkt, is het belangrijk om te begrijpen hoe deze bestanden werken.

Hoe gebruik ik INI-bestanden?

Nu u weet wat INI-bestanden zijn en waar ze voor worden gebruikt, is het tijd om te leren hoe u ze in uw voordeel kunt gebruiken.

1. Identificeer het relevante INI-bestand

Het eerste wat u moet doen, is het INI-bestand zoeken van het programma of de toepassing die u wilt configureren. Meestal bevindt het zich in de software-installatiemap.

  Wat is Google Drive?

2. Maak back-ups

Voordat u wijzigingen aanbrengt in een INI-bestand, moet u een back-up maken van het originele bestand. Hiermee kunt u uw vorige instellingen herstellen als er iets misgaat.

3. Open het INI-bestand

Gebruik een eenvoudige teksteditor, zoals Kladblok in Windows, om het INI-bestand te openen. Zorg ervoor dat de editor geen extra opmaak toevoegt, zoals vet of cursief.

4. Bewerk zorgvuldig

Breng de nodige wijzigingen aan in het bestand en let daarbij op de syntaxis. INI-bestanden zijn hoofdlettergevoelig, dus u moet nauwkeurig zijn.

5. Sla de wijzigingen op

Nadat u de aanpassingen hebt gemaakt, slaat u het INI-bestand op en sluit u het. Zorg ervoor dat de betreffende software gesloten is voordat u dit doet.

6. Test het programma

Start het programma en controleer of de wijzigingen zijn doorgevoerd. Als alles werkt zoals verwacht, hebt u met succes een INI-bestand aangemaakt!

Extra tips

Hier volgen enkele aanvullende tips om INI-bestanden optimaal te benutten:

  • Documentatie: Raadpleeg altijd de documentatie van het programma of de toepassing om de opties in het INI-bestand beter te begrijpen.
  • opmerkingen: U kunt opmerkingen aan een INI-bestand toevoegen door regels vooraf te laten gaan door het puntkommasymbool (;). Dit helpt u het doel van elke instelling te onthouden.
  • ervaring: Wees niet bang om te experimenteren met de instellingen in een INI-bestand. Je kunt veel leren door verschillende waarden uit te proberen en te kijken hoe deze het programma beïnvloeden.

Voorbeelden van het lezen en schrijven naar INI-bestanden

De volgende voorbeelden maken gebruik van een algemeen INI-bestand (config.ini), dat hieronder wordt weergegeven:

[BaseDatos]
Usuario=minombre
Password=unaClave

[Preferencias]
Fondo=Blanco
Color=Azul

1) Voorbeeld in Free Pascal

Hieronder staat de volledige code om een ​​INI-bestand te lezen en te schrijven met Free Pascal

program fileIni;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes
  { you can add units after this }
  , Sysutils, IniFiles;

const
  ARCHIVO_CONFIG = 'config.ini';

var
  Ini: TIniFile;
  Valor: String;

begin
  { El método Create es el constructor de la clase, que recibe como parámetro
      el nombre del archivo INI.}
  Ini := TIniFile.Create(ARCHIVO_CONFIG);

  {Para leer valores se especifica el nombre de sección y clave
    en los métodos ReadString.}
  // Leer valor de sección BaseDatos
  Valor := Ini.ReadString('BaseDatos','Usuario','');
  WriteLn('Usuario BD: ', Valor);

  // Leer valor de sección Preferencias
  Valor := Ini.ReadString('Preferencias','Fondo', '');
  WriteLn('Color de fondo', Valor);

  {Para escribir valores se indica sección y clave con WriteString
    antes de guardar con UpdateFile.}
  // Escribir valor en sección BaseDatos
  Ini.WriteString('BaseDatos','Password','NuevaClave');

  // Escribir valor en sección Preferencias
  Ini.WriteString('Preferencias', 'Color', 'Verde');

  Ini.UpdateFile;
  Ini.Free;
end.

Deze code is een programma geschreven in Pascal dat met INI-bestanden werkt voor configuratie. Hier volgt een korte uitleg van wat het doet:

  1. Bevat de benodigde eenheden: Het programma gebruikt de eenheden Classes, SysUtilsEn IniFiles, die de functies bieden die nodig zijn om met INI-bestanden en andere bronnen te werken.
  2. Definieert een constante ARCHIVO_CONFIG dat de naam bevat van het INI-bestand dat moet worden gebruikt, in dit geval "config.ini".
  3. Een variabele declareren Ini type TIniFile. Deze variabele wordt gebruikt om te communiceren met het INI-bestand.
  4. Het programma begint met het maken van een exemplaar van TIniFile noemen Ini met de bouwer Create, waarbij de naam van het INI-bestand ("config.ini") als parameter wordt doorgegeven.
  5. Gebruik dan de methode ReadString de Ini om waarden uit het INI-bestand te lezen. In dit geval worden twee waarden gelezen: de eerste uit de sectie “Database” en de sleutel “Gebruiker”, en de tweede uit de sectie “Voorkeuren” en de sleutel “Achtergrond”. De gelezen waarden worden opgeslagen in de variabele Valor en worden weergegeven in de console.
  6. Gebruik dan de methode WriteString de Ini om waarden naar het INI-bestand te schrijven. In dit geval wordt een nieuw wachtwoord ingesteld in het gedeelte ‘Database’ en de sleutel ‘Wachtwoord’, en wordt de kleur in het gedeelte ‘Voorkeuren’ en de sleutel ‘Kleur’ gewijzigd in ‘Groen’.
  7. Dan heet de methode UpdateFile om wijzigingen in het INI-bestand op schijf op te slaan.
  8. Ten slotte wordt het instantiegeheugen vrijgegeven. Ini bellen naar Ini.Free.

Kortom, dit programma wordt gebruikt om configuratie-instellingen te lezen en te schrijven in een INI-bestand met de naam "config.ini" in specifieke secties, en slaat vervolgens de wijzigingen op die in het bestand zijn aangebracht.

  11 voorbeelden van viscositeit in het dagelijks leven

2) Voorbeeld in PHP

Hieronder vindt u de volledige code voor het lezen en schrijven van een INI-bestand met behulp van PHP. Neem de klasse en het gebruiksvoorbeeld op in hetzelfde script, maar u kunt ze scheiden om de beste programmeerpraktijken te volgen:

<?php

class ManejadorIni
{
    private $filename;
    private $contenido;

    public function __construct($filename)
    {
        if (!file_exists($filename)) {
            throw new Exception('El archivo no existe.');
        }

        $this->filename = $filename;
        $this->contenido = parse_ini_file($filename, true);

        if ($this->contenido === false) {
            throw new Exception('No se pudo analizar el archivo INI.');
        }
    }

    public function leer($seccion, $clave)
    {
        if (isset($this->contenido[$seccion]) && isset($this->contenido[$seccion][$clave])) {
            return $this->contenido[$seccion][$clave];
        }
        return '';
    }

    public function escribir($seccion, $clave, $valor)
    {
        $this->contenido[$seccion][$clave] = $valor;
    }

    public function guardar()
    {
        $texto = "; Archivo INI generado por ManejadorIni\n";
        
        foreach ($this->contenido as $sec => $cont) {
            $texto .= "\n[$sec]\n";
            
            foreach ($cont as $key => $val) {
                $texto .= "$key=$val\n";
            }
        }

        if (file_put_contents($this->filename, $texto) === false) {
            throw new Exception('No se pudo guardar el archivo INI.');
        }
    }

    public function __destruct()
    {
        $this->filename = null;
        $this->contenido = null;
    }
} // Aqui termina la Clase.


// Código para probar la Clase: ManejadorIni
try {
    // Iniciar el manejador para un archivo INI específico
    $manejador = new ManejadorIni('config.ini');

    // Leer valores
    $nombreUsuario = $manejador->leer('BaseDeDatos', 'usuario');
    if (empty($nombreUsuario)) {
        echo "No se pudo obtener el nombre de usuario desde el archivo INI.\n";
    }
    echo "Nombre de Usuario actual: " . $nombreUsuario . "<br>";

    // Escribir valores
    $manejador->escribir('BaseDeDatos', 'usuario', 'nuevoUsuario');

    // Guardar cambios al archivo
    $manejador->guardar();

} catch (Exception $e) {
    // Manejo de excepciones
    echo "Se ha encontrado un error: " . $e->getMessage();
}


?>

Deze PHP-code definieert een klasse genaamd ManejadorIni die wordt gebruikt om configuratiebestanden in INI-formaat te lezen, wijzigen en opslaan. Dit is de basisfunctionaliteit van de code:

  1. Klas ManejadorIni heeft privébezit $filename (om de INI-bestandsnaam op te slaan) en $contenido (om de geparseerde inhoud van het INI-bestand op te slaan).
  2. In de klasseconstructor ManejadorIni, controleert of het opgegeven INI-bestand bestaat. Als deze niet bestaat, wordt er een uitzondering gegenereerd. De constructor parseert vervolgens de inhoud van het INI-bestand met behulp van de functie parse_ini_file en slaat het resultaat op in de eigenschap $contenido. Als de parseerfunctie mislukt, wordt er ook een uitzondering gegenereerd.
  3. De cursus biedt drie hoofdmethoden:
    • leer($seccion, $clave): Hiermee kunt u een specifieke waarde uit een sectie en een sleutel in het INI-bestand lezen. Als de sectie en de sleutel bestaan, wordt de waarde geretourneerd; anders wordt een lege string geretourneerd.
    • escribir($seccion, $clave, $valor): Hiermee kunt u een waarde in het INI-bestand schrijven of wijzigen voor een bepaalde sectie en sleutel. Deze wijziging wordt in het geheugen uitgevoerd en pas in het bestand opgeslagen wanneer de methode wordt aangeroepen. guardar().
    • guardar(): Slaat wijzigingen in het geheugen op in het oorspronkelijke INI-bestand. Blader door de inhoud die is opgeslagen in $this->contenido en schrijft het terug naar het INI-bestand.
  4. De methode __destruct() Het is verantwoordelijk voor het opschonen van de eigenschappen wanneer het klasse-exemplaar wordt vernietigd.
  5. Buiten de klassendefinitie wordt een voorbeeld van gebruik gegeven:
    • Er wordt een instantie gemaakt ManejadorIni voor het bestand 'config.ini'.
    • De waarde van de 'user'-sleutel wordt gelezen uit de 'Database'-sectie van het INI-bestand.
    • Als de waarde leeg is, wordt er een foutmelding weergegeven.
    • De waarde van 'user' is gewijzigd in 'newUser'.
    • Wijzigingen worden opgeslagen in het INI-bestand.
  Soorten datacenters: een complete gids

De code verwerkt ook uitzonderingen. Als er fouten optreden tijdens het lezen, schrijven of opslaan van het INI-bestand, worden deze onderschept en wordt er een foutmelding weergegeven, in plaats van dat het programma wordt afgebroken.

LET OP: Het PHP-script gebruikt geen geavanceerde PHP 7.x-syntaxis, omdat het compatibel probeert te zijn met PHP 5.6 en PHP 7.

3) Voorbeeld in Python

Hieronder laten we de functionaliteit zien van het lezen en schrijven naar het INI-bestand: config.ini met behulp van Python:

import configparser

# Crear un objeto ConfigParser
config = configparser.ConfigParser()

# Leer el archivo INI
config.read('config.ini')

# Leer valores del archivo INI
usuario_bd = config.get('BaseDatos', 'Usuario')
password_bd = config.get('BaseDatos', 'Password')
fondo = config.get('Preferencias', 'Fondo')
color = config.get('Preferencias', 'Color')

# Mostrar los valores leídos
print('Usuario BD:', usuario_bd)
print('Password BD:', password_bd)
print('Fondo:', fondo)
print('Color:', color)

# Escribir valores en el archivo INI
config.set('BaseDatos', 'Usuario', 'nuevo_usuario')
config.set('BaseDatos', 'Password', 'NuevaClave2')
config.set('Preferencias', 'Fondo', 'Red')
config.set('Preferencias', 'Color', 'Azul')

# Guardar los cambios en el archivo INI
with open('config.ini', 'w') as configfile:
    config.write(configfile)

Het Python-programma maakt gebruik van de bibliotheek configparser om een ​​INI-bestand met de naam “config.ini” te lezen en ernaar te schrijven. Hier is een korte uitleg van wat het doet:

  1. Importeer de bibliotheek configparser om met INI-bestanden te werken.
  2. Maak een object ConfigParser riep config.
  3. Lees het INI-bestand met behulp van de methode read de config.
  4. Leest de bestaande waarden in het INI-bestand voor de secties "Database" en "Voorkeuren" met behulp van de methode get. Geef deze waarden vervolgens weer op de console.
  5. Werkt de waarden in het INI-bestand bij met behulp van de methode set. In dit geval wijzigt u de gebruikersnaam en het wachtwoord in het gedeelte ‘Database’ en de achtergrond en kleur in het gedeelte ‘Voorkeuren’.
  6. Wijzigingen in het INI-bestand opslaan met behulp van de methode write en een uitvoerbestand genaamd “config.ini”.

Kortom, het programma stelt u in staat om waarden in een INI-bestand te lezen, te wijzigen en op te slaan met behulp van de bibliotheek configparser Python.

Conclusie

INI-bestanden lijken in eerste instantie misschien een mysterie, maar met de juiste informatie en wat oefening wordt u er een expert in. Deze eenvoudige configuratiedocumenten spelen een cruciale rol bij het aanpassen van software, het optimaliseren van games en het automatiseren van taken. Wees dus niet bang om de wereld van INI-bestanden te betreden en profiteer vandaag nog van hun potentieel!

Het is belangrijk om te onthouden dat er ook andere soorten configuratiebestanden bestaan, namelijk XML-bestanden , die in diverse computergebieden worden gebruikt, zoals databases, informatie-uitwisseling en applicatieconfiguratie. XML is een uitbreidbare opmaaktaal waarmee gegevens kunnen worden gestructureerd en opgeslagen in een formaat dat zowel door mensen als machines leesbaar is. In tegenstelling tot traditionele, op platte tekst gebaseerde configuratiebestanden, gebruikt het XML-formaat tags en attributen om de structuur van het document te definiëren.

Als u deze handleiding over INI-bestanden nuttig vond, deel hem dan gerust met andere computer- en technologieliefhebbers. Samen kunnen we de puzzel van INI-bestanden vereenvoudigen en ze voor iedereen toegankelijk maken. Deel uw kennis en help anderen deze krachtige configuratietool onder de knie te krijgen!