تلعب ملفات INI دورًا مهمًا جدًا في تكوين النظام وحفظ معلمات التطبيق وإعدادها، لذلك توفر عائلة البرمجة المرئية، مثل VB وVC وVFP وDelphi وما إلى ذلك، طرقًا لقراءة وكتابة ملفات INI يتم تشغيله في ملف دلفي، وهو الأكثر إيجازًا، وذلك لأن دلفي توفر فئة TInifile، والتي تسمح لنا بمعالجة ملفات INI بمرونة شديدة . بنية ملف INI [اسم القسم] الكلمة الأساسية لملف ini 1 = القيمة 1 الكلمة الأساسية 2 = القيمة 2 تسمح ملفات INI بأقسام متعددة، ويسمح كل قسم بكلمات رئيسية متعددة "=" متبوعة بقيمة الكلمة الأساسية. هناك ثلاثة أنواع من القيم: السلاسل، والقيم الصحيحة، والقيم المنطقية. يتم تخزين السلسلة في ملف INI بدون علامات الاقتباس، ويتم تمثيل القيمة الحقيقية المنطقية بـ 1، ويتم تمثيل القيمة المنطقية الخاطئة بـ 0.
2. التعريف
1. أضف IniFiles في قسم الاستخدامات بالواجهة؛
2. أضف سطرًا في قسم تعريف متغير Var: myinifile:Tinifile;
يحدد مثيل للفئة. بعد ذلك، يمكنك إنشاء وفتح وقراءة وكتابة وعمليات أخرى على المتغير myinifile.
3. افتح ملف INI
myinifile:=Tinifile.create(PRogram.ini);
سينشئ سطر البيان أعلاه اتصالاً بين المتغير myinifile والملف المحدد Program.ini، ومن ثم يمكن قراءة وكتابة قيمة الكلمات الأساسية في الملف Program.ini من خلال المتغير myinifile. تجدر الإشارة إلى أنه إذا لم يحدد اسم الملف الموجود بين قوسين مسارًا، فسيتم تخزين ملف Program.ini في دليل Windows. تتمثل طريقة تخزين ملف Program.ini في الدليل الحالي للتطبيق في تحديد ذلك مسار كامل واسم الملف. يمكن للعبارتين التاليتين إكمال هذه الوظيفة: Filename:=ExtractFilePath(Paramstr(0))+program.ini;myinifile:=Tinifile.Create(filename);
5. اكتب ملف INI
وبالمثل، توفر فئة TInifile أيضًا ثلاث طرق كائنية مختلفة لكتابة السلاسل والأعداد الصحيحة والكلمات الأساسية من النوع المنطقي إلى ملف INI.
myinifile.writestring(اسم القسم، الكلمة الأساسية، المتغير أو قيمة السلسلة)؛
myinifile.writeinteger(اسم القسم، الكلمة الأساسية، قيمة المتغير أو العدد الصحيح)؛
myinifile.writebool(اسم القسم، الكلمة الأساسية، متغير أو صحيح أو خطأ)؛
في حالة عدم وجود ملف INI، سيقوم البيان أعلاه تلقائيًا بإنشاء ملف INI.
6. حذف الكلمات الرئيسية
بالإضافة إلى إضافة كلمة أساسية باستخدام طريقة الكتابة، توفر فئة Tinifile أيضًا طريقة كائن لحذف الكلمات الأساسية:
myinifile.DeleteKey(اسم القسم,الكلمة الرئيسية);
7. قسم التشغيل
يمكن إضافة قسم باستخدام طريقة الكتابة، ويمكن إجراء حذف قسم باستخدام طريقة الكائن التالية:
myinifile.EraseSection(اسم القسم);
بالإضافة إلى ذلك، توفر فئة Tinifile أيضًا ثلاث طرق كائنية للعمل على الأقسام: myinifile.readsection (اسم القسم، متغير TStrings)؛ يمكن قراءة جميع أسماء المفاتيح في القسم المحدد في متغير قائمة السلاسل؛ يمكن قراءة جميع أسماء الأقسام في ملف INI في متغير قائمة السلسلة. myinifile.readsectionvalues (اسم القسم، متغير TStrings)؛ يمكنه قراءة جميع الأسطر (بما في ذلك الكلمات الأساسية، =، القيم) للقسم المحدد في ملف INI إلى متغير قائمة السلاسل.
8. الافراج
قم بتحرير myinifile في الموقع المناسب مع العبارة التالية:
myinifile.distory;
فيما يلي أمثلة محددة. كود المصدر هو كما يلي. تم إنشاء ملف myini.ini، بقسم اسمه newini وثلاث كلمات رئيسية: "اسم المستخدم"، و"وقت التشغيل المنقضي"، و"ما إذا كان مستخدمًا رسميًا". للحصول على تأثير التشغيل، يمكنك ملء "اسم المستخدم" في تحرير 1؛ ويعرض تحرير 2 الوقت، ولا يمكن تغيير القيمة؛ ويحفظ مربع الاختيار 1 الوقت و"اسم المستخدم" عن طريق تحديده في ملف myini.ini يتم إعادة فتح التطبيق، إذا تم تعديل الوقت المحفوظ و"اسم المستخدم" المملوء في ملف myini.ini، فسيكون التأثير هو نفسه عند التعديل أثناء تشغيل البرنامج.
وحدة Unit1؛ تستخدم واجهات Windows، والرسائل، وSysUtils، والمتغيرات، والفئات، والرسومات، وعناصر التحكم، والنماذج، ومربعات الحوار، وinifiles، وStdCtrls، وExtCtrls؛ TLabel; CheckBox1: TCheckBox؛ الإجراء FormCreate(Sender: TObject); الإجراء FormDestroy(Sender: TObject); الإجراء Timer1Timer(Sender: TObject); تحديد مثيل لإجراء فئة {$R *.dfm}. TForm1.FormCreate(المرسل: TObject);varfilename:string;begin{تمت كتابة السطرين التاليين في شكل إنشاء ملف ini ضمن مسار التطبيق}filename:=ExtractFilePath(paramstr(0))+'myini.ini';myinifile:= TInifile.Create( filename);edit1.Text:=myinifile.ReadString(' newini','اسم المستخدم','Hu Changhao');edit2.text:=inttostr(myinifile.readinteger('newini','وقت التشغيل المنقضي',0));checkbox1.Checked:=myinifile.readbool('newini "،"هل هو مستخدم رسمي"،خطأ)؛{newini هو اسم القسم، والحقل الأوسط هو اسم الكلمة الأساسية، والحقل الثالث هو القيمة الافتراضية. في حالة عدم وجود myini.ini، يقوم البيان أعلاه تلقائيًا بإنشاء هذا الملف. علامات الاقتباس في الأسطر أعلاه هي علامات اقتباس مفردة}end;procedure TForm1.FormDestroy(Sender: TObject);begin. myinifile.writestring('newini','user name',edit1.Text);myinifile.writeinteger('newini','وقت التشغيل المنقضي',strtoint(edit2.text));myinifile.writebool('newini','سواء المستخدم الرسمي',checkbox1.Checked);myinifile.Destroy;end;إجراء TForm1.Timer1Timer(Sender: TObject);begin edit2.Text:=inttostr(strtoint(edit2.text)+1);end;end.
ملف ini