مشكووووووووووووور
 

توقيع : ilove.me69

وعليكم السلام ...

كيف حالك إن شاء الله طيب .. بحاول أوضحها لك ...

فركز معي :d:

كيفك في حلقه while و عبارة الswitch .. إذا منت فاهمهم راجع الدورة قبل ماتكمل معي ..

مع إن في أكثر من طريقة للتفاعل مع النافذه اللي تعملها لكن عشان أداه koda تولد كود

الwhile و الswitch إفتراضي .. بشرح عليها :d:

بسم الله ...

في البداية إنسخ الكود ذا وشغله


كود:
#include <ButtonConstants.au3>
كود:
[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2] [/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]#include <GUIConstantsEx.au3>[/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2]#include <WindowsConstants.au3>[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2] [/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2]$Form1 = GUICreate("Form1", 251, 93, 192, 124) ; دالة إنشاء النافذة[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]$Button1 = GUICtrlCreateButton("Click Me", 48, 24, 155, 49) ;دالة إنشاء الزر[/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2]GUISetState(@SW_SHOW) ; دالة تغيير وضع النافذة إلى الظهور[/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2] [/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2]While 1[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]   $nMsg = GUIGetMsg()[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]   Switch $nMsg[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]       Case $GUI_EVENT_CLOSE[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]           Exit[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]       Case $Button1[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]           MsgBox(0,"", $nMsg & @crlf & $Button1)[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]   EndSwitch[/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2]WEnd[/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]

بالضغط على الزر تظهر رسالة فيها رقمين متساوية :i:


طيب والهدف ؟


الان الدوال قبل حلقة الwhile كلها دوال لإنشاء النافذة وإنشاء الكنترول واللعب في خصائصم


بعد كذا تجيك حلقة الwhile تلاحظها حلقه لا نهائية وهذا سبب جعل النافذة تبقى ظاهره ..


بعد كذا تجد متغير يحفظ القيمة اللي ترجعها دالة GUIGetMsg هذي الدالة ممكن تتغير قيمتها


في كل لفه .. كيف? .. الدالة هذه لو حصل تأثير او حدث على اي عنصر في النافذة (كنترول) إيش تسوي ؟


ترجع بقيمة الid تبع الكنترول عشان كذا لما سوينا الزر حفظنا القيمة اللي ترجعها دالته في متغير ..


والقيمة اللي ترجعها أي دالة إنشاء كنترول هي الid تبعه وهو عبارة عن رقم .


فحنا داخل الحلقة نعمل عبارة switch العبارة في كل لفه تتحقق من القيمة اللي ترجعها GUIGetMsg


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


ففي الكود لما تضغط على الزر تطلع مسج وفي المسج هذه أظهرنا القيمة تبع الزر والقيمة اللي ترجعها


الدالة GUIGetMsg وهي في حالتنا أكيد متساوية :d:


إن شاء الله وضحت :i:


الان نجي للصور في الخلفية


في طريقتين وحده سهله ووحده شوي يبغالها فهم في بعض الامور


بشرح السهله أفضل ...


تنشىء كنترول لعرض الصور وتضع الكنترول الثانية فوقه يعني الصورة ورى والازرار فوقه


وتعطل الكنترول تبع الصور


مثال بسيط :d:


كود:
[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2] [/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2]#include <ButtonConstants.au3>[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]#include <GUIConstantsEx.au3>[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]#include <StaticConstants.au3>[/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2]#include <WindowsConstants.au3>[/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2] [/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2]$Form1 = GUICreate("Form1", 236, 122, 192, 124)[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]$Pic1 = GUICtrlCreatePic("mypic.gif", 0, 0, 236, 122) ; دالة إنشاء الصورة[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]GUICtrlSetState($Pic1, $GUI_DISABLE) ; دالة تعطيل الصورة[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]$Button1 = GUICtrlCreateButton("Click Me", 88, 95, 75, 25)[/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2]GUISetState(@SW_SHOW)[/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2] [/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2]While 1[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]   $nMsg = GUIGetMsg()[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]   Switch $nMsg[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]       Case $GUI_EVENT_CLOSE[/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2]           Exit[/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2] [/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2]   EndSwitch[/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT][/RIGHT]

[FONT=Trebuchet MS][SIZE=2]WEnd[/SIZE][/FONT][RIGHT][FONT=Trebuchet MS][SIZE=2][/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2] [/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2] [/SIZE][/FONT]
[FONT=Trebuchet MS][SIZE=2]

ملاحظة إمتداد الصور يكون إما Gif أو jpg الPNG نعملها بالطريقة الثانية



يالبى قلبك , الله يعطيك العافيه ما قصرت
بالنسبة للشرح الاول الحمد لله
ضبط :p:

e060b84fb490d011fcf65763ef56823f.png


لكن الشرح الثاني ادربي دميجتي :d:
ما فهمت وضح اكثر , تعرف توي مبتدئ :b:

الله لا يهينك عطني الدوال المهمة + الاشياء اللي مطلوبة

