وصول الدرس الحادي عشر من دورة تعلم لغة autoit

ناصر بعزيز

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

يمكنكم طبعا العودة إلى الدرس االعاشر وذالك من خلال الرابط التالي
إليكم الدرس العاشر من الدورة الخاصة بلغة autoit – مدونة شؤون الكفيف العربي"
أما اليوم فسوف نتعرف على شيء مختلف تماما, ألا وهو الدوال الخاصة بتشغيل الملفات الصوتية والتحكم بها
وقبل أن ندخل في شرح اليوم دعوني أقدم بعض الملاحظات :
1. أنا متأخر كثيرا في الدورة أعلم هذا, ولاكن أنا متأخر لسبب واحد لا أكثر وهو عدم التفاعل مع الدورة
فأنا أشعر أن الدورة لا تهم الأغلبية منكم ولم أجد تحفيز للمواصلة, فالدورة إن لم تُقرن بالأسئلة والتعليقات فحسب رأيي لا فائدة منها, والأمر يعود لكم.
2. لمتابعة درس اليوم أنتم بحاجة إلى معرفة جيدة بالدوال والمتغيرات في هذه اللغة
فلا يمكننا أن نفهم درس اليوم إن لم نكن نتقن التعامل مع الدوال والمتغيرات
لذا لمن أراد أن يفهم الدرس فعليه أن يرجع إلى الأربع دروس الأولة من اللغة
3. عليكم أن تجربو بعد الدرس فأنا مستحيل أن أقدم لكم كل شيء, ويمكن أن تكن أخطاء في الدرس أو نسيان فلذا على كل من إكتشف خطء أو شيء ناقص أن ينبهني لذالك.
الآن هي بنا نباشر في درس اليوم
فضلا توجه إلى
وصول الدرس الحادي عشر من دورة تعلم لغة autoit – مدونة شؤون الكفيف العربي"
لمتابعة الدرس

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

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

أكرر وأرجوكم
لا تنسوني من دعائكم
والله أنا بالحاجة إليه
كما أرجو زيارة موقعنا وطرح أي إستفسار في منتدى لغة autoit
إليكم رابط الموقع
منتديات شؤون الكفيف العربي mx-blind
ملاحظات :
لأي سؤال في الدورة إذا كان متعلق بأي درس من الدروس فيرجى طرح السؤال في تعليق في المنشور المتعلق بالدرس في المنتديات
وإلا بإمكانكم طرح السؤال في موضوع مستقل داخل منتدى اللغة

ومسك الختام السلام فالسلام عليكم ورحمة الله تعالى وبركاته
 
فين ال درس رقم1 2 3 4 5 جزاك الله كل خير واصل واصل معاكمعاك
الدروس موجودة بالمدونة أخي
وها هي روابط كل الدروس للإطلاع عليها
الدرس الأول في دورة تعلم لغة autoit – مدونة شؤون الكفيف العربي
الدرس الثاني في دورة تعلم لغة autoit – مدونة شؤون الكفيف العربي
الدرس الثالث في دورة تعلم autoit – مدونة شؤون الكفيف العربي
الدرس الرابع في دورة تعليم autoit – مدونة شؤون الكفيف العربي
الدرس الخامس في دورة تعليم Autoit – مدونة شؤون الكفيف العربي
الدرس السادس في دورة تعلم لغة autoit – مدونة شؤون الكفيف العربي
الدرس السابع في دورة تعلم لغة autoit – مدونة شؤون الكفيف العربي
الدرس الثامن في دورة تعلم لغة autoit – مدونة شؤون الكفيف العربي
عودة إلى دورة تعليم لغة autoit وإليكم الدرس التاسع – مدونة شؤون الكفيف العربي
إليكم الدرس العاشر من الدورة الخاصة بلغة autoit – مدونة شؤون الكفيف العربي
وصول الدرس الحادي عشر من دورة تعلم لغة autoit – مدونة شؤون الكفيف العربي
تحياتي
 
أستاذي هلا وضحت لي دلالة كل سطر من الكود التالي
مع العلم أن هذا الكود قد ورد في هذا الدرس
While 1
Sleep(100)
If _SoundPos($aSound, 2) >= _SoundLength($aSound, 2) Then ExitLoop
WEnd
 
