![]() |
|
استخدام فئة TINIFile لحفظ إعدادات المستخدم - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : متتديات باسكال Pascal (https://delphi4arab.net/forum/forumdisplay.php?fid=7) +--- قسم : Lazarus - Free Pascal - CrossKylix - Kylix - CrossVCL (https://delphi4arab.net/forum/forumdisplay.php?fid=34) +--- الموضوع : استخدام فئة TINIFile لحفظ إعدادات المستخدم (/showthread.php?tid=4474) |
استخدام فئة TINIFile لحفظ إعدادات المستخدم - a.atalla - 22-08-2012 السلام عليكم ورحمة الله وبركاته
خاصية هامة للغاية وعلامة جيدة علي مهارة المبرمج هي قدرة برنامجه علي حفظ إعدادت المستخدم وتحميلها عند بدء البرنامج في كل مرة هذه الفئة تسهل العملية بشكل كبير بدلا من أن يضطر المبرمج لأستخدام ملفات xml مثلا هذه الوحدة من ضمن مكتبات Free Component Libirary FCL للمترجم FreePascal يتم حفظ اﻷعدادت في ملف نصي بامتداد ini في مكان يحدده المبرمج * نتعرف أولا علي بنية ملف ini اللذي تحفظ فيه اﻷعدادت ويتكون من أقسام وكل قسم يحتوي علي أزواج كالتالي كود : [Section 1]
key_1 = Value_1
key_2 = Value_2
key_3 = Value_3
[Section2]
key_4 = Value_4
key_5 = Value_5
key_6 = Value_6* كيفية الاستخدام أولا عليك اضافة الوحدة INIFiles إلي قسم uses ثم إنشاء كائن من الفئة TINIFile كود : var
INI : TINIFile;
begin
INI := TINIFile.Create('C:\config.ini');ليس عليك أن تنشئه يدويا لقراءة قيمة من الملف كود : myValue_1 = INI.ReadString('Section1','key_1','');يتم تمرير ثلاث معاملات للدالة :
بمعني أنه إذا كان لا يوجد قسم اسنه Section1 أو مفتاح باسم key_1 سيتم اسناد القيمة '' للمتغير myValue_1 وبالمثل يمكنك إضافة أقسام أو مفاتيح جديدة أو حتي انشاء ملف ini غير موجود بالدوال WriteString , WriteINteger , WriteFloat , WriteBool كود : INI.WriteString('Section1','key_1',value_11);مثال : PHP كود : program Project1;عند تشغيل المثال لأول مرة كما هو حيث لا وجود لملف config.ini في مجلد المشروع فإن دالة ReadData سوف تطبع القيم اﻷفتراضية اللتي تم تمريرها كود : Ahmed
test@example.com
31كود : Ahmed Atalla
me@mysite.com
50وستجد ملف config.ini في مجلد المشروع يمكنك فتحه بأي برنامج للنصوص واﻷطلاع علي بنيته المرجع كود : http://wiki.freepascal.org/Using_INI_Files/arتم بحمد الله
|