كيفية تشغيل ملفات INI؟
تلعب ملفات INI دورًا مهمًا في تكوين النظام وتوفير معلمات التطبيق وإعداده ، لذلك توفر عائلات البرمجة المرئية ، مثل VB ، VC ، VFP ، Delphi ، إلخ ، طرقًا لقراءة وكتابة ملفات INI ، حيث يتم تشغيل INI في Delphi. الملفات هي أبسط ، لأن Delphi3 يوفر فئة Tinifile ، والتي تتيح لنا التعامل مع ملفات INI بمرونة للغاية.
1. من الضروري فهم بنية ملف INI:
؛تعليق
[اسم القسم]
الكلمة الرئيسية = القيمة
...
يتيح ملف INI أقسامًا متعددة ، ويسمح كل قسم بعلم كلمات رئيسية متعددة ، متبوعًا بقيمة الكلمة الرئيسية.
هناك ثلاثة أنواع من القيم: السلسلة ، قيمة عدد صحيح وقيمة منطقية. يتم تخزين السلسلة في ملف INI بدون علامات اقتباس ، ويتم تمثيل القيمة المنطقية الحقيقية بـ 1 ، ويتم تمثيل القيمة المنطقية الخاطئة بـ 0.
التعليقات تبدأ مع فاصلة منقوطة "؛".
2. التعريف
1. إضافة inifiles إلى قسم الاستخدامات من الواجهة ؛
2. أضف سطرًا إلى جزء تعريف VAR المتغير:
myinifile: tinifile.
بعد ذلك ، يمكنك إنشاء ، وفتح ، وقراءته ، والكتابة والعمليات الأخرى على متغير myinifile.
3. افتح ملف INI
myinifile: = tinifile.create ('program.ini') ؛
ستقوم عبارة السطر أعلاه بإنشاء اتصال بين myinifile المتغير وبرنامج الملفات المحددة. ini ، وبعد ذلك يمكنك استخدام myinifile المتغير لقراءة وكتابة قيم الكلمات الرئيسية في ملف program.ini.
تجدر الإشارة إلى أنه إذا لم يحدد اسم الملف الموجود في الأقواس المسار ، فسيتم تخزين ملف program.ini في دليل Windows.
تتمثل طريقة تخزين ملف Program.ini في الدليل الحالي للتطبيق في تحديد المسار الكامل واسم الملف له. يمكن للبيانين التاليين إكمال هذه الوظيفة:
اسم الملف: = extractFilePath (paramstr (0))+'program.ini' ؛
4. اقرأ قيمة الكلمة الرئيسية
بالنسبة لثلاثة أنواع بيانات تدعمها ملفات INI: السلسلة ، قيمة عدد صحيح ، والقيمة المنطقية ، توفر فئة Tinifiles ثلاث طرق كائن مختلفة لقراءة قيم الكلمات الرئيسية في ملفات INI.
لنفترض أن المتغيرات المحددة VS و VI و VB هي سلسلة وتكوين عدد صحيح ، وملطفة على التوالي.
VS: = myinifile.ReadString ("اسم القسم" ، "الكلمة الرئيسية" ، القيمة الافتراضية) ؛
vi: = myinifile.ReadInteger ("اسم القسم الفرعي" ، "الكلمة الرئيسية" ، القيمة الافتراضية) ؛
VB: = myinifile.readbool ('اسم القسم' ، "الكلمة الرئيسية" ، القيمة الافتراضية) ؛
القيمة الافتراضية هي القيمة الافتراضية التي يتم إرجاعها عندما لا تكون الكلمة الرئيسية موجودة في ملف INI.
5. اكتب إلى ملف INI
وبالمثل ، توفر فئة Tinifile أيضًا ثلاث طرق مختلفة للكائنات ، وسلاسل الكتابة ، وأرقام عدد صحيح ، والكلمات الرئيسية المنطقية إلى ملف INI.
myinifile.writeString ("اسم القسم الفرعي" ، "الكلمة الرئيسية" ، القيمة المتغيرة أو السلسلة) ؛
myinifile.writeInteger ("اسم القسم الفرعي" ، "الكلمة الرئيسية" ، القيمة المتغيرة أو الصدقة) ؛
myinifile.writeBool ("اسم القسم الفرعي" ، "الكلمة الرئيسية" ، متغير أو صحيح أو خطأ) ؛
عندما لا يكون ملف INI هذا ، سيقوم البيان أعلاه أيضًا بإنشاء ملف INI تلقائيًا.
6. حذف الكلمات الرئيسية
بالإضافة إلى إضافة كلمة رئيسية باستخدام طريقة الكتابة ، توفر فئة Tinifile أيضًا طريقة كائن لحذف الكلمة الرئيسية:
myinifile.deletekey ("اسم القسم الفرعي" ، "الكلمة الرئيسية") ؛
7. عملية القسم
يمكن إجراء إضافة قسم عن طريق كتابة الطريقة ، ويمكن حذف قسم القيام به بواسطة طريقة الكائن التالية:
myinifile.eraseSecteCtection ('اسم القسم الفرعي') ؛
بالإضافة إلى ذلك ، توفر فئة Tinifile أيضًا ثلاث طرق للكائنات للعمل على الأقسام الفرعية:
MyInifile.ReadSection ("اسم القسم" متغير TSTRINGS) ؛
MyInifile.ReadSections (متغير TSTRINGS) ؛
MyInifile.ReadSectionValues ("اسم القسم" ، متغير TSTRINGS) ؛
8. إطلاق
حرر myinifile في الموقع المناسب مع البيان التالي:
myinifile.distory ؛
تسعة
يستخدم ما يلي مثالًا بسيطًا (كما هو موضح في الشكل) لإظهار طريقة إنشاء ملفات INI وقراءة وتخزين. يحتوي ملف myini.ini على "معلمات البرنامج" القسم الفرعي وثلاث كلمات رئيسية: اسم المستخدم (السلسلة) ، سواء كان المستخدم الرسمي (القيمة المنطقية) ووقت التشغيل (قيمة متكاملة). يقرأ البرنامج هذه البيانات في إنشاء النموذج ويكتب ملف myini.ini عند إصدار النموذج.
قائمة برامج المصدر
الوحدة 1 ؛
واجهة
يستخدم
Windows ، الرسائل ، sysutils ، الفئات ، الرسومات ، عناصر التحكم ، النماذج ، الحوار ، inifiles ، stdctrls ، extctrls ؛
يكتب
tform1 = فئة (tform)
EDIT1: TEDIT ؛
مربع الاختيار 1: Tcheckbox ؛
EDIT2: TEDIT ؛
Label1: tlabel ؛
Label2: tlabel ؛
Timer1: تتيمر ؛
Label3: tlabel ؛
الإجراءات (المرسل: tooject) ؛
الإجراءات formdestroy (المرسل: tooject) ؛
الإجراءات (Sender: tobject) ؛
خاص
{privatedEclarations}
عام
{publicdeclarations}
نهاية؛
var
Form1: Tform1 ؛
تطبيق
var
myinifile: tinifile.
{$ r*.dfm}
الإجراءات 1.FormCreate (المرسل: tobject) ؛
var
اسم الملف: سلسلة ؛
يبدأ
اسم الملف: = extractFilePath (paramstr (0))+'myini.ini' ؛
myinifile: = tinifile.create (اسم الملف) ؛
edit1.text: = myinifile.readString ('Program Parameters "،' اسم المستخدم '،' اسم المستخدم الافتراضي ') ؛
edit2.text: = inttoStr (myinifile.ReadInteger ('Program Parameters' ، 'Runned time' ، 0)) ؛
checkbox1.checked: = myinifile.readbool ('معلمات البرنامج' ، 'هل هو مستخدم رسمي ، خطأ) ؛
نهاية؛
الإجراءات 1.FormDestroy (المرسل: tobject) ؛
يبدأ
myinifile.writeString ('معلمات البرنامج' ، 'اسم المستخدم' ، edit1.text) ؛
myinifile.writeInteger ("معلمات البرنامج" ، "Time Runned" ، strtoint (edit2.text)) ؛
myinifile.writeBool ("معلمات البرنامج" ، "هل هو مستخدم رسمي" ، checkbox1.checked) ؛
myinifile.destroy ؛
نهاية؛
الإجراءات 1.timer1timer (المرسل: tobject) ؛
يبدأ
edit2.text: = inttoStr (strtoint (edit2.text) +1) ؛
نهاية؛
نهاية.