المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : [درس] دروس مبسطة للAutoit Script



wellknownQ8
05-02-2006, 11:43 PM
بسم الله الرحمن الرحيم

الأعضاء و الزوار الأعزاء

السلام عليكم و رحمة الله و بركاته ...

أما بعد ..

صراحة ترددت أكثر من مرة في طرح هذا الموضوع أو عمل هذا الدرس .. و ذلك ليس بسبب صعوبة هذا النوع من البرمجة .. و إنما العكس تماما ..أي بسبب سهولتها الكبيرة مقارنة باللغات الاعتيادية (كالبيسك و السي و غيرهما).

لكن الضرورة تحتم علينا معرفتها و استخدامها لانها تختصر الكثير من الوقت و تفتح المجال للتطور (و لو مؤقتا)

لذلك كان لابد من تجربتها أو على الأقل فهم كيفية عملها ...

و نبدأ اليوم بهذه الأسئلة ...

س: ما السكريبت - 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 :
لاتتعلم السي# او الفجوال بيسك (http://www.montada.com/showthread.php?t=399400)

س: أين أجد الAutoit Script ؟
هذا هو البرنامج autoit3 (http://www.autoitscript.com/autoit3/downloads.php)مع المحرر له SciTE (http://www.autoitscript.com/autoit3/scite/downloads.php)

س: طيب و ماذا بعد ؟
من الممكن لمن لديهم معرفة كافية في البرمجة .. أن يطوروا أحد برامجي الأخيرة المصممة بنفس اللغة .. أو على الأقل أن يلقوا عليه نظرة..
===> تفضل مشروع كامل لعمل برنامج مفتوح المصدر .. حصريا (http://www.montada.com/showthread.php?t=456374) <===
---------------------------

هذا .. و إن شاء الله ان كان في العمر بقية .. سيكون الدرس القادم عبارة عن مقتطفات سريعة لاستخدامات هذه اللغة..

أتمنى من الجميع ان يتابعوا معي هذا الموضوع .. حتى تعم الفائدة .. و تعرفون سر برامجي الأخيرة ;)

طبعا .. هذا الموضوع حصريا لهذا المنتدى .. و لكن لمدة شهر !؟ :أفكر: :o ;)

و إلى اللقاء :ciao:

__________________
الكاتب Well-knownQ8
استخدمت بعض من المعلومات من موقع
http://www.answers.com/

The Coder
06-02-2006, 11:14 AM
السلام عليكم ^^
يا سلاااااااام ..
والله انت كذااا ^^ ... (كذا = رفع الاصبع الابهام لفوق ... يعني هيك : :biggthump )


سلمت تسلم والله على هالمشاركة والمبادرة الجميلة منك اخي
شكرا لك .... وكلي شوق ان ارى هذه اللغة ^^

ياريت لو عرضت علينا كل ماتفعله هذه اللغة ... وهي لأي غرض بالتحديد ^^ ....

تسلم والله ياخوي .... تسلم .. واكمل يارجل ^^

Digerati
06-02-2006, 02:01 PM
السلام عليكم و رحمة الله و بركاته

مشكور حبيبي على هذا الدرس المفيد.. حفظته في المفضلة..

ننتظر مزيدك و نتمنى لك التوفيق..

و على قولة جـــافـــا :biggthump أنت كذا

AZPC
06-02-2006, 07:03 PM
:biggthump :biggthump :biggthump
:biggthump :biggthump
:biggthump


^_^


-- الموضوع يحتاج الى بعض الصور :D
-- جافا ياريت تتعود تكتب بالاسود :D
-- هل تحتاج هذه اللغه (إن شأت) ملفات Run Time Files ام تكون موجوده في الوندوز أساسا
-- --

أنا أحببت ال #C لكنني أرى العالم كله يتحدث عن مستقبل مبهر للجافا :blackeye:

-- ما مدى اختلافهما عن بعضهما


