الدرس الثالث عشر في دورة autoit – التحكم في ملفات ini

بسم الله الرحمان الرحيم
والصلاة والسلام على أشرف الأنبياء والمرسلين
أما بعد فأيها الإخوى والأخوات أهلا وسهلا ومرحبا بكم في درسنا الثالث عشر من دروس دورة autoit
حيث اليوم سنتطرق بإذن الله إلى طريقة التعامل مع ملفات INI
والمعروف عن ملفات INI
هي ملفات تستخدم لتخزين المعلومات لكي تستفيد البرامج منها
كمثلا تخزين الإعدادات والبيانات الخاصة بالمستخدم لكي يتعرف عليها البرنامج لاحقا ويعمل بها.
وشكل ملفات INI القياسية يكون كالتالي
[القسم] المفتاح=القيمة
المفتاح2=القيمة2

حيث كما نلاحظ هنا القسم هو العنصر الذي تدرج تحته مفاتيح وكل مفتاح بدوره يحتوي على قيمة معينة

والتعامل معها بسيط وسهل
حيث لغة autoit توفر لك دوال جاهزة تساعدك على التخزين في هذه الملفات والقراءة منها
فهيا بنا لنتعرف على ثلاثة من هذه الدوال

ملاحظة :
الدوال التي سأضعها بين أيديكم اليوم هي الدوال الأكثر أهمية, هناك دوال أخرى لم أتطرق إليها نظرا لاستخدامها استخداما متقدما ولكي لا تختلط عليكم الأمور لن أتطرق إليها في هذا الدرس لاكن سنمر عليها لاحقا حينما نقم بالتوسع في الدورة :
الدوال التي سنتعرف عليها اليوم هي

  1. INIRead (تستخدم لقراءة المحتوى من الملف)
  2. INIWrite (تستخدم لكتابة المحتوى في الملف)
  3. INIDelete (تستخدم لحذف مفتاح أو قسم من الملف)

INIRead

تستخدم هذه الدالة لقراءة مفتاح معين من ملف INI حيث شكلها كالتالي :
INIRead(“الملف”, “القسم”, “المفتاح”, “القيمة الإفتراضية”)
حيث هي كما يلي :

الإعداد وصف
الملف هنا يتم كتابة مسار الملف الذي تريد القراءة منه (ملاحظة : لا يشترط أن يكن بصيغة INI حيث يمكنكم استخدام أي صيغة تريدونها)
القسم حيث هنا نكتب القسم الذي نريد قراءة المفتاح منه
المفتاح حيث هنا نقوم بكتابة إسم المفتاح الذي نريد الحصول على قيمته
القيمة الإفتراضية هنا نقوم بكتابة القيمة التي نريد الحصول عليها في حال تعذر قراءة المفتاح

ملاحظة :
جميع الإعدادات في هذه الدالة اجبارية.

في حال نجاح العملية فإن الناتج يكون قيمة المفتاح المراد قراءته أما إذا فشلت العملية فالناتج يكون القيمة الإفتراضية التي استخدمناها في الأعلى.

الآن نمر لمثال عن الدالة


$S_INI = INIRead(“c:\Settings.ini”, “general”, “path”, “c:\test”)
;إظهار النتيجة
msgBox(64, “result”, $S_INI)
;الخروج
exit

INIWrite

هذه الدالة تستخدم لكتابة محتوى في ملف INI
حيث شكلها كالتالي
INIWrite(“الملف”, “القسم”, “المفتاح”, “القيمة”)

وإعداداتها بالتفصيل كما يلي :

الإعداد وصف
الملف هنا يتم كتابة مسار الملف الذي تريد الكتابة فيه (ملاحظة : لا يشترط أن يكن بصيغة INI حيث يمكنكم استخدام أي صيغة تريدونها)
القسم حيث هنا نكتب القسم الذي نريد كتابة المفتاح فيه
المفتاح حيث هنا نقوم بكتابة إسم المفتاح الذي نريد إعطائه قيمة
القيمة هنا نقوم بكتابة القيمة التي نريد إعطائها للمفتاح