أستاذي هلا وضحت لي دلالة كل سطر من الكود التالي
مع العلم أن هذا الكود قد ورد في هذا الدرس
While 1
Sleep(100)
If _SoundPos($aSound, 2) >= _SoundLength($aSound, 2) Then ExitLoop
WEnd
أخي الفاضل طبعا يمكن
أولا while 1
وهي لفتح الحلقة المفتوحة حيث ينحصر منفذ الأوامر بين
الأكواد الموجودة بين
while 1
Wend
ويبقى يدور بينها فقط إلى أن نقم بإنهاء الدورة بالكود
ExitLoop
أما عن دالة sleep
فهي تستخدم لعمل بريك للمنفذ
حيث يتوقف المنفذ عن تنفيذ الأوامر للوقت المحدد في هذه الدالة

وفي هذا الكود أعطيته الرقم 100
والذي يمثل عشر الثانية
أما عن الأمر الشرطي فقلت له إذا كان موضع الملف الحالي هو نفسه وقته الكلي فيقم بإنهاء الدورة
وذالك بأمر
exitLoop
تحياتي أتمنا أن يكن الأمر واضح
 
مرحبا أستاذ ناصر
واصل نحنو نتابع فرجاء لا تفكر في التوقف عن الدورة
 
بارك الله فيك اخي ناصر
وجوزيت الفردوس الأعلا
أنا والله متابع للدورة
لكن والله هذه الفترة للإمتحانات
أرجو أن تواصل فنحن معاك اخي
 
جزاك الله خيرا أخي العزيز ناصر شرح رائع لدورة رائعة من أنسان أكثر من رائع وفي أنتظار الدرس الثاني عشر ولي طلب متعلق بهذا الدرس ما هي طريقة التحكم في الملفات الصوتية عند دمجها مع برنامج معين فلو كان هناك ثلاثة من الملفات الصوتية وأريد تشغيل الاول في بداية تنصيب البرنامج والثاني في وسط العملية والثالث عند أنتهاء العملية وشكرا
 
جزاك الله خيرا أخي العزيز ناصر شرح رائع لدورة رائعة من أنسان أكثر من رائع وفي أنتظار الدرس الثاني عشر ولي طلب متعلق بهذا الدرس ما هي طريقة التحكم في الملفات الصوتية عند دمجها مع برنامج معين فلو كان هناك ثلاثة من الملفات الصوتية وأريد تشغيل الاول في بداية تنصيب البرنامج والثاني في وسط العملية والثالث عند أنتهاء العملية وشكرا
السلام عليكم ورحمة الله
أولا أعتذر على التأخر في الرد لاكن لم أنتبه لمشاركتك أخي العزيز
الدرس الثاني عشر سيكون بحول الله قريبا وسوف تستمر الدورة إن شاء الله تعالى
أما بالنسبة لطلبك أخي الفاضل فهي سهلة جدا
فقط أكتب الكود الخاص بالتشغيل في المكان الذي تريد
مثلا كما يلي
كود:
#include <sound.au3>
_soundPlay(@scriptDir & "\sound1.mp3", 1)
;الأكواد التي تريدها بعد الصوت الأول
_soundPlay(@scriptDir & "\sound2.mp3", 1)
;الأكواد التي تريدها بعد الصوت الثاني
_soundPlay(@scriptDir & "\sound3.mp3", 1)
;الخروج من البرنامج
exit
تحياتي وأأي شيء آخر أنا في الخدمة
 
شكرا على الرد والتفاعل أخي العزيز ناصر وأنا في غاية السعادة لإستمرارك في نشر الدورة.
 
شكرا على الرد والتفاعل أخي العزيز ناصر وأنا في غاية السعادة لإستمرارك في نشر الدورة.
العفو أخي الفاضل أنا في الخدمة إن شاء الله
 