وشكرا لك (:

Hack×Crack
06-02-2006, 09:53 PM
شوقتني للدرس التالي
أظن أن برنامجك (System Information) مبرمج على VScript ,, صح ؟؟
إن شاء الله تكون لغة سهلة ومفيدة
لأن صار عندي هوس في تعلم اللغات ,, بعدين يتحول لصرع خخخخ

wellknownQ8
06-02-2006, 10:55 PM
جافا
و عليكم السلام و الرحمة ..
وجودك و حضورك شرف كبير لي يا حمزة :)

بالنسبة لسؤالك عما تفعله هذه اللغة .. ببساطة تابع الموضوع .. و ان شاء الله الجواب سيفي بالغرض ;)

-----------

ديجراتي
^_^ عفوا و على الرحب و السعة .. و يشرفني حضورك الكريم :)
-----------

عبدالكريم
لا تستعيل على الصور .. ان شاء الله الدرس القادم كله صور و أكواد;)
--- لا ... لا تحتاج هذه اللغة لأي برنامج إضافي ... فهي تستخدم كل ما هو موجود أساسا في الويندوز ! :)

--- الجافا و الC# .. هناك معركة قوية بينهما ... لكن دعنا من هذا .. و خلنا على هذه اللغة البسيطة التي بين أيدينا ;)...

-----------

هاك × هاك
حياك الله و أتمنى متابعتك .. :)
نعم .. الsyntax في برنامج "معلومات الجهاز" و في جميع برامجي الأخيرة .. هي VBScript .. أما المضمون فأغلبه Windows Script ..
إن شاء الله سأتطرق لهذا في الدروس القادمة ... :)

wellknownQ8
07-02-2006, 12:18 AM
الدرس الثاني: أمثلة لهذه اللغة

بسم الله الرحمن الرحيم ..
سأبدأ بالتدرج من البسيط إلى المعقد ..

مثال 1: إظهار صندوق رسالة في الويندوز. (صورة و كود)

246235

نعم .. سطر واحد فقط يظهر لك هذه الرسالة .... !!!!!! ;)

-------------------------------------

مثال 2: إظهار صندوق للتحرير .. و أخذ محتواه بعد الضغط على زر "OK". (صورة و كود)


#include <GUIConstants.au3>
;Initialize variables
Global $GUIWidth
Global $GUIHeight
$GUIWidth = 300
$GUIHeight = 250
;Create window
GUICreate("New GUI", $GUIWidth, $GUIHeight)
;Create an edit box with no text in it
$Edit_1 = GUICtrlCreateEdit("", 10, 10, 280, 190)
;Create an "OK" button
$OK_Btn = GUICtrlCreateButton("OK", 75, 210, 70, 25)
;Create a "CANCEL" button
$Cancel_Btn = GUICtrlCreateButton("Cancel", 165, 210, 70, 25)
;Show window/Make the window visible
GUISetState(@SW_SHOW)
;
While 1
$msg = GUIGetMsg()
Select
;Check if user clicked on the close button
Case $msg = $GUI_EVENT_CLOSE
GUIDelete()
Exit

;Check if user clicked on the "OK" button
Case $msg = $OK_Btn
$Content = GUICtrlRead( $Edit_1 )
MsgBox(64, "محتوى الصندوق", $Content )

;Check if user clicked on the "CANCEL" button
Case $msg = $Cancel_Btn
MsgBox(64, "New GUI", "You clicked on the Cancel button!")

EndSelect
WEnd
246234


-------------------------------------

مثال 3: إظهار جميع أيقونات ملفات النظام. (صورة فقط)



246233


-------------------------------------

مثال 4: إضهار أيقونات لوضعها كأزرار. (صورة و كود)


#include <GUIConstants.au3>
GUICreate("test",240,180)
$button1 = GUICtrlCreateButton ("1", 0,0,40,40,$BS_ICON)
GUICtrlSetImage (-1, "shell32.dll",5)
$button2 = GUICtrlCreateButton ("2", 40,00,40,40,$BS_ICON)
GUICtrlSetImage (-1, "shell32.dll",7)
$button3 = GUICtrlCreateButton ("3", 80,00,40,40,$BS_ICON)
GUICtrlSetImage (-1, "shell32.dll",22)
$button4 = GUICtrlCreateButton ("4", 120,0,40,40,$BS_ICON)
GUICtrlSetImage (-1, "shell32.dll",23)
$button5 = GUICtrlCreateButton ("5", 160,0,40,40,$BS_ICON)
GUICtrlSetImage (-1, "shell32.dll",32)
$buttonclose = GUICtrlCreateButton ("close", 200,0,40,40,$BS_ICON)
GUICtrlSetImage (-1, "shell32.dll",28)
GUISetState()
; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend
GUIDelete()
246231


