En INI fil är en plats där ett program kan lagra data på det sätt som det själv vill. Typiskt används det för att lagra information som programmet måste behålla från ett anrop till ett annat; placering på skärmen, fonter, användar-konfigurerbara optioner, och liknande. Du vill inte använda en stor databas - det kan vara ineffektivt - men en INI fil är en idealisk plats att lagra små stycken av information som inte är stora nog att förtjäna en egen fil.
Internt, är filen en binär fil, och jag tänker inte berätta för dig om den exakta interna strukturen. (Jag har faktiskt aldrig kontrollerat detta, men jag tror det finns dokumenterat någonstans på Hobbes.) Det viktiga är att OS/2 erbjuder API anrop som låter en programmerare läsa och skriva poster i INI filer.
Som koncept, är varje post tredelad (applikation, nyckel, värde), där applikationen och nyckeln vanligtvis är teckensträngar som kan läsas av en människa. Du kan se detta som en tvånivåers hierarki. INI filen håller data för ett antal olika applikationer; varje applikation kan ha ett antal nycklar; och associerat till varje nyckel finns ett värde, vilket är det som programmet egentligen vill läsa.
Historiskt, fanns det troligtvis en intention att alla program skulla spara sina INI data i en stor "User INI file", och i det fallet skulle "Application" delen av de tre identifierat det program som äger den delen av datat. Idag har vi lärt oss att koncentration av alla viktiga data till ett ensamt centralt register är en dålig design - det lämnar systemet sårbart för skador från ett ensamt program som missköter sig - så det finns mer än en tendens att använda separata INI filer för varje program. När så är fallet, blir det logiskt att byta namn från "Application" till något liknande "Section label", eftersom det inte identifierar en applikation i flera fall; men vi fortsätter att kalla det för "Application" för att vara konsekventa med den existerade dokumentationen.
"Value" delen av posten kan vara vad som helst, beroende på de behov som en programmerare behöver när han använder INI filen. Det kan vara något så simpelt som ett en-bytes binärt värde; det kan också vara en teckensträng, med eller utan en null byte som terminering; eller kan det vara en komplex lista vars interna struktur endast är känd av programmeraren.
Avsikten med INI fils data är vanligtvis inte dokumenterat, därför att programmerare tenderar att betrakta det som en intern detalj av implementationen. Innan du ändar något i en INI fil, se till att du förstår vad ändringen kommer att innebära.