ملاحظة :
جميع الإعدادات في هذه الدالة اجبارية

الناتج في هذه الدالة يكون
1 في حال نجاح العملية
0 في حال فشلت العملية أو الملف للقراءة فقط

مثال عن الدالة

;كتابة ملف
INIWrite(“c:\Settings.ini”, “general”, “path”, “d:\new path”)
;قراءة ملف
$S_INI = INIRead(“c:\Settings.ini”, “general”, “path”, “c:\test”)
;إظهار النتيجة
msgBox(64, “result”, $S_INI)
;الخروج
exit

ملاحظات :
في حال أردت كتابة قيمة بترميز مختلف
فبإمكانكم إستخدام دالة FileOpen
التي تطرقنا إليها في الدرس السابق
كما يجب أن يكن المجلد الذي تريد كتابة الملف فيه موجود
أي لا تقوم الدالة بإنشاء المجلد
لاكن الملف ستقوم بإنشائه تلقائيا

INIDelete

هذه الدالة تستخدم لحذف قسم كامل أو مفتاح معين من قسم من ملف INI

وشكل الدالة كما يلي :
INIDelete(“الملف”, “القسم”, “المفتاح”)

الإعداد وصف
الملف هنا يتم كتابة مسار الملف الذي تريد الحذف منه (ملاحظة : لا يشترط أن يكن بصيغة INI حيث يمكنكم استخدام أي صيغة تريدونها)
القسم حيث هنا نكتب القسم الذي نريد حذفه
المفتاح حيث هنا نقوم بكتابة إسم المفتاح الذي نريد حذفه

ملاحظة :
الإعداد الأخير ليس اجباري
حيث إذا تجاهلت اسم المفتاح فسيقوم بحذف القسم بالكامل
أما إذا أعطيته اسم مفتاح معين فسيقوم بحذف المفتاح فقط

في حال نجاح العملية فالناتج يكون 1
وأما في حال الفشل فيكون الناتج 0

;كتابة ملف
INIWrite(“c:\Settings.ini”, “general”, “path”, “d:\new path”)
;قراءة ملف
$S_INI = INIRead(“c:\Settings.ini”, “general”, “path”, “c:\test”)
;إظهار النتيجة
msgBox(64, “result”, $S_INI)
;حذف المفتاح
INIDelete(“c:\Settings.ini”, “general”, “path”)
;محاولة قراءة المفتاح للتأكد من الحذف
$S_INI = INIRead(“c:\Settings.ini”, “general”, “path”, “c:\test”)
;إظهار النتيجة
msgBox(64, “result”, $S_INI)
;الخروج
exit

خاتمة

هذه الدوال هي الأكثر استخداما من دوال INI
وهناك دوال أخرى لم نتطرق إليها كما ذكرنا في الأعلى بإمكانكم البحث على الأنترنت أو أن تنتظرو إلى أن نتطرق لها مع تقدم الدروس لكي لا تختلط الأمور

ملاحظة :
في الدرس القادم سنتطرق إلى الدوال المهمة في التعامل مع سجل نظام windows (registry)
ثم سنشرع فإنشاء النوافذ والعناصر والتحكم فيها.

من هنا إلى أن يحين موعد الدرس الرابع عشر أستودعكم الله الذي لا تغيب ودائعه
لا تنسوني من دعائكم الصالح
والسلام عليكم ورحمة الله تعالى وبركاته

عن ناصر بعزيز

شاب من الجزائر, مهتم بالأمور التقنية وشغوف بالبحث والتعلم. يشرفني التواصل معكم, وأنا في الخدمة لأي مساعدة. للتواصل معي يرجى استخدام وسائل الإتصال المتاحة أعلى الموقع.

شاهد أيضاً

الدرس العاشر في دورة autoit – دوال التحكم في النوافذ

بسم الله الرحمان الرحيم; والصلاة والسلام على أشرف الخلق والمرسلين. أما بعد فأيها الأحباب, أيها …

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *