فهوَ سيبدأُ بأولِ شيء, ثُمَّ الثاني, ثُمَّ الثالث, حتى ينتهي.
فهنا لاحظنا أنهُ يُؤَدِّي هذه الوظيفةَ على أساسِ الترتيب.
إذا كانتِ الوظيفةُ تحتوي على زِرٍّ فإنه سيضغطُ عليه. فإذا لم يجدْهُ لَن يُكْمِلَ الوظيفة.
إذا كانتِ الوظيفةُ تحتوي على إضافةٍ أو أداةٍ فإنه سيقومُ باستدعائها. فإذا لم يجدْها لَن يُكْمِلَ الوظيفة.
مثالُ الحالَةِ الأولى.
if service.click({{">Acapela TTS Voices","الإعدادات",}})return true end
الحالةُ الثَّانِيَةُ وهي للتخيير.
لقد قُمْنا بِحَذْفِ قَوْسَيْنِ مُزَخْرَفَيْنِ بعدَ عِبارة service.click({{})وهَذا يعني أنها صارت للتخيير.
نستطيعُ أن نَضَعَ عِدَّةَ أزرارٍ لِيَقومَ التطبيقُ بالبحثِ عنها. وَأَوَّلُ زرٍّ يَجِدهُ سيضغطُ عليهِ ويتوقف.
ونستطيعُ أيضً أن نجمعَ بينَ زِرٍّ أو عِدَّةِ أزرارٍ ووظيفة,, أو أداة, أو فتحِ تطبيق. بِشَرْطِ أنْ تكونَ الأزرارُ في الأولِ لِيَبْحَثَ عنها وإذا لم يجدْها يُنَفِّذُ إِحْدَى هذه الأشياءَ الثلاثة .
أما إذا كانت إِحْدَى هذه الأشياءِ الثلاثة في الأول, فإنهُ سَيُنَفِّذُها ولن يبحثَ عَنِ الأزرار.
مثالُ الحالَةِ الثَّانِيَة.
if service.click({"#end_call_btn@WhatsApp","#call_notification@WhatsApp","#voice_note_cancel_btn@WhatsApp","#voice_note_draft_discard_btn@WhatsApp","#cancel@WhatsApp","%رجوع",})return true end
الحالةُ الثالثةُ وهي للدمْجِ بينَ الترتيبِ والتخيير.
وهَذِهِ الحالةُ تحتاجُ إلى بعضِ التركيز.
عندنا عِبارة service.click({})أربعةُ أَقْوَاسٍ في الحالةِ الإفتراضيةِ كما ذكرنا.
نستطيع أن نُضِيفَ قَوْسَيْن, أو أربعة, أو ستة, أو أكثر. المُهمُّ أن يكونَ العددُ زوجيًّا.
وكلُّ زوجٍ مِنْ هذه الأقواس, نَضَعُ بِداخِلِهِ الأشياءَ التي يكونُ فيها التخييرُ كما في الحالةِ الثَّانِيَة, وبنفسِ القواعد.
نَفْتحُ قَوْسًا قبلَ التنصيصِ الأولِ الذي يبدأُ بعدَهُ التخييرْ, وَنُغْلِقُ قوسا بعدَ التنصيصِ الذي ينتهي عندهُ التخيير.
فَتَكونُ الوظيفةُ كالتالي.
service.click({{{"الرد على المكالمة@واتساب","تسجيل رسالة صوتية@واتساب"},"%الإزاحة إلى الأعلى",}})
أضَفنا قَوْسًا مفتوحا قبلَ التنصيصِ الموجودِ قبلَ الردِّ على المكالمة. وهَذا لِبِدايَةِ التخيير.
ووضعنا قوسا مُغْلَقًا بعدَ التنصيصِ الموجودِ بعدَ تسجيلِ الرِّسَالةِ الصوتية, وهَذا لإنهاءِ التخيير.
مثالُ الحالَةِ الثالثة.
if service.click({{{"#accept_incoming_call_view@WhatsApp","#voice_note_btn@WhatsApp"},"%الازاحه الى الاعلى",}})return true end
عندنا الردُّ والتسجيل. وكلاهما يحتاج إلى الإزاحة إلى الأعلى.
هما يختلفَانِ في الإسم, ويجتمِعانِ في احتياجهما للإزاحة, ويجتمِعانِ أيضا في تطبيقٍ واحد.
هنا نقولُ للتطبيق, إِبْحَثْ عن أحدِ الزِّرَّيْنْ, وإذا وجدْتَ أحدَهما إِضْغَطْ عليه ثُمَّ أَزِحْهُ.
فكيف نجعلُهُ يختارُ أَحَدَ الزِّرَّيْنِ إذا وُجِدْ, ثُمَّ يرجعُ للترتيب, أي للإزاحة.
هنا يجب علينا أن نركزَ جيدا.
للترتيبِ يجبُ أن تكون هناك أربعةُ أقواسٍ مزخرفة. إثنان في الأول, واثنان في الأخير.
وللتخييرِ يجبُ أن يكونَ هناك قَوْسَيْنِ مزخرفَيْن فقط. واحد في الأول, والثاني في الأخير.
فَفِي حَالَتِنَا هذه أدخلْنا التخييرَ داخل الترتيب.
بحيث نُبْقِي على الأربعةِ الخاصةِ بالترتيب في مكانها, وَنُضِيفُ أخرى بداخلها للتخيير.
فَفِي حَالَتِنَا السابقةِ وضعنا قَوْسَيْنِ في الأولِ وقَوْسَيْنِ في الأخيرِ للترتيبِ بين الأزرارِ التي يتمُّ اختيارُ أحدِها وبين الإزاحة.
ووضعنا قَوْسًا مفتوحا قَبْلَ الزِّرِّ الأولِ لِبِدايةِ التخييرْ, ووضعنا قوسا مغلقا بعدَ الزِّرِّ الثاني لإنهاءِ التخييرْ, والعودةِ إلى الترتيبِ الذي وضعنا له أقواسا في الأولِ والأخير.
مُلاحظات.
أولا. نستطيع أن نجعلَ التخييرَ بينَ إِسْمِ زِرٍّ واحدٍ أو عِدَّةِ أزرارٍ ووظيفة. بشرطِ أن تكونَ الأزرارُ هي الأولى.
ثانيًا. الْقَوْسُ الذي نضعهُ لِبِدايةِ التخييرْ, يكونُ قَبْلَ عَلامَةِ التنصيص. والذي نضعهُ لإنهاءِ التخييرْ, يكونُ بعدَ عَلامَةِ التنصيص. وليسَ بعدَ علامَةِ الفاصلة.
ثالثا. نستطيعُ أن نبدأَ تخييرًا ثَانِيًا دونَ أن نَفْصِلَ بينه وبينَ التخييرِ الأولِ بشيءٍ خاصٍّ بالترتيب.
ولو نظرنا في هذه الحالةِ نجدُه ترتيبً يَجْمَعُ بينَ تَخْيِيرَيْن.
رابعا. الأقواسُ التي نتحدثُ عنها هي الأقواسُ المزخرفة. ولا علاقةَ للأقواسِ العاديةِ بالموضوع.
بحيث نُبْقِي على الأربعةِ الخاصةِ بالترتيب في مكانها, وَنُضِيفُ أخرى بداخلها للتخيير.
فهنا لاحظنا أنهُ يُؤَدِّي هذه الوظيفةَ على أساسِ الترتيب.
إذا كانتِ الوظيفةُ تحتوي على زِرٍّ فإنه سيضغطُ عليه. فإذا لم يجدْهُ لَن يُكْمِلَ الوظيفة.
إذا كانتِ الوظيفةُ تحتوي على إضافةٍ أو أداةٍ فإنه سيقومُ باستدعائها. فإذا لم يجدْها لَن يُكْمِلَ الوظيفة.
مثالُ الحالَةِ الأولى.
if service.click({{">Acapela TTS Voices","الإعدادات",}})return true end
الحالةُ الثَّانِيَةُ وهي للتخيير.
لقد قُمْنا بِحَذْفِ قَوْسَيْنِ مُزَخْرَفَيْنِ بعدَ عِبارة service.click({{})وهَذا يعني أنها صارت للتخيير.
نستطيعُ أن نَضَعَ عِدَّةَ أزرارٍ لِيَقومَ التطبيقُ بالبحثِ عنها. وَأَوَّلُ زرٍّ يَجِدهُ سيضغطُ عليهِ ويتوقف.
ونستطيعُ أيضً أن نجمعَ بينَ زِرٍّ أو عِدَّةِ أزرارٍ ووظيفة,, أو أداة, أو فتحِ تطبيق. بِشَرْطِ أنْ تكونَ الأزرارُ في الأولِ لِيَبْحَثَ عنها وإذا لم يجدْها يُنَفِّذُ إِحْدَى هذه الأشياءَ الثلاثة .
أما إذا كانت إِحْدَى هذه الأشياءِ الثلاثة في الأول, فإنهُ سَيُنَفِّذُها ولن يبحثَ عَنِ الأزرار.
مثالُ الحالَةِ الثَّانِيَة.
if service.click({"#end_call_btn@WhatsApp","#call_notification@WhatsApp","#voice_note_cancel_btn@WhatsApp","#voice_note_draft_discard_btn@WhatsApp","#cancel@WhatsApp","%رجوع",})return true end
الحالةُ الثالثةُ وهي للدمْجِ بينَ الترتيبِ والتخيير.
وهَذِهِ الحالةُ تحتاجُ إلى بعضِ التركيز.
عندنا عِبارة service.click({})أربعةُ أَقْوَاسٍ في الحالةِ الإفتراضيةِ كما ذكرنا.
نستطيع أن نُضِيفَ قَوْسَيْن, أو أربعة, أو ستة, أو أكثر. المُهمُّ أن يكونَ العددُ زوجيًّا.
وكلُّ زوجٍ مِنْ هذه الأقواس, نَضَعُ بِداخِلِهِ الأشياءَ التي يكونُ فيها التخييرُ كما في الحالةِ الثَّانِيَة, وبنفسِ القواعد.
نَفْتحُ قَوْسًا قبلَ التنصيصِ الأولِ الذي يبدأُ بعدَهُ التخييرْ, وَنُغْلِقُ قوسا بعدَ التنصيصِ الذي ينتهي عندهُ التخيير.
فَتَكونُ الوظيفةُ كالتالي.
service.click({{{"الرد على المكالمة@واتساب","تسجيل رسالة صوتية@واتساب"},"%الإزاحة إلى الأعلى",}})
أضَفنا قَوْسًا مفتوحا قبلَ التنصيصِ الموجودِ قبلَ الردِّ على المكالمة. وهَذا لِبِدايَةِ التخيير.
ووضعنا قوسا مُغْلَقًا بعدَ التنصيصِ الموجودِ بعدَ تسجيلِ الرِّسَالةِ الصوتية, وهَذا لإنهاءِ التخيير.
مثالُ الحالَةِ الثالثة.
if service.click({{{"#accept_incoming_call_view@WhatsApp","#voice_note_btn@WhatsApp"},"%الازاحه الى الاعلى",}})return true end
عندنا الردُّ والتسجيل. وكلاهما يحتاج إلى الإزاحة إلى الأعلى.
هما يختلفَانِ في الإسم, ويجتمِعانِ في احتياجهما للإزاحة, ويجتمِعانِ أيضا في تطبيقٍ واحد.
هنا نقولُ للتطبيق, إِبْحَثْ عن أحدِ الزِّرَّيْنْ, وإذا وجدْتَ أحدَهما إِضْغَطْ عليه ثُمَّ أَزِحْهُ.
فكيف نجعلُهُ يختارُ أَحَدَ الزِّرَّيْنِ إذا وُجِدْ, ثُمَّ يرجعُ للترتيب, أي للإزاحة.
هنا يجب علينا أن نركزَ جيدا.
للترتيبِ يجبُ أن تكون هناك أربعةُ أقواسٍ مزخرفة. إثنان في الأول, واثنان في الأخير.
وللتخييرِ يجبُ أن يكونَ هناك قَوْسَيْنِ مزخرفَيْن فقط. واحد في الأول, والثاني في الأخير.
فَفِي حَالَتِنَا هذه أدخلْنا التخييرَ داخل الترتيب.
بحيث نُبْقِي على الأربعةِ الخاصةِ بالترتيب في مكانها, وَنُضِيفُ أخرى بداخلها للتخيير.
فَفِي حَالَتِنَا السابقةِ وضعنا قَوْسَيْنِ في الأولِ وقَوْسَيْنِ في الأخيرِ للترتيبِ بين الأزرارِ التي يتمُّ اختيارُ أحدِها وبين الإزاحة.
ووضعنا قَوْسًا مفتوحا قَبْلَ الزِّرِّ الأولِ لِبِدايةِ التخييرْ, ووضعنا قوسا مغلقا بعدَ الزِّرِّ الثاني لإنهاءِ التخييرْ, والعودةِ إلى الترتيبِ الذي وضعنا له أقواسا في الأولِ والأخير.
مُلاحظات.
أولا. نستطيع أن نجعلَ التخييرَ بينَ إِسْمِ زِرٍّ واحدٍ أو عِدَّةِ أزرارٍ ووظيفة. بشرطِ أن تكونَ الأزرارُ هي الأولى.
ثانيًا. الْقَوْسُ الذي نضعهُ لِبِدايةِ التخييرْ, يكونُ قَبْلَ عَلامَةِ التنصيص. والذي نضعهُ لإنهاءِ التخييرْ, يكونُ بعدَ عَلامَةِ التنصيص. وليسَ بعدَ علامَةِ الفاصلة.
ثالثا. نستطيعُ أن نبدأَ تخييرًا ثَانِيًا دونَ أن نَفْصِلَ بينه وبينَ التخييرِ الأولِ بشيءٍ خاصٍّ بالترتيب.
ولو نظرنا في هذه الحالةِ نجدُه ترتيبً يَجْمَعُ بينَ تَخْيِيرَيْن.
رابعا. الأقواسُ التي نتحدثُ عنها هي الأقواسُ المزخرفة. ولا علاقةَ للأقواسِ العاديةِ بالموضوع.
بحيث نُبْقِي على الأربعةِ الخاصةِ بالترتيب في مكانها, وَنُضِيفُ أخرى بداخلها للتخيير.
()
الأقواس.
هي إفتراضيا تكونُ بعدَ عِبارة service.click({{{}}) وقد نَكْتُبُهَا إذا كَتَبْنَا هذه العِبارةَ بشكلٍ يدوي, أو إذا قمنا بحذفِ أحدِها عن طريقِ الخَطَأ.
أما إذا إِسْتَعْمَلْنَا إِدْرَاجْ فَلَا نكتُبُها لأنها تُكْتَبُ تِلْقَائِيًّا كما قُلنا.
وما دامَ أنَّنا نتحدَّثُ فقط عن عِبارة service.click({{{}}) فإنه يوجَدُ بعدَهَا زوجٌ مِنَ الأقواس. الأوَّلُ مفتوحْ بعدَ كلمة click, والثاني مُغْلَقْ في الأخير. وبعدَهُ نَجِدُ عبارة return true end.
الخُلاصَةُ أننا لا نضعُ هذه الأقواس. بَلْ نَجِدُهَا قد أُضِيفَت تِلقائيا. وقد نَضَعُها في حالةِ كِتَابَةِ الأَمْرِ بشكلٍ يدوي, أو عند حَذْفِها عن طريقِ الخَطَأ.
مثال.
if service.click({{}})return true end
ثانيًا. الْقَوْسُ الذي نضعهُ لِبِدايةِ التخييرْ, يكونُ قَبْلَ عَلامَةِ التنصيص. والذي نضعهُ لإنهاءِ التخييرْ, يكونُ بعدَ عَلامَةِ التنصيص. وليسَ بعدَ علامَةِ الفاصلة.
"
التنصيص, أو الإقتباس.
بعدَ service.click({{{}}) يمكنُ أنْ نضَعَ الكثيرَ مِنَ العناصر. كالأزرار, والوظائف, وغيرِها مِنَ الأُمورِ التي ذُكِرَتْ في هذا الدرس.
قد نَضَعُ عنصرا واحدا, وقد نَضَعُ الكثيرَ مِنَ العناصر.
يجبُ علينا أن نَضَعَ كُلَّ عنصرٍ بينَ تَنْصِيصَيْن.
في حالةِ الإدراجِ لا نحتاجُ إلى ذلك, أما إذا كَتَبْنَ الأمرَ بشكلٍ يدوي, فإننا نحتاجُ إلى أن نَضَعَ كُلَّ عنصرٍ بينَ تَنْصِيصَيْن.
في حالةِ إدراجِ أو كتابةِ عنصرٍ واحد, فإننا لا نحتاجُ إلى وَضْعِ عَلامَةِ الفاصِلَةِ بعدَ التنصيصِ الثاني. أما إذا أَدْرَجْنَا أو كَتَبْنَا أكثرَ مِنْ عُنْصُر, فإننا نحتاجُ إلى وَضْعِ عَلامَةِ الفاصِلَةِ بعدَ كُلِّ عنصر, عدا العنصرِ الأخير. وتكونُ عَلامَةُ الفاصِلَةِ بعدَ التنصيصِ الثاني لِلْعُنْصُر.
وَلَوْ وَضَعْنَاهَا بعدَ العنصرِ الأخيرْ, أو بعدَ كلِّ عنصر, فإنها لا تؤثِّر.
مثالُ العنصرِ الواحد.
if service.click({{"إرسال"}})return true end
مثالُ أكثر من عنصر.
if service.click({{"تسجيل رسالة صوتية","%الإزاحةُ إلى الأعلى"}})return true end
لاحظنا في المثالِ الثاني وُجودَ الفاصلة بعدَ العنصرِ الأوَّل, لأنَّ بعدَهُ عنصرا آخَر. وعدَمَ وجودِها بعدَ العنصرِ الأخير, لأنه لا يوجدُ بعدهُ شيء.
يجبُ علينا أن نَضَعَ كُلَّ عنصرٍ بينَ تَنْصِيصَيْن.
هذه بعضُ العلامات, وأكيدْ هناك علاماتٌ أخرى. لَكِنِّي رَكَّزْتُ على العلاماتِ المشهورة, والتي نحتاجُها كثيرا في كتابةِ الوظائفِ البسيطة. .
العلاماتُ التي نَكتُبُها يدويا بشكلٍ دائمٍ هي.
* # < @ $ & []
والعلاماتُ التي قد نكتُبُها وقد نُدْرِجُها وَهَذَا بِحَسَبِ الحال هي.
% > {} " ,
العلاماتُ التي شَرَحْنَاهَا نستخدمُها داخلَ أَمْرْ service.click({{}}).
هناكَ الكثيرُ مِنَ الأوامرِ الأخرى. لَكِنَّ هذا الأمرَ هو الأشْهَرُ والأسهل. لأننا نستطيع مِنْ خلالهِ الدمجَ بينَ الضغطِ على الأزرار, واستِدعاءِ الوظائفِ الأساسية, والإضافات, والأدوات, وَفَتْحِ التطبيقات.
نستطيعُ أن نَضَعَ المحتوى داخلَ هذا الأمرِ بإحدَ الطريقتين.
الطريقةُ الأولى. إنشاءُ وظيفةِ النقرِ التلقائي.
نَصِلُ إليها عَبْرَ الذهابِ إلى الإعدادات, ثُمَّ الإعداداتِ العامة, ثُمَّ إعداداتِ الإيماءاتِ المُخصَّصة, ثُمَّ المزيدِ مِنَ الخياراتْ, ثُمَّ إنشاءِ وظيفةِ النقرِ التلقائي, ثُمَّ كتابةِ إسمِ الوظيفةِ, ثُمَّ الضغطِ على حَسَنًا أو مُوافِق.
وهنا نجدُ مربعَ التحرير, نضعُ بِداخلِهِ الأزرار, واحدا في كُلِّ سَطْرْ.
ونستطيعُ أيضا أن نُدْرِجَ وظيفة, أو إضافة, أو أداة, أو فَتْحَ تطبيق, عن طريقِ الضغطِ على المزيدِ مِنَ الخيارات.
ونستطيعُ أيضا أن نُدْرِجَ وظيفة, عن طريقِ كتابتِها ووَضْعِ عَلامَةِ بالمئةِ قَبْلَها.
ونستطيعُ أيضا أن نُدْرِجَ إضافة, عن طريقِ كتابتِها ووَضْعِ عِبارة %Plugins/ قَبْلَها.
ونستطيعُ أيضا أن نُدْرِجَ أداة, عن طريقِ كتابتِها ووَضْعِ عِبارة %Tools/ قَبْلَها.
في حالةِ كتابةِ إسمِ زِرٍّ أو كتابةِ إحدى الأُمورِ المذكورةِ في السطرِ السابق بشكلٍ يدوي, يجبُ علينا بعدَ الكتابةِ أن نَضْغَطَ على إدخالْ في لَوْحةِ المَفَاتِيحْ, لِنَنْزِلَ إلى السطرِ التالي.
أما إذا اخترنا إدراجْ بالضغطِ على المزيدِ مِنَ الخياراتْ, فإننا لا نحتاجُ إلى ذلك.
بعدَ الإنتهاء, نَضْغَطُ على حِفْظْ.
ولو رَجَعنا إلى الوظيفةِ التي أنشأناها لِنُعَدِّلَ عليها فإننا لن نستطيعَ إدراجَ الأزرارِ أَوِ الوظائفِ بالطريقةِ الأولى. وإنما نحتاجُ في هذه الحالَةِ إلى الطريقةِ الثَّانِيَة.
الأقواس.
هي إفتراضيا تكونُ بعدَ عِبارة service.click({{{}}) وقد نَكْتُبُهَا إذا كَتَبْنَا هذه العِبارةَ بشكلٍ يدوي, أو إذا قمنا بحذفِ أحدِها عن طريقِ الخَطَأ.
أما إذا إِسْتَعْمَلْنَا إِدْرَاجْ فَلَا نكتُبُها لأنها تُكْتَبُ تِلْقَائِيًّا كما قُلنا.
وما دامَ أنَّنا نتحدَّثُ فقط عن عِبارة service.click({{{}}) فإنه يوجَدُ بعدَهَا زوجٌ مِنَ الأقواس. الأوَّلُ مفتوحْ بعدَ كلمة click, والثاني مُغْلَقْ في الأخير. وبعدَهُ نَجِدُ عبارة return true end.
الخُلاصَةُ أننا لا نضعُ هذه الأقواس. بَلْ نَجِدُهَا قد أُضِيفَت تِلقائيا. وقد نَضَعُها في حالةِ كِتَابَةِ الأَمْرِ بشكلٍ يدوي, أو عند حَذْفِها عن طريقِ الخَطَأ.
مثال.
if service.click({{}})return true end
ثانيًا. الْقَوْسُ الذي نضعهُ لِبِدايةِ التخييرْ, يكونُ قَبْلَ عَلامَةِ التنصيص. والذي نضعهُ لإنهاءِ التخييرْ, يكونُ بعدَ عَلامَةِ التنصيص. وليسَ بعدَ علامَةِ الفاصلة.
"
التنصيص, أو الإقتباس.
بعدَ service.click({{{}}) يمكنُ أنْ نضَعَ الكثيرَ مِنَ العناصر. كالأزرار, والوظائف, وغيرِها مِنَ الأُمورِ التي ذُكِرَتْ في هذا الدرس.
قد نَضَعُ عنصرا واحدا, وقد نَضَعُ الكثيرَ مِنَ العناصر.
يجبُ علينا أن نَضَعَ كُلَّ عنصرٍ بينَ تَنْصِيصَيْن.
في حالةِ الإدراجِ لا نحتاجُ إلى ذلك, أما إذا كَتَبْنَ الأمرَ بشكلٍ يدوي, فإننا نحتاجُ إلى أن نَضَعَ كُلَّ عنصرٍ بينَ تَنْصِيصَيْن.
في حالةِ إدراجِ أو كتابةِ عنصرٍ واحد, فإننا لا نحتاجُ إلى وَضْعِ عَلامَةِ الفاصِلَةِ بعدَ التنصيصِ الثاني. أما إذا أَدْرَجْنَا أو كَتَبْنَا أكثرَ مِنْ عُنْصُر, فإننا نحتاجُ إلى وَضْعِ عَلامَةِ الفاصِلَةِ بعدَ كُلِّ عنصر, عدا العنصرِ الأخير. وتكونُ عَلامَةُ الفاصِلَةِ بعدَ التنصيصِ الثاني لِلْعُنْصُر.
وَلَوْ وَضَعْنَاهَا بعدَ العنصرِ الأخيرْ, أو بعدَ كلِّ عنصر, فإنها لا تؤثِّر.
مثالُ العنصرِ الواحد.
if service.click({{"إرسال"}})return true end
مثالُ أكثر من عنصر.
if service.click({{"تسجيل رسالة صوتية","%الإزاحةُ إلى الأعلى"}})return true end
لاحظنا في المثالِ الثاني وُجودَ الفاصلة بعدَ العنصرِ الأوَّل, لأنَّ بعدَهُ عنصرا آخَر. وعدَمَ وجودِها بعدَ العنصرِ الأخير, لأنه لا يوجدُ بعدهُ شيء.
يجبُ علينا أن نَضَعَ كُلَّ عنصرٍ بينَ تَنْصِيصَيْن.
هذه بعضُ العلامات, وأكيدْ هناك علاماتٌ أخرى. لَكِنِّي رَكَّزْتُ على العلاماتِ المشهورة, والتي نحتاجُها كثيرا في كتابةِ الوظائفِ البسيطة. .
العلاماتُ التي نَكتُبُها يدويا بشكلٍ دائمٍ هي.
* # < @ $ & []
والعلاماتُ التي قد نكتُبُها وقد نُدْرِجُها وَهَذَا بِحَسَبِ الحال هي.
% > {} " ,
العلاماتُ التي شَرَحْنَاهَا نستخدمُها داخلَ أَمْرْ service.click({{}}).
هناكَ الكثيرُ مِنَ الأوامرِ الأخرى. لَكِنَّ هذا الأمرَ هو الأشْهَرُ والأسهل. لأننا نستطيع مِنْ خلالهِ الدمجَ بينَ الضغطِ على الأزرار, واستِدعاءِ الوظائفِ الأساسية, والإضافات, والأدوات, وَفَتْحِ التطبيقات.
نستطيعُ أن نَضَعَ المحتوى داخلَ هذا الأمرِ بإحدَ الطريقتين.
الطريقةُ الأولى. إنشاءُ وظيفةِ النقرِ التلقائي.
نَصِلُ إليها عَبْرَ الذهابِ إلى الإعدادات, ثُمَّ الإعداداتِ العامة, ثُمَّ إعداداتِ الإيماءاتِ المُخصَّصة, ثُمَّ المزيدِ مِنَ الخياراتْ, ثُمَّ إنشاءِ وظيفةِ النقرِ التلقائي, ثُمَّ كتابةِ إسمِ الوظيفةِ, ثُمَّ الضغطِ على حَسَنًا أو مُوافِق.
وهنا نجدُ مربعَ التحرير, نضعُ بِداخلِهِ الأزرار, واحدا في كُلِّ سَطْرْ.
ونستطيعُ أيضا أن نُدْرِجَ وظيفة, أو إضافة, أو أداة, أو فَتْحَ تطبيق, عن طريقِ الضغطِ على المزيدِ مِنَ الخيارات.
ونستطيعُ أيضا أن نُدْرِجَ وظيفة, عن طريقِ كتابتِها ووَضْعِ عَلامَةِ بالمئةِ قَبْلَها.
ونستطيعُ أيضا أن نُدْرِجَ إضافة, عن طريقِ كتابتِها ووَضْعِ عِبارة %Plugins/ قَبْلَها.
ونستطيعُ أيضا أن نُدْرِجَ أداة, عن طريقِ كتابتِها ووَضْعِ عِبارة %Tools/ قَبْلَها.
في حالةِ كتابةِ إسمِ زِرٍّ أو كتابةِ إحدى الأُمورِ المذكورةِ في السطرِ السابق بشكلٍ يدوي, يجبُ علينا بعدَ الكتابةِ أن نَضْغَطَ على إدخالْ في لَوْحةِ المَفَاتِيحْ, لِنَنْزِلَ إلى السطرِ التالي.
أما إذا اخترنا إدراجْ بالضغطِ على المزيدِ مِنَ الخياراتْ, فإننا لا نحتاجُ إلى ذلك.
بعدَ الإنتهاء, نَضْغَطُ على حِفْظْ.
ولو رَجَعنا إلى الوظيفةِ التي أنشأناها لِنُعَدِّلَ عليها فإننا لن نستطيعَ إدراجَ الأزرارِ أَوِ الوظائفِ بالطريقةِ الأولى. وإنما نحتاجُ في هذه الحالَةِ إلى الطريقةِ الثَّانِيَة.
الطريقةُ الثَّانِيَة. إنشاءُ وظيفة.
نَصِلُ إليها عَبْرَ الذهابِ إلى الإعدادات, ثُمَّ الإعداداتِ العامة, ثُمَّ إعداداتِ الإيماءاتِ المُخصَّصة, ثُمَّ المزيدِ مِنَ الخياراتْ, ثُمَّ إنشاءِ وظيفة, ثُمَّ كتابةِ إسمِ الوظيفةِ, ثُمَّ الضغطِ على حَسَنًا أو مُوافِق, ثُمَّ المزيدِ مِنَ الخيارات, ثُمَّ إدراجْ نَقْرْ تلقائي.
وهنا نجدُ مربعَ التحريرْ, نضعُ بِداخلِهِ الأزرار, واحدا في كل سَطْرْ.
ونستطيعُ أيضا أن نُدْرِجَ إضافة, عن طريقِ كتابتِها ووَضْعِ عِبارة %Plugins/ قَبْلَها.
ونستطيعُ أيضا أن نُدْرِجَ أداة, عن طريقِ كتابتِها ووَضْعِ عِبارة %Tools/ قَبْلَها.
وبَعْدَ الإنتهاء, نَضْغَطُ على حَسَنًا أو مُوافِق, لِنَجِدَ ما أضفناهُ موجودا داخلَ أمر, service.click({{}})
فما علينا سوى الضَّغْطِ على حِفْظْ كما في الطريقةِ الأولى.
الْفَرْقُ بينَ الطريقةِ الأولى والثَّانِيَة.
أولا. في الطريقةِ الأولى نستطيعُ إدراجَ الوظائفِ وغيرِها بشكلٍ تلقائيٍّ داخلَ أمر, service.click({{}}), عن طريقِ المزيدِ مِنَ الخيارات, لَكنْ في الطريقةِ الثَّانِيَة, نَكْتُبُها بشكلٍ يدوي.
ثانيًا. في الطريقةِ الأولى نستطيعُ التعديلَ بعدَ إدخالِ الأشياءِ المطلوبةِ قَبْلَ الضَّغْطِ على زِرِّ الحِفْظْ. أما في الطريقةِ الثَّانِية, فإننا لو ضَغَطْنا على حَسَنً أو مُوافِق, فإنه سيقومُ بإنشاءِ أَمْرْ, service.click({{}}). . وبالتالي يَصْعُبُ التعديلُ على المحتوى داخلَ الأمر, فَنُضْطَرُّ إلى مَسْحِ كلِّ شيء وَإِعادَةِ كِتَابَتِهِ مِنْ جديد
ثالثا. الطريقةُ الأولى تنفعُ لإنشاءِ وظيفةٍ واحدة. والطريقةُ الثَّانِيَةُ تنفعُ لإنشاءِ عِدَّةِ وظائفَ داخلَ وظيفةٍ واحدةٍ لِنَسْتَخْدِمَها في عِدَّةِ أمور, أو في عِدَّةِ تطبيقات.
مُلاحظة.
إذا أنشأنا وَظِيفَةً بالطريقةِ الأولى, فإننا نَجِدُ في آخِرِ تلكَ الوظيفةِ عِبارة, return true. وَنَجِدُ قبْلَها عِبارة, end.
إذا أنشأنا وَظِيفَةً بالطريقةِ الأولى, فإننا نجدُ في آخِرِ تلكَ الوظيفةِ عِبارة, return true. ونَجِدُ قبْلَها عِبارة, end.
فَعِبَارَةُ return true إذا كانت في الأخيرْ, تمنعُنا مِنْ أَمْرَيْنْ.
الأمرُ الأوَّل. لا نستطيعُ إضافةَ وظيفةٍ أخرى إلى الوظيفةِ الحاليَّة.
الأمرُ الثاني. إذا لَمْ يِجِدِ الأزرارَ التي وضعناها في هذه الوظيفة, فإنَّهُ لَنْ يُؤَدِّيَ الوظيفةَ الْإِفْتِرَاضِيَّةَ للإيماءةِ التي حددناها لهذه الوظيفة
فَالْحَلُّ أنْ نَحْذِفَ عِبارة, return true إذا كانت في الأخير.
نَصِلُ إليها عَبْرَ الذهابِ إلى الإعدادات, ثُمَّ الإعداداتِ العامة, ثُمَّ إعداداتِ الإيماءاتِ المُخصَّصة, ثُمَّ المزيدِ مِنَ الخياراتْ, ثُمَّ إنشاءِ وظيفة, ثُمَّ كتابةِ إسمِ الوظيفةِ, ثُمَّ الضغطِ على حَسَنًا أو مُوافِق, ثُمَّ المزيدِ مِنَ الخيارات, ثُمَّ إدراجْ نَقْرْ تلقائي.
وهنا نجدُ مربعَ التحريرْ, نضعُ بِداخلِهِ الأزرار, واحدا في كل سَطْرْ.
ونستطيعُ أيضا أن نُدْرِجَ إضافة, عن طريقِ كتابتِها ووَضْعِ عِبارة %Plugins/ قَبْلَها.
ونستطيعُ أيضا أن نُدْرِجَ أداة, عن طريقِ كتابتِها ووَضْعِ عِبارة %Tools/ قَبْلَها.
وبَعْدَ الإنتهاء, نَضْغَطُ على حَسَنًا أو مُوافِق, لِنَجِدَ ما أضفناهُ موجودا داخلَ أمر, service.click({{}})
فما علينا سوى الضَّغْطِ على حِفْظْ كما في الطريقةِ الأولى.
الْفَرْقُ بينَ الطريقةِ الأولى والثَّانِيَة.
أولا. في الطريقةِ الأولى نستطيعُ إدراجَ الوظائفِ وغيرِها بشكلٍ تلقائيٍّ داخلَ أمر, service.click({{}}), عن طريقِ المزيدِ مِنَ الخيارات, لَكنْ في الطريقةِ الثَّانِيَة, نَكْتُبُها بشكلٍ يدوي.
ثانيًا. في الطريقةِ الأولى نستطيعُ التعديلَ بعدَ إدخالِ الأشياءِ المطلوبةِ قَبْلَ الضَّغْطِ على زِرِّ الحِفْظْ. أما في الطريقةِ الثَّانِية, فإننا لو ضَغَطْنا على حَسَنً أو مُوافِق, فإنه سيقومُ بإنشاءِ أَمْرْ, service.click({{}}). . وبالتالي يَصْعُبُ التعديلُ على المحتوى داخلَ الأمر, فَنُضْطَرُّ إلى مَسْحِ كلِّ شيء وَإِعادَةِ كِتَابَتِهِ مِنْ جديد
ثالثا. الطريقةُ الأولى تنفعُ لإنشاءِ وظيفةٍ واحدة. والطريقةُ الثَّانِيَةُ تنفعُ لإنشاءِ عِدَّةِ وظائفَ داخلَ وظيفةٍ واحدةٍ لِنَسْتَخْدِمَها في عِدَّةِ أمور, أو في عِدَّةِ تطبيقات.
مُلاحظة.
إذا أنشأنا وَظِيفَةً بالطريقةِ الأولى, فإننا نَجِدُ في آخِرِ تلكَ الوظيفةِ عِبارة, return true. وَنَجِدُ قبْلَها عِبارة, end.
إذا أنشأنا وَظِيفَةً بالطريقةِ الأولى, فإننا نجدُ في آخِرِ تلكَ الوظيفةِ عِبارة, return true. ونَجِدُ قبْلَها عِبارة, end.
فَعِبَارَةُ return true إذا كانت في الأخيرْ, تمنعُنا مِنْ أَمْرَيْنْ.
الأمرُ الأوَّل. لا نستطيعُ إضافةَ وظيفةٍ أخرى إلى الوظيفةِ الحاليَّة.
الأمرُ الثاني. إذا لَمْ يِجِدِ الأزرارَ التي وضعناها في هذه الوظيفة, فإنَّهُ لَنْ يُؤَدِّيَ الوظيفةَ الْإِفْتِرَاضِيَّةَ للإيماءةِ التي حددناها لهذه الوظيفة
فَالْحَلُّ أنْ نَحْذِفَ عِبارة, return true إذا كانت في الأخير.
Forwarded from تطبيقات أحمد جابر للمكفوفين 📱🧑🦯.
📢 من بنك تحديثاتنا وصل يا أستاذنا 👨🏫، 📢
التحديث الثالث للوحة وصل، 🚀
وصل، وصل، وصل.تم تحديث وإضافة سبعة ميزات جديدة 🚀. 🧑🦯**
الحمد لله، وكلها شغالة تمام ✅🙏
إليكم قائمة الميزات الجديدة:
1. ميزة الذكاء الاصطناعي 🤖
داخل الإعدادات — يمكنك ربط اللوحة بأكثر من مزود ذكاء اصطناعي (DeepSeek وGemini وGroq)، وإدخال مفتاح API الخاص بك واختيار النموذج اللي يناسبك.مع خيارين الأول. ✅تصحيح الأخطاء الإملائية 📝.
الثاني إضافة رموز تعبيرية مناسبة للنص 😊.مع إمكانية تشغيل كلاهما معًا ⚙️، أو إيقاف أحدهما 🛑.وربت كل ذلك مع.🤔- الإدخال الصوتي الذكي**: تتكلم، واللوحة تحول كلامك لنص، وتمرره على الذكاء الاصطناعي عشان يصححه ويظبطه قبل ما يتكتب في مربع الكتابة مباشرة.
2. شريط الاقتراحات 📎
داخل إعداد "التنبؤ الذكي" — يظهر أعلى الحروف،ويمكنك إيقافه أو تشغيله 🔄 متى شئت. ويقترح كلمات بناءً على ما يكتبه المستخدم أكثر. اللوحة تتعلم الكلمات والجمل اللي بيكررها المستخدم وتحتفظ بذاكرة لها.
3. الاختصارات المخصصة ⌨️✂️
داخل "التنبؤ الذكي" برضه — مربعين: الأول "اختصار النص" والتاني "النص الكامل"، مع زر موافقة وزر إلغاء. مثال: يكتب "الحمد" فيقترح عليه "الحمد لله رب العالمين". في شاشة منفصلة تعرض كل الاختصارات المحفوظة مع إمكانية تعديلها، وزر "➕" لإضافة اختصار جديد.
4. زر الحافظة 💾
زر جديد بجانب زر الإعدادات وزر الإجراءات، أعلى صف الحروف.يجمع كل ما ينسخه المستخدم بالهاتف أو بقارئ الشاشة 📱📖. والضغط على أي عنصر فيها يلصقه في مربع الكتابة.
5. زر الهمزات والأرقام 🔤🔢
زر مستقل تمامًا عن الإعدادات. أول ضغطة تظهر صف الهمزات والحركات وصف الأرقام فقط ، ولا يظهر أي شيء آخر. الضغطة الثانية تخفيهم.
6.ونظرا لاستخدام النقطة أكثر من الفصلة⚠️. تم استبدال زر الفاصلة بزر النقطة
الزر اللي كان بجانب زر تغيير لغة الكتابة (الفاصلة) اتبدل ليصبح زر نقطة.
7. زر التصحيح الموحد 🔧
دمج زر "التصحيح" وزر "التصحيح المتقدم" في زر واحد باسم "التصحيح"، يفتح قائمة بداخلها خياران: تصحيح عادي، وتصحيح متقدم — بدل ما يكونوا منفصلين ويزحموا اللوحة.
تابعونا للمزيد من التحديثات قريبًا إن شاء الله 🤍
التحديث الثالث للوحة وصل، 🚀
وصل، وصل، وصل.تم تحديث وإضافة سبعة ميزات جديدة 🚀. 🧑🦯**
الحمد لله، وكلها شغالة تمام ✅🙏
إليكم قائمة الميزات الجديدة:
1. ميزة الذكاء الاصطناعي 🤖
داخل الإعدادات — يمكنك ربط اللوحة بأكثر من مزود ذكاء اصطناعي (DeepSeek وGemini وGroq)، وإدخال مفتاح API الخاص بك واختيار النموذج اللي يناسبك.مع خيارين الأول. ✅تصحيح الأخطاء الإملائية 📝.
الثاني إضافة رموز تعبيرية مناسبة للنص 😊.مع إمكانية تشغيل كلاهما معًا ⚙️، أو إيقاف أحدهما 🛑.وربت كل ذلك مع.🤔- الإدخال الصوتي الذكي**: تتكلم، واللوحة تحول كلامك لنص، وتمرره على الذكاء الاصطناعي عشان يصححه ويظبطه قبل ما يتكتب في مربع الكتابة مباشرة.
2. شريط الاقتراحات 📎
داخل إعداد "التنبؤ الذكي" — يظهر أعلى الحروف،ويمكنك إيقافه أو تشغيله 🔄 متى شئت. ويقترح كلمات بناءً على ما يكتبه المستخدم أكثر. اللوحة تتعلم الكلمات والجمل اللي بيكررها المستخدم وتحتفظ بذاكرة لها.
3. الاختصارات المخصصة ⌨️✂️
داخل "التنبؤ الذكي" برضه — مربعين: الأول "اختصار النص" والتاني "النص الكامل"، مع زر موافقة وزر إلغاء. مثال: يكتب "الحمد" فيقترح عليه "الحمد لله رب العالمين". في شاشة منفصلة تعرض كل الاختصارات المحفوظة مع إمكانية تعديلها، وزر "➕" لإضافة اختصار جديد.
4. زر الحافظة 💾
زر جديد بجانب زر الإعدادات وزر الإجراءات، أعلى صف الحروف.يجمع كل ما ينسخه المستخدم بالهاتف أو بقارئ الشاشة 📱📖. والضغط على أي عنصر فيها يلصقه في مربع الكتابة.
5. زر الهمزات والأرقام 🔤🔢
زر مستقل تمامًا عن الإعدادات. أول ضغطة تظهر صف الهمزات والحركات وصف الأرقام فقط ، ولا يظهر أي شيء آخر. الضغطة الثانية تخفيهم.
6.ونظرا لاستخدام النقطة أكثر من الفصلة⚠️. تم استبدال زر الفاصلة بزر النقطة
الزر اللي كان بجانب زر تغيير لغة الكتابة (الفاصلة) اتبدل ليصبح زر نقطة.
7. زر التصحيح الموحد 🔧
دمج زر "التصحيح" وزر "التصحيح المتقدم" في زر واحد باسم "التصحيح"، يفتح قائمة بداخلها خياران: تصحيح عادي، وتصحيح متقدم — بدل ما يكونوا منفصلين ويزحموا اللوحة.
تابعونا للمزيد من التحديثات قريبًا إن شاء الله 🤍
Forwarded from تطبيقات أحمد جابر للمكفوفين 📱🧑🦯.
blind board Pro v1.1.apk
33.6 MB
📢 من بنك تحديثاتنا وصل يا أستاذنا 👨🏫،
📢
التحديث الثالث للوحة blind board Pro وصل،
🚀
وصل،
وصل،
وصل.
تم تحديث وإضافة سبعة ميزات جديدة 🚀.
وكلها شغالة تمام ✅🙏
📢
التحديث الثالث للوحة blind board Pro وصل،
🚀
وصل،
وصل،
وصل.
تم تحديث وإضافة سبعة ميزات جديدة 🚀.
وكلها شغالة تمام ✅🙏
Forwarded from نافذة التقنية (Hero Alex)
Microsoft تطلق إصدار Windows11 26 H2 لمشتركي Windows Insider.
مرحبا بكم متابعي نافذة التقنية الكرام.
أعلنت Microsoft عبر مدونتها عن بدء طرح Windows 11 إصدار 26H2 لمشتركي Windows insider.
وإليكم التدوينة كاملة مترجمة بشكلٍ آلي.
الإعلان عن الإصدارات الجديدة بتاريخ 19 يونيو 2026، إصدار 26H2 للنسخة التجريبية (Experimental)
مرحبًا بمستخدمي Windows Insiders،
لدينا اليوم إصدارات جديدة عبر قنوات Beta وExperimental، بما في ذلك Windows 11 الإصدار 26H2 للنسخة التجريبية.
يمثل Windows 11 الإصدار 26H2 التحديث الرئيسي للنصف الثاني من العام، كجزء من دورة التحديث السنوية القياسية لنظام Windows 11. وبما أن إصدار 26H2 يشترك في نفس فرع الصيانة مع إصدار Windows 11 25H2، يتم تطبيق التحديث عبر حزمة تمكين (Enablement Package - eKB). هذا يعني أن جهازك سيتم تحديثه إلى الإصدار الجديد عبر إعادة تشغيل واحدة فقط، مما يوفر تجربة تحديث مألوفة وسريعة وموثوقة.
ستبدأ الأجهزة المسجلة بالفعل في قناة Experimental في رؤية تحديث رقم الإصدار إلى 26H2 ضمن الإعدادات > النظام > حول (وكذلك عبر أمر winver). إذا كنت في قناة Beta وترغب في الانتقال إلى Experimental، يمكنك القيام بذلك بسهولة من خلال الإعدادات > Windows Update > برنامج Windows Insider. ويمكنك العودة إلى Beta في أي وقت دون الحاجة إلى إعادة تثبيت ويندوز بالكامل.
إذا لم تكن مسجلًا في برنامج Windows Insider وترغب في تجربة إصدار 26H2، يمكنك التسجيل في البرنامج واختيار قناة Dev أثناء انتقالها إلى Experimental. بعد اكتمال الانتقال، سيظهر اسم القناة الجديد لتجربة الإصدار 26H2 باسم Experimental.
ملاحظة: الأجهزة التي تعمل بـ Windows 11 الإصدار 26H1 لن تتمكن من التحديث إلى الإصدار 26H2. بدلًا من ذلك، سيكون لديها مسار للترقية إلى إصدار مستقبلي من Windows. وذلك لأن Windows 11 الإصدار 26H1 مبني على نواة مختلفة عن الإصدارات 24H2 و25H2 و26H2.
جديرٌ بالذكر أنه لا تتوفر أي معلومات حتى الآن حول المزايا التي سيقدمها هذا الإصدار.
تابعوا نافذة التقنية على WhatsApp:
https://www.whatsapp.com/channel/0029Va0tWYNICVfmctXiCt3V
على Telegram:
https://t.me/TecWindow
#Windows11
#Microsoft
مرحبا بكم متابعي نافذة التقنية الكرام.
أعلنت Microsoft عبر مدونتها عن بدء طرح Windows 11 إصدار 26H2 لمشتركي Windows insider.
وإليكم التدوينة كاملة مترجمة بشكلٍ آلي.
الإعلان عن الإصدارات الجديدة بتاريخ 19 يونيو 2026، إصدار 26H2 للنسخة التجريبية (Experimental)
مرحبًا بمستخدمي Windows Insiders،
لدينا اليوم إصدارات جديدة عبر قنوات Beta وExperimental، بما في ذلك Windows 11 الإصدار 26H2 للنسخة التجريبية.
يمثل Windows 11 الإصدار 26H2 التحديث الرئيسي للنصف الثاني من العام، كجزء من دورة التحديث السنوية القياسية لنظام Windows 11. وبما أن إصدار 26H2 يشترك في نفس فرع الصيانة مع إصدار Windows 11 25H2، يتم تطبيق التحديث عبر حزمة تمكين (Enablement Package - eKB). هذا يعني أن جهازك سيتم تحديثه إلى الإصدار الجديد عبر إعادة تشغيل واحدة فقط، مما يوفر تجربة تحديث مألوفة وسريعة وموثوقة.
ستبدأ الأجهزة المسجلة بالفعل في قناة Experimental في رؤية تحديث رقم الإصدار إلى 26H2 ضمن الإعدادات > النظام > حول (وكذلك عبر أمر winver). إذا كنت في قناة Beta وترغب في الانتقال إلى Experimental، يمكنك القيام بذلك بسهولة من خلال الإعدادات > Windows Update > برنامج Windows Insider. ويمكنك العودة إلى Beta في أي وقت دون الحاجة إلى إعادة تثبيت ويندوز بالكامل.
إذا لم تكن مسجلًا في برنامج Windows Insider وترغب في تجربة إصدار 26H2، يمكنك التسجيل في البرنامج واختيار قناة Dev أثناء انتقالها إلى Experimental. بعد اكتمال الانتقال، سيظهر اسم القناة الجديد لتجربة الإصدار 26H2 باسم Experimental.
ملاحظة: الأجهزة التي تعمل بـ Windows 11 الإصدار 26H1 لن تتمكن من التحديث إلى الإصدار 26H2. بدلًا من ذلك، سيكون لديها مسار للترقية إلى إصدار مستقبلي من Windows. وذلك لأن Windows 11 الإصدار 26H1 مبني على نواة مختلفة عن الإصدارات 24H2 و25H2 و26H2.
جديرٌ بالذكر أنه لا تتوفر أي معلومات حتى الآن حول المزايا التي سيقدمها هذا الإصدار.
تابعوا نافذة التقنية على WhatsApp:
https://www.whatsapp.com/channel/0029Va0tWYNICVfmctXiCt3V
على Telegram:
https://t.me/TecWindow
#Windows11
#Microsoft
Telegram
نافذة التقنية
نافذة التقنية, كل ما يحتاجه المستخدم.
tecwindow.net/followUs
tecwindow.net/followUs
Forwarded from نافذة التقنية (Hero Alex)
كيفية اختيار كارت الصوت لنطق JAWS.
مرحبا بكم متابعي نافذة التقنية الكرام.
يقوم Windows عادةً بجعل آخر كارت صوت تمت إضافته إلى جهازك هو الكارت الافتراضي. وهذا يعني أن صوت JAWS ينتقل تلقائيًا إلى جهاز الصوت الجديد، الأمر الذي قد يكون مزعجًا إذا كنت ترغب في استخدام ذلك الجهاز لغرض آخر غير JAWS.
باستخدام JAWS، يمكنك تجاوز اختيار Windows الافتراضي وتحديد كارت الصوت الذي تريد استخدامه لنطق JAWS وأصوات الأحداث الخاصة به. فعلى سبيل المثال، إذا كنت تقوم بتحرير الموسيقى، يمكنك جعل Windows يوجّه الموسيقى إلى كارت صوت احترافي، بينما يوجّه JAWS صوته إلى كارت صوت آخر أقل تكلفة. ويمكنك القيام بذلك إما باستخدام مجموعة مفاتيح سريعة أو من خلال القائمة الفرعية Sound Card الموجودة ضمن قائمة JAWS Utilities.
أمور يجب تذكرها حول قائمة كروت الصوت.
- في لوحة التحكم (Control Panel)، قد يظهر كارت صوت واحد على أنه عدة أجهزة صوتية، مثل: مكبرات صوت، أو واجهة صوت رقمية، أو مخرج HDMI، وغير ذلك.
- أي جهاز صوتي يظهر في القائمة على أنه "Digital" (رقمي) قد لا يكون متصلاً بمكبرات صوت. وإذا اخترته فقد تفقد النطق.
- تأكد من توصيل سماعات أو سماعة رأس بأي جهاز صوت داخلي أو خارجي عبر USB إذا كنت تريد استخدامه لنطق JAWS.
- عند وجود كارت صوت واحد فقط في جهازك، ستعرض القائمة الفرعية الخاصة بكروت الصوت في JAWS عنصرين دائمًا:
- كارت الصوت الافتراضي لـ Windows.
- اسم كارت الصوت المثبت.
وهذان العنصران يشيران في الحقيقة إلى نفس الجهاز الصوتي.
بشكل افتراضي، يختار JAWS عنصر كارت الصوت الافتراضي لـ Windows ويضع علامة صح بجواره. وهذا يعني أنه عند إضافة كارت صوت آخر، سيستخدمه JAWS لأن Windows يجعل أحدث كارت مضاف هو الجهاز الافتراضي.
لكن إذا اخترت كارت الصوت باسمه من القائمة، فإنه يصبح الكارت الذي يستخدمه JAWS للنطق. وسيضع JAWS علامة صح بجواره. وعند إضافة كروت صوت أخرى لاحقًا، سيستمر JAWS في استخدام الكارت الذي اخترته بالاسم، حتى لو جعل Windows الكارت الجديد هو الافتراضي.
وسيستمر JAWS في استخدام هذا الكارت للنطق حتى مع إضافة أو إزالة أجهزة صوت أخرى من النظام.
وأخيرًا، إذا اخترت كارت صوت محددًا للنطق ثم قمت بإزالته من الجهاز، فسيعود JAWS تلقائيًا لاستخدام كارت الصوت الافتراضي لـ Windows. وإذا أعدت توصيل الكارت لاحقًا، فسيعود JAWS إلى استخدامه مرة أخرى بدلًا من الكارت الافتراضي.
اختيار كارت صوت لنطق JAWS.
لاختيار كارت صوت بسرعة لنطق JAWS وأصوات الأحداث:
- اضغط INSERT+SPACEBAR.
- ثم اضغط V.
- ثم اضغط C للدخول إلى طبقة كروت الصوت (Sound Cards Layer).
- استخدم السهم لأعلى أو لأسفل للتنقل بين جميع كروت الصوت المتاحة.
- سيعلن JAWS اسم كل كارت أثناء التنقل.
- عندما تصل إلى الكارت الذي تريد استخدامه، اضغط ESC للخروج من الطبقة.
تُعد هذه الطريقة مفيدة إذا قام Windows بتغيير جهاز الصوت تلقائيًا وتسبب ذلك في فقدان النطق، مثل عند استخدام سماعة Bluetooth ثم بدء مكالمة في Teams أو Zoom.
طريقة أخرى.
- اضغط INSERT+J لفتح نافذة JAWS.
- اضغط ALT+U لفتح قائمة Utilities.
- ثم اضغط O لفتح القائمة الفرعية Sound Cards.
- ستظهر قائمة بالأجهزة المثبتة حاليًا، وستجد علامة صح بجوار الكارت المستخدم حاليًا بواسطة JAWS.
ملاحظة:
أول عنصر في القائمة يكون دائمًا Windows default sound card، وهو نفس الكارت الذي يعتبره Windows جهاز الصوت الافتراضي في لوحة التحكم، وغالبًا ما يكون أحدث كارت صوت تمت إضافته إلى النظام.
- استخدم السهم لأعلى أو لأسفل للانتقال إلى كارت الصوت المطلوب.
- اضغط ENTER لاختياره.
سيُغلق JAWS القائمة ويبدأ فورًا باستخدام الكارت المحدد. وعند فتح القائمة مرة أخرى ستجد علامة صح بجوار الكارت المختار.
تابعوا نافذة التقنية على WhatsApp:
https://www.whatsapp.com/channel/0029Va0tWYNICVfmctXiCt3V
على Telegram:
https://t.me/TecWindow
#شروحات_JAWS.
مرحبا بكم متابعي نافذة التقنية الكرام.
يقوم Windows عادةً بجعل آخر كارت صوت تمت إضافته إلى جهازك هو الكارت الافتراضي. وهذا يعني أن صوت JAWS ينتقل تلقائيًا إلى جهاز الصوت الجديد، الأمر الذي قد يكون مزعجًا إذا كنت ترغب في استخدام ذلك الجهاز لغرض آخر غير JAWS.
باستخدام JAWS، يمكنك تجاوز اختيار Windows الافتراضي وتحديد كارت الصوت الذي تريد استخدامه لنطق JAWS وأصوات الأحداث الخاصة به. فعلى سبيل المثال، إذا كنت تقوم بتحرير الموسيقى، يمكنك جعل Windows يوجّه الموسيقى إلى كارت صوت احترافي، بينما يوجّه JAWS صوته إلى كارت صوت آخر أقل تكلفة. ويمكنك القيام بذلك إما باستخدام مجموعة مفاتيح سريعة أو من خلال القائمة الفرعية Sound Card الموجودة ضمن قائمة JAWS Utilities.
أمور يجب تذكرها حول قائمة كروت الصوت.
- في لوحة التحكم (Control Panel)، قد يظهر كارت صوت واحد على أنه عدة أجهزة صوتية، مثل: مكبرات صوت، أو واجهة صوت رقمية، أو مخرج HDMI، وغير ذلك.
- أي جهاز صوتي يظهر في القائمة على أنه "Digital" (رقمي) قد لا يكون متصلاً بمكبرات صوت. وإذا اخترته فقد تفقد النطق.
- تأكد من توصيل سماعات أو سماعة رأس بأي جهاز صوت داخلي أو خارجي عبر USB إذا كنت تريد استخدامه لنطق JAWS.
- عند وجود كارت صوت واحد فقط في جهازك، ستعرض القائمة الفرعية الخاصة بكروت الصوت في JAWS عنصرين دائمًا:
- كارت الصوت الافتراضي لـ Windows.
- اسم كارت الصوت المثبت.
وهذان العنصران يشيران في الحقيقة إلى نفس الجهاز الصوتي.
بشكل افتراضي، يختار JAWS عنصر كارت الصوت الافتراضي لـ Windows ويضع علامة صح بجواره. وهذا يعني أنه عند إضافة كارت صوت آخر، سيستخدمه JAWS لأن Windows يجعل أحدث كارت مضاف هو الجهاز الافتراضي.
لكن إذا اخترت كارت الصوت باسمه من القائمة، فإنه يصبح الكارت الذي يستخدمه JAWS للنطق. وسيضع JAWS علامة صح بجواره. وعند إضافة كروت صوت أخرى لاحقًا، سيستمر JAWS في استخدام الكارت الذي اخترته بالاسم، حتى لو جعل Windows الكارت الجديد هو الافتراضي.
وسيستمر JAWS في استخدام هذا الكارت للنطق حتى مع إضافة أو إزالة أجهزة صوت أخرى من النظام.
وأخيرًا، إذا اخترت كارت صوت محددًا للنطق ثم قمت بإزالته من الجهاز، فسيعود JAWS تلقائيًا لاستخدام كارت الصوت الافتراضي لـ Windows. وإذا أعدت توصيل الكارت لاحقًا، فسيعود JAWS إلى استخدامه مرة أخرى بدلًا من الكارت الافتراضي.
اختيار كارت صوت لنطق JAWS.
لاختيار كارت صوت بسرعة لنطق JAWS وأصوات الأحداث:
- اضغط INSERT+SPACEBAR.
- ثم اضغط V.
- ثم اضغط C للدخول إلى طبقة كروت الصوت (Sound Cards Layer).
- استخدم السهم لأعلى أو لأسفل للتنقل بين جميع كروت الصوت المتاحة.
- سيعلن JAWS اسم كل كارت أثناء التنقل.
- عندما تصل إلى الكارت الذي تريد استخدامه، اضغط ESC للخروج من الطبقة.
تُعد هذه الطريقة مفيدة إذا قام Windows بتغيير جهاز الصوت تلقائيًا وتسبب ذلك في فقدان النطق، مثل عند استخدام سماعة Bluetooth ثم بدء مكالمة في Teams أو Zoom.
طريقة أخرى.
- اضغط INSERT+J لفتح نافذة JAWS.
- اضغط ALT+U لفتح قائمة Utilities.
- ثم اضغط O لفتح القائمة الفرعية Sound Cards.
- ستظهر قائمة بالأجهزة المثبتة حاليًا، وستجد علامة صح بجوار الكارت المستخدم حاليًا بواسطة JAWS.
ملاحظة:
أول عنصر في القائمة يكون دائمًا Windows default sound card، وهو نفس الكارت الذي يعتبره Windows جهاز الصوت الافتراضي في لوحة التحكم، وغالبًا ما يكون أحدث كارت صوت تمت إضافته إلى النظام.
- استخدم السهم لأعلى أو لأسفل للانتقال إلى كارت الصوت المطلوب.
- اضغط ENTER لاختياره.
سيُغلق JAWS القائمة ويبدأ فورًا باستخدام الكارت المحدد. وعند فتح القائمة مرة أخرى ستجد علامة صح بجوار الكارت المختار.
تابعوا نافذة التقنية على WhatsApp:
https://www.whatsapp.com/channel/0029Va0tWYNICVfmctXiCt3V
على Telegram:
https://t.me/TecWindow
#شروحات_JAWS.
Telegram
نافذة التقنية
نافذة التقنية, كل ما يحتاجه المستخدم.
tecwindow.net/followUs
tecwindow.net/followUs
Forwarded from نافذة التقنية (Qais)
NVDA 2026.2beta4 متاح.
مرحبا بمتابعي نافذة التقنية.
أصدرت NV Access الإصدار التجريبي الرابع من NVDA 2026.2 لنصل إلى NVDA 2026.2beta4.
ويتضمن هذا التحديث عدة تغييرات.
المستجدات:
- تم تحديث الترجمات.
- تم تغيير ترتيب الأزرار في محاورة إضافة إدخال إلى القاموس ليصبح ترتيبًا عموديًا.
- تم تغيير طريقة تتبع المكبِّر بحيث يبدأ من بداية العنصر (على سبيل المثال: الزاوية العلوية اليسرى في اللغات التي تُكتب من اليسار إلى اليمين) بدلًا من تتبعه من مركز العنصر.
- تم إصلاح مشكلة حفظ التعليقات في قواميس النطق.
- تمت إضافة تصنيف جديد إلى سجل التصحيح (Debug Log) خاص بالمكبِّر.
- تم تحسين أسماء خيارات إعدادات المكبِّر وتنظيم تخطيطها.
وكالعادة, تثبيت الإصدارات التجريبية Beta أو المرشحة release candidate (RC) يمكنك من الانضمام إلى قنوات الإصدارات التجريبية, حيث تحصل على إصدارات تجريبية ومرشحة فقط, ويمكنك العودة إلى الإصدار الرسمي عن طريق تثبيت أحدث إصدار متاح.
يمكن إنشاء نسخة محمولة لتتمكن من اختبار المستجدات دون القلق من تأثير التحديث على استقرار النسخة المثبتة.
لا يؤثر هذا التحديث على إضافاتك أو آلات النطق, طالما أنك تستخدم NVDA 2026.1 والأحدث.
ويمكن تنزيل NVDA 2026.2beta4 من هنا:
https://download.nvaccess.org/releases/2026.2beta4/nvda_2026.2beta4.exe
المصدر:
https://www.nvaccess.org/post/nvda-2026-2beta4
تابعوا نافذة التقنية على:
WhatsApp: https://www.whatsapp.com/channel/0029Va0tWYNICVfmctXiCt3V
Telegram: https://t.me/TecWindow
#أخبار #nvda
مرحبا بمتابعي نافذة التقنية.
أصدرت NV Access الإصدار التجريبي الرابع من NVDA 2026.2 لنصل إلى NVDA 2026.2beta4.
ويتضمن هذا التحديث عدة تغييرات.
المستجدات:
- تم تحديث الترجمات.
- تم تغيير ترتيب الأزرار في محاورة إضافة إدخال إلى القاموس ليصبح ترتيبًا عموديًا.
- تم تغيير طريقة تتبع المكبِّر بحيث يبدأ من بداية العنصر (على سبيل المثال: الزاوية العلوية اليسرى في اللغات التي تُكتب من اليسار إلى اليمين) بدلًا من تتبعه من مركز العنصر.
- تم إصلاح مشكلة حفظ التعليقات في قواميس النطق.
- تمت إضافة تصنيف جديد إلى سجل التصحيح (Debug Log) خاص بالمكبِّر.
- تم تحسين أسماء خيارات إعدادات المكبِّر وتنظيم تخطيطها.
وكالعادة, تثبيت الإصدارات التجريبية Beta أو المرشحة release candidate (RC) يمكنك من الانضمام إلى قنوات الإصدارات التجريبية, حيث تحصل على إصدارات تجريبية ومرشحة فقط, ويمكنك العودة إلى الإصدار الرسمي عن طريق تثبيت أحدث إصدار متاح.
يمكن إنشاء نسخة محمولة لتتمكن من اختبار المستجدات دون القلق من تأثير التحديث على استقرار النسخة المثبتة.
لا يؤثر هذا التحديث على إضافاتك أو آلات النطق, طالما أنك تستخدم NVDA 2026.1 والأحدث.
ويمكن تنزيل NVDA 2026.2beta4 من هنا:
https://download.nvaccess.org/releases/2026.2beta4/nvda_2026.2beta4.exe
المصدر:
https://www.nvaccess.org/post/nvda-2026-2beta4
تابعوا نافذة التقنية على:
WhatsApp: https://www.whatsapp.com/channel/0029Va0tWYNICVfmctXiCt3V
Telegram: https://t.me/TecWindow
#أخبار #nvda
Forwarded from نافذة التقنية (Hero Alex)
Android 17 يتيح نقل المزيد من البيانات من أجهزة iPhone إلى هواتف Android.
مرحبا بكم متابعي نافذة التقنية الكرام.
في وقت سابق من هذا الشهر، أطلقت Google الإصدار المستقر من Android 17 لأجهزة Pixel. وإلى جانب التحسينات في التصميم والميزات الجديدة، قدمت الشركة تحسينات كبيرة على أداة Android Switch، وهي الأداة المستخدمة لنقل البيانات الشخصية عند الانتقال من iPhone إلى جهاز Android.
يمكن بالفعل نقل الكثير من البيانات الشخصية، بما في ذلك الصور ومقاطع الفيديو، من iPhone إلى هاتف Android. ومع Android 17، أصبحت أداة Android Switch قادرة على نقل أنواع إضافية من البيانات الشخصية من أجهزة iPhone إلى أجهزة Android. وتشمل البيانات المدعومة حديثًا:
- حسابات Google.
- مرفقات التقويم.
- سجل المكالمات.
- سجل رسائل iMessage، بما في ذلك الوسائط والملصقات.
- رسائل RCS المشفرة.
- تخطيطات تطبيقات الشاشة الرئيسية والاختصارات والخلفيات.
- الملفات والمجلدات.
- المنبهات.
- مرفقات وتسميات تطبيق Apple Notes.
- شرائح eSIM (مع ملاحظة أن بعض شركات الاتصالات لا تزال غير مدعومة).
- بيانات اعتماد شبكات Wi-Fi.
- كلمات المرور ومفاتيح المرور (Passkeys).
- بيانات التطبيقات الداخلية (عند دعمها من قبل مطوري التطبيقات).
- بعض إعدادات إمكانية الوصول.
بعض الميزات المذكورة أعلاه غير مدعومة حاليًا على أجهزة Galaxy التي تعمل بواجهة One UI 8.5، لأن هذه الواجهة مبنية على Android 16. ومن المرجح أن تصل هذه التحسينات إلى أجهزة Galaxy عبر إصدار مستقبلي من تطبيق Samsung Smart Switch، وربما بالتزامن مع الإصدار المستقر من One UI 9.0. وسيساعد ذلك في جعل الانتقال من iPhone إلى هاتف Galaxy أكثر سهولة.
وتُستخدم أداة Android Switch أيضًا لنقل البيانات بين أجهزة Android المختلفة، كما تدعم الانتقال بين الأجهزة من شركات مختلفة. ومن المتوقع أن تمتد هذه التحسينات مستقبلًا إلى عمليات النقل بين أجهزة Android بعضها البعض أيضًا.
المصدر:
https://www.sammobile.com/news/android-17-allows-transfer-more-data-iphone-to-android-phone/?utm_source=relatednews
تابعوا نافذة التقنية على WhatsApp:
https://www.whatsapp.com/channel/0029Va0tWYNICVfmctXiCt3V
على Telegram:
https://t.me/TecWindow
#Android17
#iPhone
مرحبا بكم متابعي نافذة التقنية الكرام.
في وقت سابق من هذا الشهر، أطلقت Google الإصدار المستقر من Android 17 لأجهزة Pixel. وإلى جانب التحسينات في التصميم والميزات الجديدة، قدمت الشركة تحسينات كبيرة على أداة Android Switch، وهي الأداة المستخدمة لنقل البيانات الشخصية عند الانتقال من iPhone إلى جهاز Android.
يمكن بالفعل نقل الكثير من البيانات الشخصية، بما في ذلك الصور ومقاطع الفيديو، من iPhone إلى هاتف Android. ومع Android 17، أصبحت أداة Android Switch قادرة على نقل أنواع إضافية من البيانات الشخصية من أجهزة iPhone إلى أجهزة Android. وتشمل البيانات المدعومة حديثًا:
- حسابات Google.
- مرفقات التقويم.
- سجل المكالمات.
- سجل رسائل iMessage، بما في ذلك الوسائط والملصقات.
- رسائل RCS المشفرة.
- تخطيطات تطبيقات الشاشة الرئيسية والاختصارات والخلفيات.
- الملفات والمجلدات.
- المنبهات.
- مرفقات وتسميات تطبيق Apple Notes.
- شرائح eSIM (مع ملاحظة أن بعض شركات الاتصالات لا تزال غير مدعومة).
- بيانات اعتماد شبكات Wi-Fi.
- كلمات المرور ومفاتيح المرور (Passkeys).
- بيانات التطبيقات الداخلية (عند دعمها من قبل مطوري التطبيقات).
- بعض إعدادات إمكانية الوصول.
بعض الميزات المذكورة أعلاه غير مدعومة حاليًا على أجهزة Galaxy التي تعمل بواجهة One UI 8.5، لأن هذه الواجهة مبنية على Android 16. ومن المرجح أن تصل هذه التحسينات إلى أجهزة Galaxy عبر إصدار مستقبلي من تطبيق Samsung Smart Switch، وربما بالتزامن مع الإصدار المستقر من One UI 9.0. وسيساعد ذلك في جعل الانتقال من iPhone إلى هاتف Galaxy أكثر سهولة.
وتُستخدم أداة Android Switch أيضًا لنقل البيانات بين أجهزة Android المختلفة، كما تدعم الانتقال بين الأجهزة من شركات مختلفة. ومن المتوقع أن تمتد هذه التحسينات مستقبلًا إلى عمليات النقل بين أجهزة Android بعضها البعض أيضًا.
المصدر:
https://www.sammobile.com/news/android-17-allows-transfer-more-data-iphone-to-android-phone/?utm_source=relatednews
تابعوا نافذة التقنية على WhatsApp:
https://www.whatsapp.com/channel/0029Va0tWYNICVfmctXiCt3V
على Telegram:
https://t.me/TecWindow
#Android17
#iPhone
SamMobile
Android 17 allows transferring even more data from iPhones to Android phones - SamMobile
Earlier this week, Google released the stable version of Android 17 for Pixel devices. Besides design improvements and new features, the company has introduced