السلام عليكم ورحمة الله وبركاته
مرحبًا بالجميع.
أعمل على برنامج من ضمن أجزائه زر يقوم بتشغيل وإيقاف واستئناف المقاطع الصوتية
لكن تواجهني مشكلة في هذا الزر
وهي أن بمجرد انتهاء المقطع لا يمكن تشغيله مجددًا بالضغط علا هذا الزر
ولكي تكونوا على بينة فسأضع الأوامر التي ربطتها بزر التشغيل
if _SoundStatus($Sound) = "not ready" Then
$Sound = _SoundOpen(@ScriptDir & "\attachments\media\" & IniRead(@ScriptDir & "\settings.ini","settings","reader","default") & "\" & $read & ".mp3")
_SoundPlay($Sound)
GUICtrlSetData($Play,"إيقاف مؤقت")


elseif _SoundStatus($Sound) = "playing" Then
_SoundPause($Sound)
GUICtrlSetData($Play,"استمع إلى الصفحة")
elseif _SoundStatus($Sound) = "paused" then
_SoundResume($Sound)
GUICtrlSetData($Play,"إيقاف مؤقت")
EndIf

مع العلم بأني حاولت استخدام الجملة if _SoundPos($Sound) = _SoundLength($Sound) في سطر شرطي بشتى الطرق ولم أفلح في حل الإشكالية.
فهل أجد لديكم حلًا بارك الله فيكم
 
السلام عليكم ورحمة الله وبركاته
مرحبًا بالجميع.
أعمل على برنامج من ضمن أجزائه زر يقوم بتشغيل وإيقاف واستئناف المقاطع الصوتية
لكن تواجهني مشكلة في هذا الزر
وهي أن بمجرد انتهاء المقطع لا يمكن تشغيله مجددًا بالضغط علا هذا الزر
ولكي تكونوا على بينة فسأضع الأوامر التي ربطتها بزر التشغيل
if _SoundStatus($Sound) = "not ready" Then
$Sound = _SoundOpen(@ScriptDir & "\attachments\media\" & IniRead(@ScriptDir & "\settings.ini","settings","reader","default") & "\" & $read & ".mp3")
_SoundPlay($Sound)
GUICtrlSetData($Play,"إيقاف مؤقت")


elseif _SoundStatus($Sound) = "playing" Then
_SoundPause($Sound)
GUICtrlSetData($Play,"استمع إلى الصفحة")
elseif _SoundStatus($Sound) = "paused" then
_SoundResume($Sound)
GUICtrlSetData($Play,"إيقاف مؤقت")
EndIf

مع العلم بأني حاولت استخدام الجملة if _SoundPos($Sound) = _SoundLength($Sound) في سطر شرطي بشتى الطرق ولم أفلح في حل الإشكالية.
فهل أجد لديكم حلًا بارك الله فيكم
مرحبًا مرة أخرى
بارك الله فيكمأود إبلاغكم بإني قد حللت المشكلة بحمد الله
 
السلام عليكم أخي الفاضل إليك ما أردت
كود:
if _SoundStatus($Sound) = "not ready" Then
$Sound = _SoundOpen(@ScriptDir & "\attachments\media\" & IniRead(@ScriptDir & "\settings.ini","settings","reader","default") & "\" & $read & ".mp3")
_SoundPlay($Sound)
GUICtrlSetData($Play,"إيقاف مؤقت")

elseif _SoundStatus($Sound) = "playing" Then
_SoundPause($Sound)
GUICtrlSetData($Play,"استمع إلى الصفحة")
elseif _SoundStatus($Sound) = "paused" then
_SoundResume($Sound)
GUICtrlSetData($Play,"إيقاف مؤقت")

elseIf _SoundStatus($Sound) = "stopped" then
_SoundPlay($Sound)
GUICtrlSetData($Play,"إيقاف مؤقت")

EndIf
 
السلام عليكم أخي الفاضل إليك ما أردت
كود:
if _SoundStatus($Sound) = "not ready" Then
$Sound = _SoundOpen(@ScriptDir & "\attachments\media\" & IniRead(@ScriptDir & "\settings.ini","settings","reader","default") & "\" & $read & ".mp3")
_SoundPlay($Sound)
GUICtrlSetData($Play,"إيقاف مؤقت")

elseif _SoundStatus($Sound) = "playing" Then
_SoundPause($Sound)
GUICtrlSetData($Play,"استمع إلى الصفحة")
elseif _SoundStatus($Sound) = "paused" then
_SoundResume($Sound)
GUICtrlSetData($Play,"إيقاف مؤقت")

elseIf _SoundStatus($Sound) = "stopped" then
_SoundPlay($Sound)
GUICtrlSetData($Play,"إيقاف مؤقت")

EndIf
بالفعل أستاذي الفاضل جربت نفس الكود الذي وضعته مع بعض الاختلافات
فهناك بعض الأخطاء التي حصلت
ما فعلته هو أنني أضفت السطر التالي بعد الجملة elsif _SoundStatus(Sound) = "stopped" then
_SoundSeek($Sound,0,0,0)
كما أنني ألغيت أوامر تغيير النص المكتوب في الزر ووضعتها بعد نهاية تبديل GUIGetMSG()
حيث جعلتها كالتالي:
Switch _SoundStatus($Sound)
Case "not ready"
GUICtrlSetData($Play,"استمع إلى الصفحة")

Case "playing"
GUICtrlSetData($Play,"إيقاف")
Case "paused"
GUICtrlSetData($Play,"استمع إلى الصفحة")

Case "stopped"
GUICtrlSetData($Play,"استمع إلى الصفحة")
case 0
GUICtrlSetData($Play,"استمع إلى الصفحة")
EndSwitch

السبب وراء ذلك هو أنه بعد انتهاء المقطع لا يعود الزر إلى اسمه الافتراضي , فخطرت في بالي هذه الفكرة ونجحت ولله الحمد

عمومًا البرنامج جاهز الآن وجاري رفعه.
بارك الله فيك.
 
أخي الفاضل إحذر من ذالك فالزر لن يكن مستقر اسمه لأنه يتغير باستمرار
إليك طريقة أفضل من ذالك أخي العزيز
تقوم بعمل قاعدة شرط في الحلقة تقوم بالتعرف على اسم الزر وكذالك على حالة الملف
وفي حال كانت حالة الملف متوقفة أو غير جاهز والزر اسمه إيقاف مؤقت مثلا يقوم بتغيير اسم الزر إلى الإستماع
ففي هذه الحالة يتطبق الأمر فقط إذا كان الملف موقف ولم يتغير إسم الزر
لأن في حالتك أنت كل مرة يغير اسم الزر وبالتالي المبصر عندما ينظر إلى الشاشة يرى الملف كأنه عليه قبس يظهر ويختفي
 
السلام عليكم
روابط الدروس بها خلل ما فهي لا تشتغل
السلام عليكم ورحمة الله وبركاته
مرحبا بك أخي العزيز محسن
إليك أخي العزيز الروابط الصحيحة لجميع دروس دورة AUTOIT
أولا مقدمة في لغات البرمجة
مقدمة في لغة autoit
الدرس الأول في دورة تعلم لغة autoit
الدرس الثاني في دورة تعلم لغة autoit
الدرس الثالث في دورة تعلم autoit
الدرس الرابع في دورة تعليم autoit
الدرس الخامس في دورة تعليم Autoit
الدرس السادس في دورة تعلم لغة autoit
الدرس السابع في دورة تعلم لغة autoit
الدرس الثامن في دورة تعلم لغة autoit
عودة إلى دورة تعليم لغة autoit وإليكم الدرس التاسع
إليكم الدرس العاشر من الدورة الخاصة بلغة autoit
وصول الدرس الحادي عشر من دورة تعلم لغة autoit
ونتمنى من أخي العزيز ناصر جزاه الله خيرا وصول الدرس الثاني عشر من دورة AUTOIT قريبا إن شاء الله
في النهاية تقبل تحياتي يا عزيزي.
 
شكرا لك كثيرا أخي صلاح
بارك الله فيك وبك
عفوا أخي العزيز هذا واجبي
بارك الله فيك وتمنياتي لك بالتوفيق
تقبل تحيات أخوك
Mr.Mostafa عاشق التقنية.
 
عودة
أعلى