[درس] دروس مبسطة للAutoit Script
بسم الله الرحمن الرحيم
الأعضاء و الزوار الأعزاء
السلام عليكم و رحمة الله و بركاته ...
أما بعد ..
صراحة ترددت أكثر من مرة في طرح هذا الموضوع أو عمل هذا الدرس .. و ذلك ليس بسبب صعوبة هذا النوع من البرمجة .. و إنما العكس تماما ..أي بسبب سهولتها الكبيرة مقارنة باللغات الاعتيادية (كالبيسك و السي و غيرهما).
لكن الضرورة تحتم علينا معرفتها و استخدامها لانها تختصر الكثير من الوقت و تفتح المجال للتطور (و لو مؤقتا)
لذلك كان لابد من تجربتها أو على الأقل فهم كيفية عملها ...
و نبدأ اليوم بهذه الأسئلة ...
س: ما السكريبت - Script ؟
بالعربي يعني مستند أو نص مكتوب
أما المعنى التقني له فهو:
برنامج مكتوب بإحدى لغات البرمجة لغرض عام أو خاص اعتمادا على التطبيقات المستخدمة المرادة.
س: ما الفرق بين برمجة الScript و البرمجة باللغات المعروفة كالBasic و الJava و الC++ ؟
Scripting Language قد تكون High-Level Language أو أمر أو لغة سريعة الترجمة (interpreted)
على غرار التدقيق (Compiled) التي في اللغات الأخرى.. ولذلك السكريبت اسرع منها بكثير.
و أيضا اختلاف آخر و هو في الـ"نحو" (Syntax) و هي في السكريبت أبسط .
س: ما الVBScript و ما الويندوز سكريبت ؟
الVBScript : هي لغة برمجة سكريبت من ميكروسوفت و هي جزء من لغة الVisual Basic .. و من أمثلة إستخداماتها => برمجة مواقع الASP ..
Windows Script - wscript : هي الscrpits التي يشغلها الويندوز، و كثيرا ما تستخدم أوامر الدوس و بالتالي الBatches (.bat files) و أيضا تستخدم الVBscript بشكل كبير
س: ما الأوتو إت Autoit Script ؟
و هو automation scripts لبرامج الويندوز .. معروف عنه بأنه الأفضل في مجال اعادة عمل .
س: لماذا الAutoit Script ؟
لأنه الأفضل و الأسهل و الأشهر و أيضا مجاني (و ما يحتاج إني أقول لكم انه open source .. ;) )
س: و الآن ... مما سبق يبدو الscript أسهل من باقي اللغات .. فلماذا لم تكن تريدنا أن نتعلمه ؟
.... كما في التعريف السابق .. أنها لغة تستخدم لغرض محدد ... فإن زادت المتطلبات أو لم تجدوا ما تريدونه في هذه اللغة .. فلن تستطيعوا فعلها .. و بالتالي سيكون البديل صعب جدا .. و هو تعلم لغة جديدة .. للأسف .. !
طبعا بالنسبة للمبرمجين المتمرسين لن يشكل هذا عائقا لهم أبدا .. لأن لديهم البديل
أما بالنسبة للمبتدئين .. فقد يجدوا ضالتهم فيه .. كعمل برنامج بسيط و صغير و مفيد .. دون أن يضطروا للخوض في أعماق اللغات الأخرى .. و أيضا قد يساعدهم و يحفزهم لتعلم المزيد و من ثم تعلم إحدى اللغات الأخرى ..
و في إطار هذا الحديث أنصحكم بقراءة هذا الموضوع الجميل :D :
لاتتعلم السي# او الفجوال بيسك
س: أين أجد الAutoit Script ؟
هذا هو البرنامج autoit3 مع المحرر له SciTE
س: طيب و ماذا بعد ؟
من الممكن لمن لديهم معرفة كافية في البرمجة .. أن يطوروا أحد برامجي الأخيرة المصممة بنفس اللغة .. أو على الأقل أن يلقوا عليه نظرة..
===> تفضل مشروع كامل لعمل برنامج مفتوح المصدر .. حصريا <===
---------------------------
هذا .. و إن شاء الله ان كان في العمر بقية .. سيكون الدرس القادم عبارة عن مقتطفات سريعة لاستخدامات هذه اللغة..
أتمنى من الجميع ان يتابعوا معي هذا الموضوع .. حتى تعم الفائدة .. و تعرفون سر برامجي الأخيرة ;)
طبعا .. هذا الموضوع حصريا لهذا المنتدى .. و لكن لمدة شهر !؟ :أفكر: :o ;)
و إلى اللقاء :ciao:
__________________
الكاتب Well-knownQ8
استخدمت بعض من المعلومات من موقع
http://www.answers.com/
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
السلام عليكم ^^
يا سلاااااااام ..
والله انت كذااا ^^ ... (كذا = رفع الاصبع الابهام لفوق ... يعني هيك : :biggthump )
سلمت تسلم والله على هالمشاركة والمبادرة الجميلة منك اخي
شكرا لك .... وكلي شوق ان ارى هذه اللغة ^^
ياريت لو عرضت علينا كل ماتفعله هذه اللغة ... وهي لأي غرض بالتحديد ^^ ....
تسلم والله ياخوي .... تسلم .. واكمل يارجل ^^
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
السلام عليكم و رحمة الله و بركاته
مشكور حبيبي على هذا الدرس المفيد.. حفظته في المفضلة..
ننتظر مزيدك و نتمنى لك التوفيق..
و على قولة جـــافـــا :biggthump أنت كذا
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
:biggthump :biggthump :biggthump
:biggthump :biggthump
:biggthump
^_^
-- الموضوع يحتاج الى بعض الصور :D
-- جافا ياريت تتعود تكتب بالاسود :D
-- هل تحتاج هذه اللغه (إن شأت) ملفات Run Time Files ام تكون موجوده في الوندوز أساسا
-- --
أنا أحببت ال #C لكنني أرى العالم كله يتحدث عن مستقبل مبهر للجافا :blackeye:
-- ما مدى اختلافهما عن بعضهما
وشكرا لك (:
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
شوقتني للدرس التالي
أظن أن برنامجك (System Information) مبرمج على VScript ,, صح ؟؟
إن شاء الله تكون لغة سهلة ومفيدة
لأن صار عندي هوس في تعلم اللغات ,, بعدين يتحول لصرع خخخخ
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
جافا
و عليكم السلام و الرحمة ..
وجودك و حضورك شرف كبير لي يا حمزة :)
بالنسبة لسؤالك عما تفعله هذه اللغة .. ببساطة تابع الموضوع .. و ان شاء الله الجواب سيفي بالغرض ;)
-----------
ديجراتي
^_^ عفوا و على الرحب و السعة .. و يشرفني حضورك الكريم :)
-----------
عبدالكريم
لا تستعيل على الصور .. ان شاء الله الدرس القادم كله صور و أكواد;)
--- لا ... لا تحتاج هذه اللغة لأي برنامج إضافي ... فهي تستخدم كل ما هو موجود أساسا في الويندوز ! :)
--- الجافا و الC# .. هناك معركة قوية بينهما ... لكن دعنا من هذا .. و خلنا على هذه اللغة البسيطة التي بين أيدينا ;)...
-----------
هاك × هاك
حياك الله و أتمنى متابعتك .. :)
نعم .. الsyntax في برنامج "معلومات الجهاز" و في جميع برامجي الأخيرة .. هي VBScript .. أما المضمون فأغلبه Windows Script ..
إن شاء الله سأتطرق لهذا في الدروس القادمة ... :)
1 مرفق
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
ااه .. قبل أن أنتقل الى الدرس التالي ..
أود أن أريكم إستخدام آخر للAutoit ( و يمكن هذا أهم استخدام لهذا البرنامج )
في المرفق ملف به ملف التشغيل لهذا الكود
كود PHP:
$answer = MsgBox(4, "AutoIt Example (English Only)", "This script will run Notepad type in some text and then quit. Run?")
If $answer = 7 Then
MsgBox(0, "AutoIt", "OK. Bye!")
Exit
EndIf
Run("notepad.exe")
WinWaitActive("Untitled - Notepad")
Send("Hello from Notepad.{ENTER}1 2 3 4 5 6 7 8 9 10{ENTER}")
Sleep(500)
Send("+{UP 2}")
Sleep(500)
Send("!f")
Send("x")
WinWaitActive("Notepad", "No")
Send("n")
WinWaitClose("Untitled - Notepad")
فلن تصدقوا ماذا سيحدث !! ... ;)
1 مرفق
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
الدرس الثالث: التعرف على البرنامج
1- بعد تثبيت البرنامجين Autoit و SCiTE
من الجيد أن تدخل إلى مجلد Examples(مكانه C:\Program Files\AutoIt3\Examples) و ترى(أو تشغل) الملفات التي هناك ;)
2- شغل البرنامج Scite Editor من
Start -> Programs -> AutoIt v3 -> Scite -> SciTe
3- اكتب هذا الكود(على فكرة .. كتابة الكود يساعد كثيرا في التعلم السريع و الفهم السليم في البرمجة):
كود PHP:
;برنامجي الأول
$mytitle = "أهلا بالجميع"
$mytext = "في برنامجي الأول"
msgbox(0,$mytitle, $mytext)
الشرح:- $mytitle و $mytext هما اسمان لمتغيران في اللغة و يسمان Variables مع ملاحظة انه يجب أن يبدأ إسم المتغير في الAutoit بالرمز $ (علامة الدولار)
- msgbox هي وظيفة (Function) جاهزة لعمل "صندوق رسالة" في الويندوز..
4- احفظ الملف File ->Save Asثم سم الملف مع وضع الامتداد .au3 و ليكن
my_first_program.au3
5- إذهب إلى القائمة Tools -> Go (أو إضغط المفتاح F5)
و ذلك لتشغيل البرنامج ...
فإن ظهرت رسالة خطأ .. إضغط على زر Stop ثم اذهب إلى Tools->Next Message أو إضغط المفتاح F4) لرؤية مكان الخطأ حتى تعدله.
و سيظهر البرنامج كهذا:
-----
و بهذا انتهى البرنامج الأول و عرفت الآن كيف تكتب و تشغل أي برنامج ;)
-----
و الآن سنكتب برنامج آخر .. و أريد به فقط أن أعطي انطباعا عن كيفية كتابة برامج ذات واجهة رسومية .. و لن أتعمق في هذا كثيرا لأنه هناك طريقة سريعة لعملها و أيضا هناك أمور أهم ;)..
البرنامج الثاني:
كود PHP:
;My 2nd program using Autoit3
;A program that checks if the input was an integer or not.
#include <GuiConstants.au3>
GuiCreate("My 2nd Program.",200,100)
$label = GUICtrlCreateLabel("Enter a value:",10,10)
$CheckButton = GUICtrlCreateButton("Check...",10,60)
$input = GuiCtrlCreateInput("",10,30,80)
GuiSetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $CheckButton
$getvalue = GUICtrlRead( $input )
$check = StringIsInt( $getvalue )
if $check = 1 Then
MsgBox(0,"The value (" & $getvalue & ")","was an integer ;)")
Else
MsgBox(0,"The value (" & $getvalue & ")","was Not an integer XD")
EndIf
EndSelect
WEnd
الشرح
كود PHP:
#include <GuiConstants.au3>
هذا الملف ضروري لإنشاء الواجهة الرسومية من نوافذ و أزرار و قوائم و غيرها
و include تعني يتضمن
كود PHP:
GuiCreate("My 2nd Program.",200,100)
هذا لإنشاء نافذة بعرض 200 بكسل و طول 100 بكسل و تحمل العنوان My 2nd Program.
كود PHP:
$label = GUICtrlCreateLabel("Enter a value:",10,10)
لإنشاء سطر يحمل إسم Enter a Value و مكانه (بالنسبة للنافذة) على بعد 10 بكسل من اليسار و 10 بكسل من الأعلى
كود PHP:
$input = GuiCtrlCreateInput("",10,30,80)
لإنشاء صندوق إدخال مكانه (بالنسبة للنافذة) على بعد 10 بكسل من اليسار و 30 بكسل من الأعلى
و عرضه80 بكسل
كود PHP:
$CheckButton = GUICtrlCreateButton("Check...",10,60)
لإنشاء زر يحمل إسم Check و مكانه (بالنسبة للنافذة) على بعد 10 بكسل من اليسار و 60 بكسل من الأعلى
هذا لإظهار النافذة
... يتبع ....
3 مرفق
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
كود PHP:
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
.
.
.
EndSelect
WEnd
هذا الهيكل لجعل النافذة ظاهرة و موجودة حتى يتم إغلاقها عن طريق الزر X (أو Alt+F4)
كود PHP:
$msg = GUIGetMsg()
إذا تم الضغط على أي زر يسمى هذا الفعل بال"حدث" (Event)
فإذا تم الحدث .. تتخزن القيمة في المتغير $msg
كود PHP:
Case $msg = $CheckButton
هنا في حالة إذا كان "الحدث" من الزر "Check" سيتم الدخول إليها
كود PHP:
$getvalue = GUICtrlRead( $input )
الوظيفة GUICtrlRead() هي لأخذ قيمة معينة من أحد المتغيرات الخاصة بالرسوميات .. و في برنامجنا هذا سيتم أخذ القيمة التي في "صندوق الإدخال" أي المتغير $input .. وتخزن القيمة في المتغير $getvalue
كود PHP:
$check = StringIsInt( $getvalue )
الوظيفة StringIsInt() تتأكد من القيمة المعطاة لها إن كانت "رقم" أم لا، فإن كان الناتج "رقم" .. ستكون ال$check قيمتها 1
أما إن لم يكن "رقم" فتكون ال$check قيمتها صفر
كود PHP:
if $check = 1 Then
MsgBox(0,"The value (" & $getvalue & ")","was an integer ;)")
إذا كانت القيمة = 1 .. إذاً..
ستظهر هذه الرسالة
و إلا
ستظهر هذه
-----------------
الخلاصة:
رأينا البرنامجين السابقين .. و كيف أن الوظائف الجاهزة تختصر علينا كثيرا من التعقيدات و بذلك يقل الكود المكتوب و يسهل فهمها.
أتمنى أن يكون شرحي مفهوما .. و سأنتظر أسئلتكم قبل أن أنتقل إلى الدروس المعقدة ..
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
السلام عليكم ....
تسلم على الدروس الروعة .... أنا نزلت البرنامجين .... وهميت بالشغل والتطبيق والإكتشاف ....لكن حبت أسأل ...لأني تهت .... ^_^"
بس وين أكتب الكودز ... لأني دورت ومالقيته ....؟؟؟؟؟؟
بالتوفيق .......^^
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
و عليكم السلام و الرحمة
أهلا فيك اخوي :)
اقتباس:
بس وين أكتب الكودز ... لأني دورت ومالقيته ....؟؟؟؟؟؟
بالتوفيق .......^^
اهو من أول ما تشغل البرنامج SciTe ممكن تباشر بالكتابة علطول ..
و على فكرة البرنامج SciTe ما هو إلا برنامج محرر مثل الnotepad لكن به مزايا إضافية و قوية تسهل برمجة الAutoit كثيرا كثيرا ....
بانتظار ردك ..
و إلى اللقاء
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
سلام ....^^
أسف على التأخير في الرد ...... أوكيه أنا كتبت الكود وبعدين ...؟؟؟
كيف أشغل البرنامج ؟
أتمنى تستمر .... وبالتوفيق .....
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
و عليكم السلام و الرحمة .. أهلا مرة ثانية :)
الله يسامحك يا ابن التراب .. ألم تقرأ الخطوات التالية !؟
اقتباس:
1- بعد تثبيت البرنامجين Autoit و SCiTE
من الجيد أن تدخل إلى مجلد Examples(مكانه C:\Program Files\AutoIt3\Examples) و ترى(أو تشغل) الملفات التي هناك ;)
2- شغل البرنامج Scite Editor من
Start -> Programs -> AutoIt v3 -> Scite -> SciTe
3- اكتب هذا الكود(على فكرة .. كتابة الكود يساعد كثيرا في التعلم السريع و الفهم السليم في البرمجة):
كود PHP:
;برنامجي الأول
$mytitle = "أهلا بالجميع"
$mytext = "في برنامجي الأول"
msgbox(0,$mytitle, $mytext)
4- احفظ الملف File ->Save Asثم سمي الملف مع وضع الامتداد .au3 و ليكن
my_first_program.au3
5- إذهب إلى القائمة Tools -> Go (أو إضغط المفتاح F5)
و ذلك لتشغيل البرنامج ...
فإن ظهرت رسالة خطأ .. إضغط على زر Stop ثم اذهب إلى Tools->Next Message أو إضغط المفتاح F4) لرؤية مكان الخطأ حتى تعدله.
و سيظهر البرنامج كهذا:
http://www.montada.com/attachment.ph...mentid= 246424
-----
و بهذا انتهى البرنامج الأول ....
على فكرة .. هذا باعتبار انك نزلت ملف الinstallation و ليس الملف المضغوط zip اللذين في الموقع ..!
و اذا في اي شي احنا حاضرين ;)
مشاركة: [درس] حصريا ... دروس مبسطة للAutoit Script
ياسلام .... وأخيرًا .... ^^"
تسلم ...... الحين أقدر أخبص بس أخاف ينفجر ....خخخخخ
اسمحلي تعبتك ........^_~