- إنضم
- 7 أغسطس 2018
- المشاركات
- 646
- مستوى التفاعل
- 666
- النقاط
- 93
- الإقامة
- الجزائر
- الموقع الالكتروني
- mx-blind.com
- الجنس
- ذكر
- نظام التشغيل
- Windows10
- قارئ الشاشة المستخدم
- jaws
بسم الله الرحمن الرحيم وبه نستعين والصلاة والسلام على أشرف الخلق والمرسلين.
أما بعد فأيها الأحباب أيها الكرام أحييكم بتحية الإسلام وتحية الإسلام السلام فالسلام عليكم ورحمة الله تعالى وبركاته.
يشرفني اليوم أن أعلن لِحضراتكم بأني قد عدت إلى دورة تعلم autoit وسنتممها إلى النهاية بإذن الله
وهذا بعد توقف طويل بسبب الدراسة ومشاغل الحياة كما نعلم, لاكن وبتوفيق من الله تمكنت من العودة إلى تقديم هذه الدورة إن شاء الله ليستفيد أكبر عدد من الناس.
اليوم سنشرع من الدرس الثاني عشر في الدورة حيث نمُر على أمور بسيطة تمهيدا لما سيأتي
طبعا لمن يبحث عن دروس هذه اللغة السابقين يمكنه العودة إلى المنشور المثبت في هذا المنتدى الذي قام بنشره أخي عاشق التقنية
جزاه الله خير
وإبتداءا من هذا الدرس سأشرع في تقديم الدورة هنا في المنتديات لكي يسهل النقاش فيها إن شاء الله
وإن تمكنت سأحاول نقل المواضيع القديمة إلى هنا لكي يتسنى التنقل بينها دون عناء المدونة
الآن وبدون إطالة لنتوكل على الله تعالى ونشرع في درسنا
في هذا الدرس سنقدم لكم دوال قراءة الملفات الرسمية وكتابتها
حيث من خلال هذه الدوال ستتمكن من فتح الملفات والكتابة عليها وقراءتها بكل سهولة ويسر
حيث سنتطرق لدالتين واحدة للقراءة والثانية للكتابة بالإضافة إلى دالة لفتح الملف ودالة لغلقه
والآن لنتوكل على الله
حيث تستخدم هذه الدالة لفتح الملفات النصية في السكربت وتجهيزها للعمل عليها سواءا قراءة أو كتابة
إسم الدالة هو
fileOpen
شكل الدالة هو :
FileOpen ("اسم الملف" [النمط = 0])
تحتوي هذه الدالة على إعدادين وهما :
يجب أن يكن مجلد الهدف موجود إلا اذا قمت باستخدام $FO_CREATEPATH.
كما يمكنكم استخدام المتغيرات المذكورة وهذا بعد استدعاء ملف
FileConstants.au3.
وإلا يمكنكم استخدام بدل من ذالك الأرقام الموجودة بين قوسين دون استدعاء الملف
في حال تحققت العملية فستقوم الدالة بإرجاع القيمة الرمزية التي تسمح لك باستخدامها في الدوال الأخرى
أما في حال الفشل فالنتيجة تكون -1
هذا مثال لقراءة ملف بترميز UTF8 مع إنشاء المجلد في حال عدم الوجود بالإضافة إلى الكتابة في آخر الملف
هذه الدالة تستخدم لغلق الملف المفتوح بواسطة FileOpen
حيث إعدادها إعداد واحد وهو
الرمز الذي ترجع به دالة fileOpen
حيث شكلها
fileClose("handle")
إذا تم إغلاق الملف بنجاح فالنتيجة التي تعود بها هي 1 وإلا فهي 0
هنا سأقوم باستعراض دوال كتابة وقراءة الملفات
ملاحظة :
كل الدوال التي سأذكرها يمكنكم استخدامها بدون استخدام FileOpen أو FileClose
حيث يمكنكم استخدام المسار الخاص بالملف فقط
لاكن يستحسن استخدامهم مع الدوال المذكورة لأنها تتيح لكم التحكم الشامل
نبدأ أولا مع دوال القراءة
هذه الدالة تستخدم لقراءة الملف بالكامل
حيث شكل الدالة كما يلي
FileRead ( "filehandle/filename" [, count])
حيث في الإعداد الأول نكتب إما رمز فتح الملف الذي تحصلنا عليه من خلال دالة FileOpen
أو مسار الملف الكامل
وفي الإعداد الثاني هو اختياري أي يمكنكم تركه فارغا
حيث تحدد هنا عدد الحروف التي تريده أن يقرأها
وبتركه فارغا فأنت تخبر اللغة بقراءة الملف بالكامل
في حال نجحت العملية فنتيجة الدالة تكون محتوى الملف
وإلا فرمز الخطأ يكون 1 في حال تعذر فتح الملف
أو -1 لأي خطأ آخر.
مثالا على هذه الدالة إليكم التالي
تستخدم هذه الدالة لقراءة سطر محدد من ملف نصي
وفكرتها نفس فكرة الدالة السابقة لاكن الإعداد الثاني بدلا من عدد الحروف نكتب رقم السطر الذي نريد قراءته
فشكل الدالة كما يلي
FileReadLine("handle", "line number")
إذ الإعداد الأول هو رمز فتح الملف الناتج من دالة fileOpen أو مسار الملف الكامل
أما الإعداد الثاني فنكتب رقم السطر
فالسطر الأول رقمه 1
والثاني 2
إلخ
أما لو أحببنا قراءة السطر الأخير مثلا فيمكن استخدام الرقم -1 لفعل ذالك
إن هذه الدالة في حال نجحت العملية فإنها تعود بمحتوى السطر المطلوب
وفي حال فشلت فرمز الخطأ يكن 1 أو -1
هذه هي دوال قراءة الملفات الرسمية المتاحة في لغة autoit
أما الآن فنأتي للدوال الخاصة بالكتابة
تستخدم هذه الدالة في كتابة محتوى في ملف محدد
حيث شكل الدالة كما يلي
FileWrite ( "رمز الملف/مسار الملف", "النص" )
حيث الإعداد الأول يمكن كتابة رمز الفتح الذي حصلنا عليه باستخدام دالة fileOpen
أو مسار الملف الكامل
أما الإعداد الثاني فنضع فيه النص الذي نريد كتابته
إن هذه الدالة في حال نجاح العملية فإنها ستعود لنا بالرقم 1
أما في حال الفشل فتعود بالرقم 0
ومسببات الفشل ربما تكون أن الفتح لم يتم على وضع الكتابة, أو أن الملف للقراءة فقط, أو يمكن أن تكون هناك أسباب أخرى كمثلا صلاحيات المسؤول في بعض المسارات.
إليكم فيما يلي مثال عن الدالة
هناك دالة اسمها
FileWriteLine
وهذه الدالة تستخدم لكتابة محتوى في السطر الأخير في الملف
لم أرغب في التفصيل فيها لقلة أهميتها
لأن الدالة الأولى يمكن أن تستبدلها بدون مشاكل
فهذه الدالة فيها إعدادين الإعداد الأول هو لرمز الملف المفتوح أو مساره
أما الإعداد الثاني فهو للسطر الذي نريد أن نظيفه
فيما يلي سأقوم بتجميع الدوال التي تطرقنا إليها في مثال واحد لكي تسهل عليكم التجربة
في النهاية لا تنسو أخوكم ناصر من صالح دعاءكم
ومن يملك أي استفسار أو طلب فعلى الرحب
في أي وقت
ولأي استفسار في الدرس يرجى التعليق هنا في الموضوع فقط.
كما من يملك استفسار عام في الدورة أو اللغة يرجى فتح موضوع جديد في المنتدى, رجاءا نظمو الأسئلة حسب المواضيع, فإذا كان لديكم أي سؤال يتعلق بدرس ما فيرجى السؤال في نفس الدرس.
أما إذا كان لديكم سؤال عام ففي موضوع مستقل في المنتدى.
تقبلو تحيات أخاكم في الله ناصر بعزيز, كما لا تنسو مشاركة الموضوع لتعم الفائدة.
أما بعد فأيها الأحباب أيها الكرام أحييكم بتحية الإسلام وتحية الإسلام السلام فالسلام عليكم ورحمة الله تعالى وبركاته.
يشرفني اليوم أن أعلن لِحضراتكم بأني قد عدت إلى دورة تعلم autoit وسنتممها إلى النهاية بإذن الله
وهذا بعد توقف طويل بسبب الدراسة ومشاغل الحياة كما نعلم, لاكن وبتوفيق من الله تمكنت من العودة إلى تقديم هذه الدورة إن شاء الله ليستفيد أكبر عدد من الناس.
اليوم سنشرع من الدرس الثاني عشر في الدورة حيث نمُر على أمور بسيطة تمهيدا لما سيأتي
طبعا لمن يبحث عن دروس هذه اللغة السابقين يمكنه العودة إلى المنشور المثبت في هذا المنتدى الذي قام بنشره أخي عاشق التقنية
جزاه الله خير
وإبتداءا من هذا الدرس سأشرع في تقديم الدورة هنا في المنتديات لكي يسهل النقاش فيها إن شاء الله
وإن تمكنت سأحاول نقل المواضيع القديمة إلى هنا لكي يتسنى التنقل بينها دون عناء المدونة
الآن وبدون إطالة لنتوكل على الله تعالى ونشرع في درسنا
محتوى الدرس
في هذا الدرس سنقدم لكم دوال قراءة الملفات الرسمية وكتابتها
حيث من خلال هذه الدوال ستتمكن من فتح الملفات والكتابة عليها وقراءتها بكل سهولة ويسر
حيث سنتطرق لدالتين واحدة للقراءة والثانية للكتابة بالإضافة إلى دالة لفتح الملف ودالة لغلقه
والآن لنتوكل على الله
دوال فتح الملف وغلقه
دالة فتح الملف (fileOpen)
حيث تستخدم هذه الدالة لفتح الملفات النصية في السكربت وتجهيزها للعمل عليها سواءا قراءة أو كتابة
إسم الدالة هو
fileOpen
شكل الدالة هو :
FileOpen ("اسم الملف" [النمط = 0])
إعدادات الدالة
تحتوي هذه الدالة على إعدادين وهما :
الإعداد | وصفه |
---|---|
إسم الملف | هنا يتم كتابة اسم الملف أو مساره الكامل |
النمط | هنا يتم تحديد نمط الفتح حيث تقوم باستخدام واحد أو أكثر من هذه الأنماط (يمكنك استخدام أكثر من نمط بالجمع بين الأنماط كمثلا النمط1 + النمط2) $FO_READ (0) = نمط القراءة فقط (الافتراضي) $FO_APPEND (1) = نمط الكتابة (في آخر الملف) $FO_OVERWRITE (2) = نمط الكتابة (حيث يحذف المحتوى القديم) $FO_CREATEPATH (8) = انشاء مجلد التخزين إذا لم يكن موجود. $FO_BINARY (16) = إجبار استخدام وضع Binary. $FO_UNICODE أو $FO_UTF16_LE (32) = استخدام Unicode UTF16 Little Endian في نمط القراءة أو الكتابة. $FO_UTF16_BE (64) = استخدام Unicode UTF16 Big Endian في القراءة أو الكتابة. $FO_UTF8 (128) = استخدام Unicode UTF8 (مع BOM) في القراءة أو الكتابة. $FO_UTF8_NOBOM (256) = استخدام Unicode UTF8 (بدون BOM) في القراءة أو الكتابة. $FO_ANSI (512) = استخدام ANSI في القراءة أو الكتابة. $FO_UTF16_LE_NOBOM (1024) = استخدام Unicode UTF16 Little Endian (بدون BOM) في القراءة أو الكتابة. $FO_UTF16_BE_NOBOM (2048) = استخدام Unicode UTF16 Big Endian (بدون BOM) في القراءة أو الكتابة. $FO_FULLFILE_DETECT (16384) = للفتح من أجل الكتابة بدون BOM , استخدم محتوى الملف للتعرف على إذاما كان UTF8 أو UTF16. إذا لم تستخدم هذه سيتم التحقق فقط من 64KB الأولى في الملف. |
كما يمكنكم استخدام المتغيرات المذكورة وهذا بعد استدعاء ملف
FileConstants.au3.
وإلا يمكنكم استخدام بدل من ذالك الأرقام الموجودة بين قوسين دون استدعاء الملف
نتيجة الدالة التي ترجع بها
في حال تحققت العملية فستقوم الدالة بإرجاع القيمة الرمزية التي تسمح لك باستخدامها في الدوال الأخرى
أما في حال الفشل فالنتيجة تكون -1
مثال على الدالة
هذا مثال لقراءة ملف بترميز UTF8 مع إنشاء المجلد في حال عدم الوجود بالإضافة إلى الكتابة في آخر الملف
كود:
#include <FileConstants.au3>
local $h_open = FileOpen("d:\myfile.txt", $FO_OVERWRITE + $FO_CREATEPATH + $FO_UTF8)
دالة غلق الملف fileClose
هذه الدالة تستخدم لغلق الملف المفتوح بواسطة FileOpen
حيث إعدادها إعداد واحد وهو
الرمز الذي ترجع به دالة fileOpen
حيث شكلها
fileClose("handle")
إذا تم إغلاق الملف بنجاح فالنتيجة التي تعود بها هي 1 وإلا فهي 0
دوال كتابة وقراءة الملفات
هنا سأقوم باستعراض دوال كتابة وقراءة الملفات
ملاحظة :
كل الدوال التي سأذكرها يمكنكم استخدامها بدون استخدام FileOpen أو FileClose
حيث يمكنكم استخدام المسار الخاص بالملف فقط
لاكن يستحسن استخدامهم مع الدوال المذكورة لأنها تتيح لكم التحكم الشامل
نبدأ أولا مع دوال القراءة
قراءة الملف بالكامل FileRead
هذه الدالة تستخدم لقراءة الملف بالكامل
حيث شكل الدالة كما يلي
FileRead ( "filehandle/filename" [, count])
حيث في الإعداد الأول نكتب إما رمز فتح الملف الذي تحصلنا عليه من خلال دالة FileOpen
أو مسار الملف الكامل
وفي الإعداد الثاني هو اختياري أي يمكنكم تركه فارغا
حيث تحدد هنا عدد الحروف التي تريده أن يقرأها
وبتركه فارغا فأنت تخبر اللغة بقراءة الملف بالكامل
نتائج الدالة
في حال نجحت العملية فنتيجة الدالة تكون محتوى الملف
وإلا فرمز الخطأ يكون 1 في حال تعذر فتح الملف
أو -1 لأي خطأ آخر.
مثال
مثالا على هذه الدالة إليكم التالي
كود:
#include <FileConstants.au3>
;فتح الملف مع وضع القراءة وترميز UTF8
local $h_open = FileOpen("d:\myfile.txt", $FO_READ + $FO_UTF8)
;قراءة الملف باستخدام الرمز
local $s_read = FileRead($h_open)
;عرض محتوى الملف
msgBox(64, "النص المقروء", $s_read)
;غلق الملف المفتوح
FileClose($h_open)
;الخروج من البرنامج
exit
قراءة سطر محدد من الملف FileReadLine
تستخدم هذه الدالة لقراءة سطر محدد من ملف نصي
وفكرتها نفس فكرة الدالة السابقة لاكن الإعداد الثاني بدلا من عدد الحروف نكتب رقم السطر الذي نريد قراءته
فشكل الدالة كما يلي
FileReadLine("handle", "line number")
إذ الإعداد الأول هو رمز فتح الملف الناتج من دالة fileOpen أو مسار الملف الكامل
أما الإعداد الثاني فنكتب رقم السطر
فالسطر الأول رقمه 1
والثاني 2
إلخ
أما لو أحببنا قراءة السطر الأخير مثلا فيمكن استخدام الرقم -1 لفعل ذالك
نتيجة الدالة
إن هذه الدالة في حال نجحت العملية فإنها تعود بمحتوى السطر المطلوب
وفي حال فشلت فرمز الخطأ يكن 1 أو -1
مثال
كود:
#include <FileConstants.au3>
;فتح الملف مع وضع القراءة وترميز UTF8
local $h_open = FileOpen("d:\myfile.txt", $FO_READ + $FO_UTF8)
;قراءة السطر الثاني في الملف باستخدام الرمز
local $s_read = FileReadLine($h_open, 2)
;عرض محتوى السطر
msgBox(64, "النص المقروء", $s_read)
;غلق الملف المفتوح
FileClose($h_open)
;الخروج من البرنامج
exit
هذه هي دوال قراءة الملفات الرسمية المتاحة في لغة autoit
أما الآن فنأتي للدوال الخاصة بالكتابة
دالة كتابة المحتوة fileWrite
تستخدم هذه الدالة في كتابة محتوى في ملف محدد
حيث شكل الدالة كما يلي
FileWrite ( "رمز الملف/مسار الملف", "النص" )
حيث الإعداد الأول يمكن كتابة رمز الفتح الذي حصلنا عليه باستخدام دالة fileOpen
أو مسار الملف الكامل
أما الإعداد الثاني فنضع فيه النص الذي نريد كتابته
نتيجة الدالة
إن هذه الدالة في حال نجاح العملية فإنها ستعود لنا بالرقم 1
أما في حال الفشل فتعود بالرقم 0
ومسببات الفشل ربما تكون أن الفتح لم يتم على وضع الكتابة, أو أن الملف للقراءة فقط, أو يمكن أن تكون هناك أسباب أخرى كمثلا صلاحيات المسؤول في بعض المسارات.
مثال
إليكم فيما يلي مثال عن الدالة
كود:
#include <FileConstants.au3>
;فتح الملف مع وضع الكتابة والاستبدال وترميز UTF8
local $h_open = FileOpen("d:\myfile.txt", $FO_OVERWRITE + $FO_UTF8)
;كتابة محتوى في الملف باستخدام رمز الفتح
local $i_Write = FileWrite($h_open, "هذا مثال لكتابة محتوى معين في ملف")
;اظهار نتيجة العملية
msgBox(64, "النتيجة", $i_Write)
;غلق الملف المفتوح
FileClose($h_open)
;الخروج من البرنامج
exit
ملاحظة :
هناك دالة اسمها
FileWriteLine
وهذه الدالة تستخدم لكتابة محتوى في السطر الأخير في الملف
لم أرغب في التفصيل فيها لقلة أهميتها
لأن الدالة الأولى يمكن أن تستبدلها بدون مشاكل
فهذه الدالة فيها إعدادين الإعداد الأول هو لرمز الملف المفتوح أو مساره
أما الإعداد الثاني فهو للسطر الذي نريد أن نظيفه
مثال كامل على الدوال
فيما يلي سأقوم بتجميع الدوال التي تطرقنا إليها في مثال واحد لكي تسهل عليكم التجربة
كود:
#include <FileConstants.au3>
;فتح ملف مع وضع الكتابة وترميز utf8
local $h_open = FileOpen("d:\myfile.txt", $FO_OVERWRITE + $FO_UTF8)
;كتابة محتوى في ملف
FileWrite($h_open, "مرحبا هذا نص مكتوب" & @crlf & "هذا سطر آخر")
;غلق الملف المفتوح
FileClose($h_open)
;قراءة الملف
$s_read = FileRead("d:\myfile.txt")
;عرض المحتوى
msgBox(64, "محتوى الملف", $s_read)
;قراءة السطر الثاني
$s_readLine = FileReadLine("d:\myfile.txt", 2)
;عرض المحتوى
msgBox(64, "محتوى السطر", $s_readLine)
;الخروج من البرنامج
exit
خاتمة
في النهاية لا تنسو أخوكم ناصر من صالح دعاءكم
ومن يملك أي استفسار أو طلب فعلى الرحب
في أي وقت
ولأي استفسار في الدرس يرجى التعليق هنا في الموضوع فقط.
كما من يملك استفسار عام في الدورة أو اللغة يرجى فتح موضوع جديد في المنتدى, رجاءا نظمو الأسئلة حسب المواضيع, فإذا كان لديكم أي سؤال يتعلق بدرس ما فيرجى السؤال في نفس الدرس.
أما إذا كان لديكم سؤال عام ففي موضوع مستقل في المنتدى.
تقبلو تحيات أخاكم في الله ناصر بعزيز, كما لا تنسو مشاركة الموضوع لتعم الفائدة.