الدرس الثالث عشر في دورة تعلم autoit (التعامل مع ملفات INI)

ناصر بعزيز

Administrator
طاقم الإدارة
إنضم
7 أغسطس 2018
المشاركات
646
مستوى التفاعل
666
النقاط
93
الإقامة
الجزائر
الموقع الالكتروني
mx-blind.com
الجنس
ذكر
نظام التشغيل
Windows10
قارئ الشاشة المستخدم
jaws
بسم الله الرحمان الرحيم
والصلاة والسلام على أشرف الأنبياء والمرسلين
أما بعد فأيها الإخوى والأخوات أهلا وسهلا ومرحبا بكم في درسنا الثالث عشر من دروس دورة 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
حيث اليوم سنتطرق بإذن الله إلى طريقة التعامل مع ملفات 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)
ثم سنشرع فإنشاء النوافذ والعناصر والتحكم فيها.

من هنا إلى أن يحين موعد الدرس الرابع عشر أستودعكم الله الذي لا تغيب ودائعه
لا تنسوني من دعائكم الصالح
والسلام عليكم ورحمة الله تعالى وبركات
 
لما عندما قمت بالرض اضاف نص التدوينة
 
ما شاء الله
شرح في غاية الروعة والجمال إستفدتُ منهُ كثيرا
بارك الله فيك أخي العزيز ناصر وبورك في دماغك الممتلء بالعلم
وجزاك الله كل خير
تقبل تحياتي.
 
رائع جدا ومتميز
بوركت صديقي ناصر
ذكرتني سهولة لغة ini وطريقة كتابتها بأكواد css وطريقة كتابتها
فهي تتعامل بطريقة مشابهة جدا لهذا في كتابة وتنسيق أكوادها وكلاساتها
 
ما شاء الله
شرح في غاية الروعة والجمال إستفدتُ منهُ كثيرا
بارك الله فيك أخي العزيز ناصر وبورك في دماغك الممتلء بالعلم
وجزاك الله كل خير
تقبل تحياتي.شكرا أخي على مرورك وتشجيعك
 
رائع جدا ومتميز
بوركت صديقي ناصر
ذكرتني سهولة لغة ini وطريقة كتابتها بأكواد css وطريقة كتابتها
فهي تتعامل بطريقة مشابهة جدا لهذا في كتابة وتنسيق أكوادها وكلاساتها
أهلا أخي أبو حميد شكرا على مرورك الجميل
بالفعل هما كلاهما سهلتان في الكتابة والفهم
 
عودة
أعلى