-------------------------------------

مثال 5: عرض معلومات الجهاز (برنامجي الإصدارة 0.2 إضغط هنا (http://www.montada.com/showthread.php?t=449287)). (صورة و كود)


#include <GuiConstants.au3>
$ver = "v0.2"
GuiCreate("Computer Information "&$ver, 470, 300)
$VOL = DriveGetLabel("C:\")
$SERIAL = DriveGetSerial("C:\")
$TOTAL = DriveSpaceTotal("C:\")
$FREE = DriveSpaceFree("C:\")
$ComputerName = GuiCtrlCreateLabel("Computer Name", 10, 10, 150, 20)
$Input_ComputerName = GuiCtrlCreateInput("" & @ComputerName, 180, 10, 280, 20,$ES_READONLY)
$CurrentUserName = GuiCtrlCreateLabel("Current User Name", 10, 40, 150, 20)
$Input_CurrentUserName = GuiCtrlCreateInput("" & @UserName, 180, 40, 280, 20,$ES_READONLY)
$ServicePack = GuiCtrlCreateLabel("Service Pack", 10, 70, 150, 20)
$Input_ServicePack = GuiCtrlCreateInput("" & @OSServicePack, 180, 70, 280, 20,$ES_READONLY)
$FreeSpace = GuiCtrlCreateLabel("C: Free Space", 10, 100, 150, 20)
$Input_FreeSpace = GuiCtrlCreateInput("" & $FREE & " MB", 180, 100, 280, 20,$ES_READONLY)
$IpAddress = GuiCtrlCreateLabel("Ip Address", 10, 130, 150, 20)
$Input_IpAddress = GuiCtrlCreateInput("" & @IPAddress1, 180, 130, 280, 20,$ES_READONLY)
$DesktopWidth = GuiCtrlCreateLabel("Desktop Width (Pixels)", 10, 160, 150, 20)
$Input_DesktopWidth = GuiCtrlCreateInput("" & @DesktopWidth, 180, 160, 280, 20,$ES_READONLY)
$DesktopHeight = GuiCtrlCreateLabel("Desktop Height (Pixels)", 10, 190, 150, 20)
$Input_DesktopHeight = GuiCtrlCreateInput("" & @DesktopHeight, 180, 190, 280, 20,$ES_READONLY)
$clpbrdbtn = GUICtrlCreateButton("&Copy to Clipboard", 10, 250, 100)
$savetxtbtn = GUICtrlCreateButton("&Save to a File",120,250,100)
$aboutbtn = GUICtrlCreateButton("&About",230,250,100)
GuiSetState()
While 1
$msg = GuiGetMsg()
Select

Case $msg = $GUI_EVENT_CLOSE
ExitLoop

Case $msg = $clpbrdbtn
$tmp= "Computer Name:"&@TAB & @ComputerName &@CRLF& "Current User Name:"&_
@TAB &@UserName &@CRLF& "Service Pack:"&@TAB &@OSServicePack &@CRLF&_
"Free Space on C:"&@TAB& $FREE & " MB"&@CRLF& "Ip Address:"&@TAB &@IPAddress1 &_
@CRLF& "Desktop Width x Height (Pixels):"&@TAB &@DesktopWidth&"x"&@DesktopHeight
ClipPut($tmp)

Case $msg = $savetxtbtn
$tmp= "Computer Name:"&@TAB & @ComputerName &@CRLF& "Current User Name:"&_
@TAB &@UserName &@CRLF& "Service Pack:"&@TAB &@OSServicePack &@CRLF&_
"Free Space on C:"&@TAB& $FREE & " MB"&@CRLF& "Ip Address:"&@TAB &@IPAddress1 &_
@CRLF& "Desktop Width x Height (Pixels):"&@TAB &@DesktopWidth&"x"&@DesktopHeight

$save = FileSaveDialog( "Save As",@MyDocumentsDir, "Text Files (*.txt)", 19)
if StringRight($save,4) = ".txt" Then
$t = ""
Else
$t = ".txt"
EndIf
$fwrite = FileOpen($save & $t ,2)
FileWrite($fwrite, $tmp)
FileClose($fwrite)

Case $msg = $aboutbtn
MsgBox(0,"About this program ...","This program retrieves " &_
"some of important computer information."&_
@CRLF& @CRLF& "Done by, Well-knownQ8 and some code from Para (AU3)")
EndSelect
WEnd
Exit

Exit
246232

-------------------------------------

الخلاصة:
الأمثلة السابقة تعطي انباعا عن بساطة الكود المستخدم لعرض و إظهار معلومات من الويندوز بطريقة بسيطة و مباشرة و سريعة.

و أتوقع ان هذا بحد ذاته يشجعنا لتعلم هذه اللغة لعمل برامج سهلة للويندوز :)


ان شاء الله في الدرس القادم سنتحدث عن كيفية استخدام المحرر SCiTE لعمل سكربتات autoit

دعواتكم ..

و إلى اللقاء ;)

wellknownQ8
07-02-2006, 10:13 AM
ااه .. قبل أن أنتقل الى الدرس التالي ..

أود أن أريكم إستخدام آخر للAutoit ( و يمكن هذا أهم استخدام لهذا البرنامج )

في المرفق ملف به ملف التشغيل لهذا الكود


$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")
فلن تصدقوا ماذا سيحدث !! ... ;)

wellknownQ8
08-02-2006, 12:54 PM
الدرس الثالث: التعرف على البرنامج

1- بعد تثبيت البرنامجين Autoit و SCiTE
من الجيد أن تدخل إلى مجلد Examples(مكانه C:\Program Files\AutoIt3\Examples) و ترى(أو تشغل) الملفات التي هناك ;)

2- شغل البرنامج Scite Editor من
Start -> Programs -> AutoIt v3 -> Scite -> SciTe

3- اكتب هذا الكود(على فكرة .. كتابة الكود يساعد كثيرا في التعلم السريع و الفهم السليم في البرمجة):

;برنامجي الأول
$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) لرؤية مكان الخطأ حتى تعدله.

و سيظهر البرنامج كهذا:
246424

-----
و بهذا انتهى البرنامج الأول و عرفت الآن كيف تكتب و تشغل أي برنامج ;)
-----

