מהו קובץ INI?
קובץ INI הוא מסמך תצורת הודעות עבור תוכנות מחשב המכילות מפתחות ציבוריים עבור מאפיינים וקטעים המארגנים את התכונות במסגרת ודקדוק. מסמכי תצורה של פורמט קבצי מערכת אלה מקבלים את שמם מסיומת הספרייה INI של מערכת ההפעלה MS-DOS, אשר מייצגת initiation. זה הפך לפופולרי צורה זו של הגדרת תוכנה. תוכניות רבות ביישומי תוכנה אחרים משתמשות בתוספות שונות של שמות קבצים, כגון CONF ו-CFG, למרות שהפורמט הקים סטנדרט לא רשמי במצבים רבים של תצורה.
היסטוריה קצרה של קבצי INI##
בתחילה, טכניקת תצורת התוכנות העיקרית של Windows הייתה פורמט קובץ טקסט שהורכב משורות טקסט עם זוג אחד מכריע בכל שורה, מחולק למקטעים. מנהלי התקנים, גופנים ומפעילי הפעלה מאוחסנים כולם בפורמט זה. הגדרות בודדות אוחסנו בדרך כלל בקבצי INI על ידי אפליקציות. עד ל-Windows 3.1x, הפורמט נתמך בפלטפורמות 16-bit של Microsoft Windows. החל מ-Windows 95, מיקרוסופט החלה לעודד מפתחים להשתמש ברישום Windows במקום בקבצי INI לצורך תצורה.
קובץ INI - מפרטי פורמט קובץ
מפתחות/מאפיינים
המפתח/המאפיין הוא האלמנט הבסיסי ביותר של קובץ INI. סמל שווה (=) מפריד בין השם והערך של כל מפתח. משמאל לסימן השוויון מופיע השם. הסמל השווה ונקודה-פסיק הם אותיות דיסקרטיות במערכת Windows ולכן לא ניתן להשתמש במפתח. ניתן להשתמש בכל תו בערך.
name=value
מקטעים
הערת המדור מופיעה בסוגריים מרובעים ([]) בשורה משלה. לאחר הגדרת הסעיף, כל המפתחות מקושרים לאותו קטע. קטעים מסתיימים ממש בסימן הסעיף הבא או בסוף המסמך; אין מפריד “סוף קטע” ספציפי. לא ניתן לערום מקטעים; ניתן לתת להם שם פעם אחת בלבד ואין צורך לקשר אותם.
[section]
a=a
b=b
שינוי תכונות
לפורמט הקובץ INI אין הגדרה מקובלת בעולם. יישומי מחשב רבים כוללים פונקציות בנוסף לאלו שכבר הוזכרו. הרשימה שלהלן כוללת כמה מאפיינים נפוצים שעשויים להיכלל בכל תוכנית בודדת או לא.
- הערות
- דמויות בריחה
- שמות כפולים
דוגמה INI
קובץ ה-INI לדוגמה נראה כך:
[Settings]
#======================================================================
# Set detailed log for additional debugging info
DetailedLog=1
RunStatus=1
StatusPort=6090
StatusRefresh=10
Archive=1
# Sets the location of the MV_FTP log file
LogFile=/opt/ecs/mvuser/MV_IPTel/log/MV_IPTel.log
#======================================================================
Version=0.9 Build 4 Created July 11 2004 14:00
ServerName=Unknown