همسة / ناوي بإذن الله اسوي زي البرنامج اللي عطيتك فيه خلفية
ابي تبسط لي وشلون اسوي مثله


 
السلام عليكم
نفترض عندي واجهة بالحجم التالي
كود:
#include<ButtonConstants.au3>
#include<GUIConstantsEx.au3>
  #include<WindowsConstants.au3>
 
GUICreate ("",670,690,-1,-1)
GUISetState(@SW_SHOW)
While 1
  $nMsg=GUIGetMsg()
  Switch $nMsg
  Case $GUI_EVENT_CLOSE
  Exit
      EndSwitch
  WEnd

فاذا كانت شاشة سطح المكتب بالحجم الكبير فان الواجهة ستكون بها مشاكل فما هي الحلول لهذه المشكلة
 
بالنسبة لـ red flower

إذا قصدك الواجهة ستكون صغيرة جدَّا بإمكانك وضع هذه الاحداثيات:

كود:
GUICreate ("", (@DesktopWidth/2), (@DesktopHeight/2))

بحيث تكون الواجهة بحجم نصف حجم شاشة سطح المكتب دائما
 
لا مو قصدي كذا ولكن عندي واجهة بتلك المقاسات التي ادرجتها في مشاركتي السابقة فهل توجد اوامر لقراءة شاشة العرض للجهاز وتحويل الشاشة الى المقاس الذي اريده
 
مو شرط اوامر لقراءة مقاسات الشاشة بس ودي لو كان ويندوز سفن يكون فيه أمر يخلي الشاشة بحجم
1366 * 768

وان كان نظام التغشيل فاجعل الشاشة بالمقاس التالي
----
 
مو شرط اوامر لقراءة مقاسات الشاشة بس ودي لو كان ويندوز سفن يكون فيه أمر يخلي الشاشة بحجم
1366 * 768

وان كان نظام التغشيل فاجعل الشاشة بالمقاس التالي
----


وان كان هذا السكربت صعب فهل يوجد سكربت وظيفته هي

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

لو قامت الإدارة بتثبيت الموضوع أحسن وأفــضل بكثير
سينتج عن ذلك حماس وسيكون هناك دروس وشروحات وأفكار ممتازة في لغة الـ Autoit



تحياتي

2dca18acee60bfe224e53a7dcf331f5c.gif

 
توقيع : 4n000r
وان كان هذا السكربت صعب فهل يوجد سكربت وظيفته هي

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

آسف على التأخير

بالنسبة لطلبك الأول اذكر إن في دالة تقوم بالعمل بس نسيتها :hh:


بالنسبة لقراءة الواجهة << هذا يدل إنك مش متابع دروس دورة (Autoit v3) الجديدة:

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
 
آسف على التأخير

بالنسبة لطلبك الأول اذكر إن في دالة تقوم بالعمل بس نسيتها :hh:


بالنسبة لقراءة الواجهة << هذا يدل إنك مش متابع دروس دورة (Autoit v3) الجديدة:

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

الله يرحم والديك لو تتذكرها او تبحث عنها يكون في ميزان حسناتك ان شاء الله لأنك بتساعد أخوانك المسلمين

وبالنسبة لقراءة الواجهة ما قصدي قراءة النافذة المفتوحة ولكن اقصد قراءة طول وعرض واجهة البرنامج فأن كانت أكبر من شاشة سطح المكتب فيظهر امر الخروج وعدم تنفيذ الاوامر
 
ஐيعطيك العافيه على الموضوعஐ

 


يالبى قلبك , الله يعطيك العافيه ما قصرت
بالنسبة للشرح الاول الحمد لله
ضبط :p:

e060b84fb490d011fcf65763ef56823f.png


لكن الشرح الثاني ادربي دميجتي :d:
ما فهمت وضح اكثر , تعرف توي مبتدئ :b:

الله لا يهينك عطني الدوال المهمة + الاشياء اللي مطلوبة

همسة / ناوي بإذن الله اسوي زي البرنامج اللي عطيتك فيه خلفية
ابي تبسط لي وشلون اسوي مثله



:hh:

الله يعافيك أخوي ..

أنا كنت متوقع إنك في بداياتك مع واجه المستخدم GUI

بس الظاهر لحد الان مابديت فيها

المهم .. الدوره السابقة ماتطرقنا للGUI لكن في دوره أقدم للأخ أحمد الشيخ ...

كتب عن GUI وهذي دروسها بالتسلسل :

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي



وأيضاًأخوي محمد كتب عن أداة Koda

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


رغم إني ما أنصح بالتعامل مع koda من البداية لأنها أداه فقط تولد الكود عنك

خل هدفك منها إختصار الوقت ..

على فكرة يونس عرب الاداة ذي

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي



وأي سؤال عن كل الدروس السابقة إسأله هنا وإن شاء الله نقدر نجاوبك :d:

 
توقيع : waget





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

ابارك للمنتدى عودة الدورة مجد بس ياليت تطبيق علشان نفهم الشرح مع الشكر


ثانياً استفسار صغير :