و الآن سنكتب برنامج آخر .. و أريد به فقط أن أعطي انطباعا عن كيفية كتابة برامج ذات واجهة رسومية .. و لن أتعمق في هذا كثيرا لأنه هناك طريقة سريعة لعملها و أيضا هناك أمور أهم ;)..

البرنامج الثاني:
246427

;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

الشرح

#include <GuiConstants.au3> هذا الملف ضروري لإنشاء الواجهة الرسومية من نوافذ و أزرار و قوائم و غيرها
و include تعني يتضمن


GuiCreate("My 2nd Program.",200,100) هذا لإنشاء نافذة بعرض 200 بكسل و طول 100 بكسل و تحمل العنوان My 2nd Program.


$label = GUICtrlCreateLabel("Enter a value:",10,10) لإنشاء سطر يحمل إسم Enter a Value و مكانه (بالنسبة للنافذة) على بعد 10 بكسل من اليسار و 10 بكسل من الأعلى


$input = GuiCtrlCreateInput("",10,30,80) لإنشاء صندوق إدخال مكانه (بالنسبة للنافذة) على بعد 10 بكسل من اليسار و 30 بكسل من الأعلى
و عرضه80 بكسل


$CheckButton = GUICtrlCreateButton("Check...",10,60) لإنشاء زر يحمل إسم Check و مكانه (بالنسبة للنافذة) على بعد 10 بكسل من اليسار و 60 بكسل من الأعلى


