Лабораторна робота №7
Робота з INI-файлами та реєстром системи.
Загальне визначення
Перед тим як вникати у фізіологію функцій, напевне варто сказати пару слів, нащо потрібні ini-файли та регістр.
Якщо спростити всі поняття до мінімуму і дати визначення операційній системі (ОС), то, ОС – це сукупність великої кількості спеціалізованих програм. Кожна програма має певний намір початкових властивостей, котрі під чат роботи можуть змінитися в залежності від потреб користувача. Постала проблема зберігання цих властивостей в рамках однієї або більшої кількості сесії системи. Найпростішим рішенням було створення файлу конфігурації.
INI - файл (англ. Initialization file) - це файл конфігурації, який містить дані налаштувань для Microsoft Windows, Windows NT і деяких додатків.
Перше в провадження з‘явилося у найпершій версії Windows. У версії Windows 1.01 це був тільки файл WIN.INI. У Windows 3.0 додався файл SYSTEM.INI. А потім їх кількість почала зростати швидко і безконтрольно. Не існує докладної офіційної специфікації формату. Починаючи з Windows 95, INI файли почали вважаються застарілою технологією і в якості заміни їм Microsoft пропонує використовувати системний реєстр (Registry). Проте INI файли продовжують використовуватися як в програмах інших виробників, так і компонентами ОС Microsoft. Наприклад, файл boot.ini використовується в Windows NT4/2000/XP як файл конфігурації завантаження і характеризує вибір завантажувальної системи з декількох ОС.
Хоча INI файли і набули популярність в Windows, вони можуть використовуватися в будь-який ОС. Нескладна структура цього формату дозволяє легко обробляти їх програмно і має простий синтаксис зрозумілий для людини. Існують текстові редактори (наприклад, SciTE або Notepad + +), які використовують підсвідку синтаксису і фолдінг для цього формату, що полегшує редагування INI файлів вручну. Використання секцій для розділення параметрів сприяє систематизації даних, проте для зберігання налаштувань великого обсягу з більш складною ієрархічною структурою краще підходить формат XML.
INI файл складається з частин секції та значень секції. Наприклад,
[Section1]
var1 = значення_1 ;
var2 = значення_2
[Section2]
var1 = значення_1
var2 = значення_2
Секції грають роль логічних блоків, аналог структури, а значення секції грають роль полів. Змістом полів можуть бути числа, логічні значення, стрічки, бінарні дані у вигляді шістнадцяткових текстових полів тощо.
Як приклад, фрагмент ini файлу
[path]
drweb=C:\Program Files\DrWeb\
http=192.168.9.40
login=1111
pass=2222
bak=D:\Install\UPDATE_DRWEB\
if_bak=1
[updata]
day=1
data=D6070A000400010012000300150018012F
lastUpData=43354
Функції роботі з ini файлами та їх короткий опис.
GetPrivateProfileInt – зчитування числа з заданої секції
GetPrivateProfileSection – зчитує цілу секцію і записує у буфер рядок як масив стрічок. Розділення стрічок здійснюється нуль символом. Ознакою кінця вважається 2 байти з значенням нуль. Приклад
”var1=value1”,0,”var2=value2”,…,”varN=valueN”,0,0.
GetPrivateProfileSectionNames – функція повертає всі імена заданої секції