عن نسخ مجلد باكمله بمختلف الصيغ
كود:
DirCopy( @ScriptDir &"\n\.*" , 1 )
كمثال هذا المجلد المطلوب
n

bb8ddb35cd6d936447edd77041c45211.png



بمحتوياته ككل وهذا ملفات المجلد

e67a2ee4943e48f72ca35ad2dd716047.png


جربت النجوم بحيث يشمل الصيغ كلهن ما ضبط ينقل الملفات اللي داخل المجلد المطلوب ينقل المجلد ككل

وجزاكم الله خير





 
توقيع : كاسر





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

ابارك للمنتدى عودة الدورة مجد بس ياليت تطبيق علشان نفهم الشرح مع الشكر


ثانياً استفسار صغير :

عن نسخ مجلد باكمله بمختلف الصيغ
كود:
DirCopy( @ScriptDir &"\n\.*" , 1 )
كمثال هذا المجلد المطلوب
n

bb8ddb35cd6d936447edd77041c45211.png





بمحتوياته ككل وهذا ملفات المجلد

e67a2ee4943e48f72ca35ad2dd716047.png


جربت النجوم بحيث يشمل الصيغ كلهن ما ضبط ينقل الملفات اللي داخل المجلد المطلوب ينقل المجلد ككل

وجزاكم الله خير






كيف حالك أخوي كاسر إن شاء الله بخير ..

بالنسبة لسؤالك ماتحس البارمترات ناقصه:i:

ثاني شيء احب أنوه على شغله في الدالة ذي هي تنسخ محتويات مجلد بكل اللي فية

من ملفات ومجلدات فرعية ومايحتاج تستخدام *.* أيضا لاتحط شرطه مائله في نهاية المسار .


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

النافذة .وهي اللي تقدر تقول فيها أمثلة تطبيقة ..

فقبل ماندخل فيها لازم نمر على دوال النوافذ ...

بحكم الدوال اللي شرحناها في الدورة والدوال الحالية (دوال النوافذ ) مافي بينها ترابط في الوظيفة

أو إنها تكمل بعض ..

بالله وش رايك نحط مثال إذا لقيت النافذة الفلانية إنسخ الملف الفلاني :hh:

أتمنى فكرتي وصلت :q:



 
توقيع : waget



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

فيا ليت تعدلها اتعبتني والله يجزاك كل خير
 
توقيع : كاسر



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

فيا ليت تعدلها اتعبتني والله يجزاك كل خير

أها ..

إنت مثلا تبي تنسخ المجلد 1 إلى 2

بحيث يصير المجلد 1 موجود في المجلد 2 بنفسه ..

طيب أنشيء المجلد 1في المجلد 2بعدين أنسخ المحتويات له :d:


يعني كذا

كود:
DirCreate(@scriptdir & "\2\1")
DirCopy(@scriptdir & "\1",@scriptdir & "\2\1",1)

هذي الطريقة اللي في بالي :d:
 
توقيع : waget


بيض الله وجهك وجزاك الله كل خير اتعبناك وسهرناك لا خلا ولاعدم
 
توقيع : كاسر
الله يرحم والديك لو تتذكرها او تبحث عنها يكون في ميزان حسناتك ان شاء الله لأنك بتساعد أخوانك المسلمين

وبالنسبة لقراءة الواجهة ما قصدي قراءة النافذة المفتوحة ولكن اقصد قراءة طول وعرض واجهة البرنامج فأن كانت أكبر من شاشة سطح المكتب فيظهر امر الخروج وعدم تنفيذ الاوامر

أظن waget يعرفها << ورررطه :hh:

بالنسبة لطلبك الثاني

قلت لك تابع الدروس

فيه أمر اسمه WinGetPos في الدرس الرابع :kmj-by0000 (72):

استفد منه
 
لجميع مستخدمي AutoIt3 إصدار 3.3.6.1 أو أقل

أنصح بتحديث البرنامج إلى 3.3.8.1 لدعم ويندوز 8

مثلا الماكرو @OSVersion أصبح يخرج قيمة Win_8 عند تشغيل الاوتوات على نظام ويندوز 8

وأنصح أيضا بتحديث الـ Scite المساعد للبرنامج إلى إصدار 2.28

روابط التحميل

AutoIt 3.3.8.1:
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


Scite (المساعد لعرض نص الكود):
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي



مع تحياتي :cool:
 
لجميع مستخدمي AutoIt3 إصدار 3.3.6.1 أو أقل

أنصح بتحديث البرنامج إلى 3.3.8.1 لدعم ويندوز 8

مثلا الماكرو @OSVersion أصبح يخرج قيمة Win_8 عند تشغيل الاوتوات على نظام ويندوز 8

وأنصح أيضا بتحديث الـ Scite المساعد للبرنامج إلى إصدار 2.28

روابط التحميل

AutoIt 3.3.8.1:
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


Scite (المساعد لعرض نص الكود):
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي



مع تحياتي :cool:




الله يعطيك الف عافية وجاري التحميل والتحديث
جل الشكر والتقدير لك





 
توقيع : كاسر
عودة
أعلى