GuiSetState() هذا لإظهار النافذة

... يتبع ....

wellknownQ8
09-02-2006, 01:32 AM
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
.
.
.
EndSelect
WEnd هذا الهيكل لجعل النافذة ظاهرة و موجودة حتى يتم إغلاقها عن طريق الزر X (أو Alt+F4)


$msg = GUIGetMsg()إذا تم الضغط على أي زر يسمى هذا الفعل بال"حدث" (Event)
فإذا تم الحدث .. تتخزن القيمة في المتغير $msg


Case $msg = $CheckButton هنا في حالة إذا كان "الحدث" من الزر "Check" سيتم الدخول إليها


$getvalue = GUICtrlRead( $input ) الوظيفة GUICtrlRead() هي لأخذ قيمة معينة من أحد المتغيرات الخاصة بالرسوميات .. و في برنامجنا هذا سيتم أخذ القيمة التي في "صندوق الإدخال" أي المتغير $input .. وتخزن القيمة في المتغير $getvalue


$check = StringIsInt( $getvalue ) الوظيفة StringIsInt() تتأكد من القيمة المعطاة لها إن كانت "رقم" أم لا، فإن كان الناتج "رقم" .. ستكون ال$check قيمتها 1
أما إن لم يكن "رقم" فتكون ال$check قيمتها صفر


if $check = 1 Then
MsgBox(0,"The value (" & $getvalue & ")","was an integer ;)") إذا كانت القيمة = 1 .. إذاً..
ستظهر هذه الرسالة
246425
و إلا
ستظهر هذه
246426


-----------------
الخلاصة:
رأينا البرنامجين السابقين .. و كيف أن الوظائف الجاهزة تختصر علينا كثيرا من التعقيدات و بذلك يقل الكود المكتوب و يسهل فهمها.


أتمنى أن يكون شرحي مفهوما .. و سأنتظر أسئلتكم قبل أن أنتقل إلى الدروس المعقدة ..

من التراب
10-02-2006, 05:57 PM
السلام عليكم ....

تسلم على الدروس الروعة .... أنا نزلت البرنامجين .... وهميت بالشغل والتطبيق والإكتشاف ....لكن حبت أسأل ...لأني تهت .... ^_^"

بس وين أكتب الكودز ... لأني دورت ومالقيته ....؟؟؟؟؟؟

بالتوفيق .......^^

wellknownQ8
11-02-2006, 12:19 PM
و عليكم السلام و الرحمة
أهلا فيك اخوي :)

بس وين أكتب الكودز ... لأني دورت ومالقيته ....؟؟؟؟؟؟
بالتوفيق .......^^ اهو من أول ما تشغل البرنامج SciTe ممكن تباشر بالكتابة علطول ..
و على فكرة البرنامج SciTe ما هو إلا برنامج محرر مثل الnotepad لكن به مزايا إضافية و قوية تسهل برمجة الAutoit كثيرا كثيرا ....

بانتظار ردك ..
و إلى اللقاء

من التراب
13-02-2006, 09:29 AM
سلام ....^^

أسف على التأخير في الرد ...... أوكيه أنا كتبت الكود وبعدين ...؟؟؟

كيف أشغل البرنامج ؟

أتمنى تستمر .... وبالتوفيق .....

wellknownQ8
13-02-2006, 10:21 AM
و عليكم السلام و الرحمة .. أهلا مرة ثانية :)

الله يسامحك يا ابن التراب .. ألم تقرأ الخطوات التالية !؟

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.php?attachmentid= 246424

-----
و بهذا انتهى البرنامج الأول ....على فكرة .. هذا باعتبار انك نزلت ملف الinstallation و ليس الملف المضغوط zip اللذين في الموقع ..!
و اذا في اي شي احنا حاضرين ;)

من التراب
14-02-2006, 07:49 AM
ياسلام .... وأخيرًا .... ^^"

تسلم ...... الحين أقدر أخبص بس أخاف ينفجر ....خخخخخ

اسمحلي تعبتك ........^_~

PC.MAX
10-03-2006, 06:42 PM
السلام عليكم^^
رائع جدا
الVBScript لفت نظري فعلا
بس ليش كان آخر رد في 14/2/2006 ؟؟؟؟؟
شو ما عاد تكمل؟
أنا راح أنحبط
وسويت أول برنامج لي
فكرته بسيطة
اتدخل اسم السيدي درايف وتحط أوبن يفتح وتحط كلوز يسكر :P
راح أرفقه مع المصدر المفتوح .au3

249937


; Open the CD tray on drive
#include <GuiConstants.au3>
GUICreate("CD Tray Opener", 220, 55)
$checkdrive = GUICtrlCreateInput("", 10, 10, 30)
GUICtrlCreateLabel(": You just type your driver's letter", 41, 10)
$opendrive = GUICtrlCreateButton("Open", 8, 30)
$closedrive = GUICtrlCreateButton("Close", 50, 30)
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $opendrive
$getdrive = GUICtrlRead($checkdrive) & ":"
CDTray($getdrive, "open")
Case $msg = $closedrive
$getdrive = GUICtrlRead($checkdrive) & ":"
CDTray($getdrive, "closed")
EndSelect
WEnd

wellknownQ8
10-03-2006, 07:24 PM
و عليكم السلام و الرحمة
^_^
:)

أهلا PCMAX
بس ليش كان آخر رد في 14/2/2006 ؟؟؟؟؟
شو ما عاد تكمل؟
أنا راح أنحبط لا .. إلا الإحباط .. :D .

ان شاء الله سأستمر في وضع الدروس قريبا لا تقلق ;)
و أول برنامج لك اوكي :biggthump

و اسمحلي اضع الكود لبرنامجك .. (سأحرر ردك)

و شكرا لردك اخي الكريم .. و لا تقاطعنا

PC.MAX
10-03-2006, 08:05 PM
شكرا لك على التحرير :)
بس الشي الي يغلّب في البرنامج هو رسم الأدوات
إذا كان البرنامج كبير وفيه أدوات كثيرة راح تتعذب في رسمها

wellknownQ8
10-03-2006, 08:29 PM
بس الشي الي يغلّب في البرنامج هو رسم الأدوات
إذا كان البرنامج كبير وفيه أدوات كثيرة راح تتعذب في رسمها تتعذب !؟ ^_^

افعل التالي:
- شغل البرنامج
- اعمل ملف جديد File -> New
- اذهب إلى Tools -> GuiBuilder (او اضغط Alt+G)
و استمتع بالباقي ;)

PC.MAX
11-03-2006, 12:47 PM
رائع
بس أعتقد أن فكرة GuiBuilder بس عشان تقدر أنت تحدد كيف يكون حجم الفورم وأدواته ولما تخلص تاخذ إحداثيات الفورم والأدوات وحجمها، صح؟

الحبيب لمين
02-08-2006, 02:07 PM
السلام عليكم

كلامك صحيح اخي PC.MAX


شكرا يا اخي الكريم wellknownQ8

انا اسف على التاخر في قرائة والاطلاع على الموضوع

ولكن ان تصل متاخر خير من ان لا تصل ابدا

سوف استمر معاك انشاء الله في الدروس

بارك الله فيك

drbmsh
28-11-2006, 10:01 AM
على فكرة الأمثلة فيها synatex error
وشكرا على الموضوع الرائع

wellknownQ8
28-11-2006, 02:38 PM
على فكرة الأمثلة فيها synatex error
وشكرا على الموضوع الرائعهل أنت متأكد ؟ و أية أمثلة ؟

يمكن يكون فيها خطأ إذا حملت آخر إصدار من البرنامج لأنهم غيروا الكثير في البرنامج.

على العموم حياك الله و شكرا لمشاركتك :)

drbmsh
30-11-2006, 11:28 AM
كلامك صحيح وهذا عيب لغات البرمجة ككل

wellknownQ8
30-11-2006, 04:34 PM
أخي drbmsh
لقد راجعت الأمثلة و اشتغلت جميعها، فتأكد من طريقة تشغيلك لها