بحيث لو لم يَجِدْ ذَلكَ الزِّرْ, أو لَمْ يَتِمَّ فَتْحُ التطبيقِ في الوقت الذي حددناه فإِنَّ الضَّغْطَ على الزِّرِّ أو فَتْحَ التطبيقِ سَيُلْغى.
وذَلك ينفعُ مع التطبيقاتِ التي تحتاجُ إلى وقتٍ لِتُفْتَحْ, وخصوصا مع الهواتفِ الضعيفة.
وينفعُ أيْضًا مع الأزرارِ التي تحتاجُ إلى وقتٍ لِتظْهَرْ.
مثال.
if service.click({{">Acapela TTS Voices>10","الإعدادات>5",}})return true end
وهَذا يعني إنتظارَ عَشْرِ ثَوان, لِفَتْحِ تطبيق Acapela TTS Voices ثُمَّ انتظارَ زِرِّ الإعدادات 5 ثوان.
في المثالِ السابق, إذا فُتِحَ التطبيقُ قبلَ عَشْرِ ثوان, فإنهُ سيبحثُ عَنِ الزِّر. وإنْ لم يُفْتَحِ التطبيقُ قَبْلَ هَذهِ المدة, سَتُلْغَى العمليةُ كاملة.
وَإذا فُتِحَ التطبيقُ قَبْلَ المدةِ المحددةِ فإنه سيبحثُ عنِ الزِّر. فإذا وجدهُ قَبْلَ المدةِ الْمُحَدَّدَةِ سَيَضْغَطُ عليه, وإنْ لم يَجِدْهُ سَتَتَوَقَّفُ العمليةُ عند البحثِ عنِ الزِّرْ.
مُلاحظات.
أولا. قد نَجِدُ علامَةَ أكبرْ مِنْ قَبْلَ إِسْمِ التطبيقِ وبعدَه. وهَذا يعني فَتْحَهْ. وَإِنْ لَمْ يُفْتَحْ, ننتظرهُ حتى يُفْتَحْ.
ثانيًا. الْمُدَّتُ تُحْسَبُ بالثَّانِيَة.
وينفعُ أيْضًا مع الأزرارِ التي تحتاجُ إلى وقتٍ لِتظْهَرْ.
<
أصغرْ مِنْ.
هذه العَلامَةُ نَضَعُها قَبْلَ إسمِ زِرٍّ أو عُنْصُرٍ لِيَقِفَ التركيزُ على ذلك الزِّرِّ أَوِ العنصرِ دون أنْ يُفَعَّل.
مثال.
if service.click({{"<تسجيل رسالة صوتية",}})return true end
لأننا في تيليجرام لو ضَغَطْنَا عليه سوف يصير: تسجيلُ رسالة مَرْئِيَّة.
وَنَضَعُها بعدَ وظيفة, أو إسمِ زِرْ, لِيَتِمَّ تِكرارُ تلك الوظيفةِ, أو تِكرارُ الضغطِ على ذَلكَ الزِّرْ, بالعددِ الذي نُحَدِّدُه.
if service.click({{"%ترجمة<5","تشغيل<5",}})return true end
مُلاحظات.
أولا. في حالةِ وضعِ أصغَرْ مِنْ ثُمَّ أكبرْ مِنْ بَعْدَ وظيفةٍ أو زِرٍّ فإنَّ أصغَرْ مِنْ يُؤَدِّي دورَهْ, وأكبرْ مِنْ لا يعملُ أيَّ شيء.
ثانيًا. في حالةِ وضعِ أكبرْ مِنْ ثُمَّ أصغَرْ مِنْ بَعْدَ وظيفةٍ أو زِرٍّ فإنَّ كِلاهما لا يؤدي أيَّ شيء.
ثالثًا. يمكن الجمعُ بينَ أصغرْ مِنْ وأكبرْ مِنْ بشرطِ أن يكونَ أصغرْ مِنْ قَبْلَ إسمِ الزِّرِّ مِنْ أَجْلِ وَضْعِ التركيزِ عليهْ, وَيَكُونَ أكبرْ مِنْ بعدَ إسمِ الزِّرِّ للإنتظار.
مثال.
@
علامة آت.
هذه العَلامَةُ نَضَعُها بعدَ وظيفة, أو بعدَ إسْمِ زِرْ, وَنَضَعُ بعدَها إسمَ التطبيق, لِيَتِمَّ تنفيذُ تلكَ الوظيفةِ, أو لِيَتِمَّ الضغطُ على ذَلكَ الزِّرْ, في التطبيقِ الذي حَدَّدْناهُ فقط.
بحَيْثُ لا يُنَفِّذُ تلكَ الوظيفةَ أو لا يبحثُ عن ذلك الزِّرِّ لِيَضْغَطَ عليه إلا في ذَلكَ التطبيق.
if service.click({{"%ترجمة@تيليجرام",}})return true end
if service.click({{"إرسال@تيليجرام",}})return true end
|
شريط.
هذه العَلامَةُ نَضَعُها بَيْنَ أسماءِ الأزرارْ, لاِخْتيارِ زِرٍّ واحدٍ مِنْ بَيْنِ عِدَّةِ أزرارْ, ويكونُ الترتيبُ مِنَ الأولِ للأخير.
بِحَيْثُ إذا لم يَجِدِ الزِّرَّ الأول, يبحثُ عَنِ الثاني. وإذا لم يَجِدِ الثاني يبحثُ عَنِ الثالث. وَهَكذا حتى يَجِدَ زِرًّا وَيَضْغَطَ عليه.
مثال.
if service.click({{"تشغيل|تسجيل رسالة صوتية|إرسال|رسالة جديدة",}})return true end
ملاحظات.
أولا. لا يمكنُ التخييرُ بينَ الأزرارِ والوظائف.
ثانيًا. لا يمكنُ وَضْعُ هَذهِ العلامةِ إذا وضَعْنَا علامَةَ الْمُرَبَّعِ قَبْلَ إِسْمِ الزِّرِّ القابلِ للتصنيفْ, أو قَبْلَ إسمِ العُقْدَة.
بِحَيْثُ لا يمكنُ الجَمْعُ بينَ أزرارٍ قابلةٍ للتصنيف, أو أسماءِ العُقَدِ في سَطْرٍ واحدٍ للتخيير.
وإذا أردنا أن نجمعَ بين هَذهِ الأخيرةِ من أجلِ أن يختارَ أحدها فإننا نستخدِمُ الأقواسَ المُزَخْرَفَةَ لِهَذا الغرضْ.
وَسَنَشْرَحُ ذلك في حينِه.
شريط.
@*
عَلَامَةُ آتْوَبَعْدَهَا عَلَامَةُ النجمة.
نَضَعُ العلَامَتَيْنِ بَعْدَ إسمِ الزِّرْ, لِيَتِمَّ البحثُ عَنْهُ في جَمِيعِ النوافِذِ المَفْتُحَةِ في الشاشةِ الحالية.
هذا ينفعُ مَعَ بعضِ النوافِذِ المنْبَثِقَة, أَوِ العائمة, مِثْلَ لَوْحةِ المَفَاتِيح.
وَهُوَ يَنْفَعُ أيضًا مَعَ بعضِ النوافِذِ التي تكونُ مُقَسَّمَة.
مِثَال.
if service.click({{"الإدْخَالُ الصوتي@*",}})return true end
مُلاحظة.
هذا لا ينفعُ مَعَ الأزرارِ القابِلَةِ للتصنيفْ, أو أسماءِ العُقَد.
وإذا أردنا أن نجمعَ بين هَذهِ الأخيرةِ من أجلِ أن يختارَ أحدها فإننا نستخدِمُ الأقواسَ المُزَخْرَفَةَ لِهَذا الغرضْ.
وذَلك ينفعُ مع التطبيقاتِ التي تحتاجُ إلى وقتٍ لِتُفْتَحْ, وخصوصا مع الهواتفِ الضعيفة.
وينفعُ أيْضًا مع الأزرارِ التي تحتاجُ إلى وقتٍ لِتظْهَرْ.
مثال.
if service.click({{">Acapela TTS Voices>10","الإعدادات>5",}})return true end
وهَذا يعني إنتظارَ عَشْرِ ثَوان, لِفَتْحِ تطبيق Acapela TTS Voices ثُمَّ انتظارَ زِرِّ الإعدادات 5 ثوان.
في المثالِ السابق, إذا فُتِحَ التطبيقُ قبلَ عَشْرِ ثوان, فإنهُ سيبحثُ عَنِ الزِّر. وإنْ لم يُفْتَحِ التطبيقُ قَبْلَ هَذهِ المدة, سَتُلْغَى العمليةُ كاملة.
وَإذا فُتِحَ التطبيقُ قَبْلَ المدةِ المحددةِ فإنه سيبحثُ عنِ الزِّر. فإذا وجدهُ قَبْلَ المدةِ الْمُحَدَّدَةِ سَيَضْغَطُ عليه, وإنْ لم يَجِدْهُ سَتَتَوَقَّفُ العمليةُ عند البحثِ عنِ الزِّرْ.
مُلاحظات.
أولا. قد نَجِدُ علامَةَ أكبرْ مِنْ قَبْلَ إِسْمِ التطبيقِ وبعدَه. وهَذا يعني فَتْحَهْ. وَإِنْ لَمْ يُفْتَحْ, ننتظرهُ حتى يُفْتَحْ.
ثانيًا. الْمُدَّتُ تُحْسَبُ بالثَّانِيَة.
وينفعُ أيْضًا مع الأزرارِ التي تحتاجُ إلى وقتٍ لِتظْهَرْ.
<
أصغرْ مِنْ.
هذه العَلامَةُ نَضَعُها قَبْلَ إسمِ زِرٍّ أو عُنْصُرٍ لِيَقِفَ التركيزُ على ذلك الزِّرِّ أَوِ العنصرِ دون أنْ يُفَعَّل.
مثال.
if service.click({{"<تسجيل رسالة صوتية",}})return true end
لأننا في تيليجرام لو ضَغَطْنَا عليه سوف يصير: تسجيلُ رسالة مَرْئِيَّة.
وَنَضَعُها بعدَ وظيفة, أو إسمِ زِرْ, لِيَتِمَّ تِكرارُ تلك الوظيفةِ, أو تِكرارُ الضغطِ على ذَلكَ الزِّرْ, بالعددِ الذي نُحَدِّدُه.
if service.click({{"%ترجمة<5","تشغيل<5",}})return true end
مُلاحظات.
أولا. في حالةِ وضعِ أصغَرْ مِنْ ثُمَّ أكبرْ مِنْ بَعْدَ وظيفةٍ أو زِرٍّ فإنَّ أصغَرْ مِنْ يُؤَدِّي دورَهْ, وأكبرْ مِنْ لا يعملُ أيَّ شيء.
ثانيًا. في حالةِ وضعِ أكبرْ مِنْ ثُمَّ أصغَرْ مِنْ بَعْدَ وظيفةٍ أو زِرٍّ فإنَّ كِلاهما لا يؤدي أيَّ شيء.
ثالثًا. يمكن الجمعُ بينَ أصغرْ مِنْ وأكبرْ مِنْ بشرطِ أن يكونَ أصغرْ مِنْ قَبْلَ إسمِ الزِّرِّ مِنْ أَجْلِ وَضْعِ التركيزِ عليهْ, وَيَكُونَ أكبرْ مِنْ بعدَ إسمِ الزِّرِّ للإنتظار.
مثال.
@
علامة آت.
هذه العَلامَةُ نَضَعُها بعدَ وظيفة, أو بعدَ إسْمِ زِرْ, وَنَضَعُ بعدَها إسمَ التطبيق, لِيَتِمَّ تنفيذُ تلكَ الوظيفةِ, أو لِيَتِمَّ الضغطُ على ذَلكَ الزِّرْ, في التطبيقِ الذي حَدَّدْناهُ فقط.
بحَيْثُ لا يُنَفِّذُ تلكَ الوظيفةَ أو لا يبحثُ عن ذلك الزِّرِّ لِيَضْغَطَ عليه إلا في ذَلكَ التطبيق.
if service.click({{"%ترجمة@تيليجرام",}})return true end
if service.click({{"إرسال@تيليجرام",}})return true end
|
شريط.
هذه العَلامَةُ نَضَعُها بَيْنَ أسماءِ الأزرارْ, لاِخْتيارِ زِرٍّ واحدٍ مِنْ بَيْنِ عِدَّةِ أزرارْ, ويكونُ الترتيبُ مِنَ الأولِ للأخير.
بِحَيْثُ إذا لم يَجِدِ الزِّرَّ الأول, يبحثُ عَنِ الثاني. وإذا لم يَجِدِ الثاني يبحثُ عَنِ الثالث. وَهَكذا حتى يَجِدَ زِرًّا وَيَضْغَطَ عليه.
مثال.
if service.click({{"تشغيل|تسجيل رسالة صوتية|إرسال|رسالة جديدة",}})return true end
ملاحظات.
أولا. لا يمكنُ التخييرُ بينَ الأزرارِ والوظائف.
ثانيًا. لا يمكنُ وَضْعُ هَذهِ العلامةِ إذا وضَعْنَا علامَةَ الْمُرَبَّعِ قَبْلَ إِسْمِ الزِّرِّ القابلِ للتصنيفْ, أو قَبْلَ إسمِ العُقْدَة.
بِحَيْثُ لا يمكنُ الجَمْعُ بينَ أزرارٍ قابلةٍ للتصنيف, أو أسماءِ العُقَدِ في سَطْرٍ واحدٍ للتخيير.
وإذا أردنا أن نجمعَ بين هَذهِ الأخيرةِ من أجلِ أن يختارَ أحدها فإننا نستخدِمُ الأقواسَ المُزَخْرَفَةَ لِهَذا الغرضْ.
وَسَنَشْرَحُ ذلك في حينِه.
شريط.
@*
عَلَامَةُ آتْوَبَعْدَهَا عَلَامَةُ النجمة.
نَضَعُ العلَامَتَيْنِ بَعْدَ إسمِ الزِّرْ, لِيَتِمَّ البحثُ عَنْهُ في جَمِيعِ النوافِذِ المَفْتُحَةِ في الشاشةِ الحالية.
هذا ينفعُ مَعَ بعضِ النوافِذِ المنْبَثِقَة, أَوِ العائمة, مِثْلَ لَوْحةِ المَفَاتِيح.
وَهُوَ يَنْفَعُ أيضًا مَعَ بعضِ النوافِذِ التي تكونُ مُقَسَّمَة.
مِثَال.
if service.click({{"الإدْخَالُ الصوتي@*",}})return true end
مُلاحظة.
هذا لا ينفعُ مَعَ الأزرارِ القابِلَةِ للتصنيفْ, أو أسماءِ العُقَد.
وإذا أردنا أن نجمعَ بين هَذهِ الأخيرةِ من أجلِ أن يختارَ أحدها فإننا نستخدِمُ الأقواسَ المُزَخْرَفَةَ لِهَذا الغرضْ.
!@#
عَلَامَةُ التَّعَجُّبْ, ثُمَّ عَلَامَةُ آتْ, ثُمَّ عَلَامَةُ الْمُرَبَّع.
هذه العَلَامَاتُ الثلاثة, نَضَعُهَا قَبْلَ كِتَابَةِ الأمْرِ الصوتيِّ في السَّطْرِ الأوَّل, لِنَسْتَطِيعَ إِنْشَاءَهُ أو تَجْرِبَتَهُ مِنْ أَيِّ مكان, دُونَ الحَاجَةِ لِإِِنْشائِهِ مِنَ المكانِ المُخَصَّصِ لِإِنْشاءِ الْأَوَامِرِ الصوتية.
والأوامِرُ الصوتيةُ تُكْتَبُ دونَ عَلَامَاتِ التنصيص, أَوِ الأقْوَاسْ, أَوِ الأكواد مِثْلَ service.click, أو return true, أو غيرِها.
نَضَعُ بِداخلِهَا الأزرار, أَوِ الوظائف, أَوِ الإضافات, أَوِ الأدوات, أَوِ الْأَوَامِرَ الصوتية, أو فَتْحَ تطبيقات.
نستطيعُ أَنْ نَجْمَعَ بينَ بعضِ هذه الأنواعِ أو كُلِّهَا.
لَكِنَّنَا لا نستطيعُ أَنْ نَجْمَعَ بينَ وظائفَ مُتَعَدِّدَة, تعملُ في أَمَاكِنَ مُخْتَلِفَة.
فالأَمْرُ الصوتيُّ هو عِبَارَةٌ عَنْ وظيفةٍ واحدة, تَتَكَوَّنُ مِنْ خُطْوَةٍ واحدة, أو مِنْ عِدَّةِ خُطُواتْ.
طريقةُ عَمَلِ ذلك.
نَقِفُ على أَيِّ مُرَبَّعِ تحرير, ثُمَّ نَضَعُ الْعَلَامَاتِ الثلاثة في السَّطْرِ الأَوَّل, ثُمَّ في السَّطْرِ الثاني نَضَعُ إِسْمَ زِر, أو وظيفة, أو إضافة, أو أداة, أو أمْرًا صوتيًّا آخَرْ, أو فَتْحَ تطبيق.
وَنُكْمِلُ بنفسِ الطريقة, نَضَعُ عُنْصُرًا واحدًا في السَّطْرِ الواحدِ فقط.
لِنَحْفَظَ أو نُجَرِّبَ ما أَنْشَأْنَاه, نَنْسَخُهُ عبرَ jieshuo لِتَظْهَرَ لَنَا نافذةٌ تحتوي على خيارََيْنْ.
زِرُّ حَسَنً, لِتَنْفيذِهْ,
أو زُِّ الحِفْظْ, لِحِفْظِهِ كَأَمْرٍ صوتي.
مِثال.
!@#
%الموقع الحالي
فائدةُ العَلاماتِ الثلاثة, أننا نستطيعُ تَجْرِبَةَ مَ نُنْشِئُ في أَيِّ مَرْحلَة.
كما يُمْكِنُنَا مِنْ خِلالِهَا مساعَدَةُ الآخَرينَ بِإِرْسَالِهَا إِلَيْهِم على شكلِ نص, لِيَسْتَطِيعُو تنفيذَهَا مِنَ النافذةِ التي إستقبلوهُ فيها.
طريقةُ عَمَلِ ذلك.
$
دولار.
هذه العَلامَةُ نَضَعُها بَعْدَ إسمِ زِرْ, أو وظيفة, أو إضافة, أو أداة, أو فَتْحِ تطبيق, في إِحْدَى الحالاتِ الآتية.
الحالةُ الأولى.
تأخيرُ الوظيفةِ التاليةِ لِمُدَّةٍ مُعَيَّنَة.
نَضَعُ العَلامَةَ بعدَ الأشياءِ المذكورة, ثُمَّ نَضَعُ المُدة.
الحالةُ الثَّانِيَة.
لِتَحْدِيدِ فاصِلٍ زَمَنِيٍّ لِتِكرارِ الوظيفةِ الْحَالِيَّة.
نَضَعُ عَلامَةَ أصْغَرْ مِنْ بعدَ الأشياءِ المذكورة, ثُمَّ عددَ التكرار, ثُمَّ عَلامةَ الدولار, ثُمَّ المدة.
الحالةُ الثالثة.
الْجَمْعُ بَيْنَ الحالةِ الأولى والثَّانِيَة.
وتكونُ المُدَّةُ بِأَجْزاءٍِ مِنَ الثَّانِيَة ms. ألف لِكُلِّ ثَانِيَة.
أمثلة.
الحالةُ الأولى.
if service.click({{">فيس بوك$5000","الإشعارات",}})return true end
نعني إِفْتَحِ الفَيْسْبُوكْ ثُمَّ انتظر خَمْسَ ثوان للضغطِ على الإشعارات.
الحالةُ الثَّانِيَة.
if service.click({{"تخطي الإعلان<10000$5000",}})return true end
نعني إِضْغَطْ على الزِّرْ أَلْفَ مَرَّة, , واجْعَلِ الفاصِلَ الزَّمَنِيَّ بينَ كُلِّ مرةٍ خَمْسَ ثوان.
الحالةُ الثالثة.
if service.click({{"إصدار MIUI*<8$100","%رجوع<3$000",}})return true end
هذه الحالَةُ تحتاجُ إلى بعضِ التفصيل, لأننا جمعنا فيها بينَ عِدَّةِ علامات.
أولا. إسمُ العنصرِ وهو إصدار MIUI. وضعنا بعده عَلامَةَ النجمةِ لأنهُقد يحتوي على متغيراتٍ في آخِرِه.
ثانيًا. عَلامَةُ أصغرْ مِنْ وضعناها بعدَ عَلامَةِ النجمةِ ووضعنا بعدهما عددَ التِكرارِ الخاصِّ بالضغطِ على الزِّرْ, لِتَفْعيلِ إعداداتِ الْمُطَوِّر.
ثالثا. وضعنا عَلَامَةَ الدولارْ بعدَ العَلَامَتَيْنِ السابقتينِ لِتَحْدِيدِ الفاصلِ الزَّمَنِيِّ بَيْنَ كُلِّ ضَغْطَة. لأن تفعيلَ إعداداتِ المطوِّرْ يتطلبُ ضغطًا متتالِيًا بسُرْعة.
رابعا. علامَةُ الدولار في السطرِ الأولِ تؤدي الدورَ السابق, وفي نفسِ الوقتِ تُحَدِّدُ مُدَّةَ تأخيرِ وظيفةِ الرُّجُوعِ بعدَ آخِرِ ضغطة.
خامسًا. وضعنا عَلامَةَ بالمئةِ قبلَ وظيفةِ الرجوع, لأننا قُلْنا سابقا أنَّ عَلامَةَ بالمئةِ تُوضَعُ قَبْلَ الوظائفِ الأساسيةِ للتطبيق.
سادسا. وضعنا علامَةَ أصغرْ مِنْ بعدَ الرجُّوعْ, ووضعنا بعدها عددا, لأننا حتى نَرْجِعَ إلى الشاشةِ الرئيسيةِ نحتاجُ للضغطِ على الرجوعِ ثلاثَ مرَّات.
سابعا. وضعنا علامَةَ الدولار بعدَ عددِ التِّكرارْ, لِنَتَمَكَّنَ مِنَ الرُّجُوعِ بِسُرْعَة.
مُلاحظة.
إنَّ الفاصِلَ الزَّمَنِيَّ الإفتراضيَّ بينَ تَأْدِيَةِ الوظائفِ أَوِ الضغطِ على الأزرار, هو ثَانِيَةٌ واحدة.
فإذا وضعنا بعدَ علامةِ الدولار أكثرَ مِنْ ألْفْ, فإننا نعني الزيادةَ على المدةِ الإفتراضية.
عَلَامَةُ التَّعَجُّبْ, ثُمَّ عَلَامَةُ آتْ, ثُمَّ عَلَامَةُ الْمُرَبَّع.
هذه العَلَامَاتُ الثلاثة, نَضَعُهَا قَبْلَ كِتَابَةِ الأمْرِ الصوتيِّ في السَّطْرِ الأوَّل, لِنَسْتَطِيعَ إِنْشَاءَهُ أو تَجْرِبَتَهُ مِنْ أَيِّ مكان, دُونَ الحَاجَةِ لِإِِنْشائِهِ مِنَ المكانِ المُخَصَّصِ لِإِنْشاءِ الْأَوَامِرِ الصوتية.
والأوامِرُ الصوتيةُ تُكْتَبُ دونَ عَلَامَاتِ التنصيص, أَوِ الأقْوَاسْ, أَوِ الأكواد مِثْلَ service.click, أو return true, أو غيرِها.
نَضَعُ بِداخلِهَا الأزرار, أَوِ الوظائف, أَوِ الإضافات, أَوِ الأدوات, أَوِ الْأَوَامِرَ الصوتية, أو فَتْحَ تطبيقات.
نستطيعُ أَنْ نَجْمَعَ بينَ بعضِ هذه الأنواعِ أو كُلِّهَا.
لَكِنَّنَا لا نستطيعُ أَنْ نَجْمَعَ بينَ وظائفَ مُتَعَدِّدَة, تعملُ في أَمَاكِنَ مُخْتَلِفَة.
فالأَمْرُ الصوتيُّ هو عِبَارَةٌ عَنْ وظيفةٍ واحدة, تَتَكَوَّنُ مِنْ خُطْوَةٍ واحدة, أو مِنْ عِدَّةِ خُطُواتْ.
طريقةُ عَمَلِ ذلك.
نَقِفُ على أَيِّ مُرَبَّعِ تحرير, ثُمَّ نَضَعُ الْعَلَامَاتِ الثلاثة في السَّطْرِ الأَوَّل, ثُمَّ في السَّطْرِ الثاني نَضَعُ إِسْمَ زِر, أو وظيفة, أو إضافة, أو أداة, أو أمْرًا صوتيًّا آخَرْ, أو فَتْحَ تطبيق.
وَنُكْمِلُ بنفسِ الطريقة, نَضَعُ عُنْصُرًا واحدًا في السَّطْرِ الواحدِ فقط.
لِنَحْفَظَ أو نُجَرِّبَ ما أَنْشَأْنَاه, نَنْسَخُهُ عبرَ jieshuo لِتَظْهَرَ لَنَا نافذةٌ تحتوي على خيارََيْنْ.
زِرُّ حَسَنً, لِتَنْفيذِهْ,
أو زُِّ الحِفْظْ, لِحِفْظِهِ كَأَمْرٍ صوتي.
مِثال.
!@#
%الموقع الحالي
فائدةُ العَلاماتِ الثلاثة, أننا نستطيعُ تَجْرِبَةَ مَ نُنْشِئُ في أَيِّ مَرْحلَة.
كما يُمْكِنُنَا مِنْ خِلالِهَا مساعَدَةُ الآخَرينَ بِإِرْسَالِهَا إِلَيْهِم على شكلِ نص, لِيَسْتَطِيعُو تنفيذَهَا مِنَ النافذةِ التي إستقبلوهُ فيها.
طريقةُ عَمَلِ ذلك.
$
دولار.
هذه العَلامَةُ نَضَعُها بَعْدَ إسمِ زِرْ, أو وظيفة, أو إضافة, أو أداة, أو فَتْحِ تطبيق, في إِحْدَى الحالاتِ الآتية.
الحالةُ الأولى.
تأخيرُ الوظيفةِ التاليةِ لِمُدَّةٍ مُعَيَّنَة.
نَضَعُ العَلامَةَ بعدَ الأشياءِ المذكورة, ثُمَّ نَضَعُ المُدة.
الحالةُ الثَّانِيَة.
لِتَحْدِيدِ فاصِلٍ زَمَنِيٍّ لِتِكرارِ الوظيفةِ الْحَالِيَّة.
نَضَعُ عَلامَةَ أصْغَرْ مِنْ بعدَ الأشياءِ المذكورة, ثُمَّ عددَ التكرار, ثُمَّ عَلامةَ الدولار, ثُمَّ المدة.
الحالةُ الثالثة.
الْجَمْعُ بَيْنَ الحالةِ الأولى والثَّانِيَة.
وتكونُ المُدَّةُ بِأَجْزاءٍِ مِنَ الثَّانِيَة ms. ألف لِكُلِّ ثَانِيَة.
أمثلة.
الحالةُ الأولى.
if service.click({{">فيس بوك$5000","الإشعارات",}})return true end
نعني إِفْتَحِ الفَيْسْبُوكْ ثُمَّ انتظر خَمْسَ ثوان للضغطِ على الإشعارات.
الحالةُ الثَّانِيَة.
if service.click({{"تخطي الإعلان<10000$5000",}})return true end
نعني إِضْغَطْ على الزِّرْ أَلْفَ مَرَّة, , واجْعَلِ الفاصِلَ الزَّمَنِيَّ بينَ كُلِّ مرةٍ خَمْسَ ثوان.
الحالةُ الثالثة.
if service.click({{"إصدار MIUI*<8$100","%رجوع<3$000",}})return true end
هذه الحالَةُ تحتاجُ إلى بعضِ التفصيل, لأننا جمعنا فيها بينَ عِدَّةِ علامات.
أولا. إسمُ العنصرِ وهو إصدار MIUI. وضعنا بعده عَلامَةَ النجمةِ لأنهُقد يحتوي على متغيراتٍ في آخِرِه.
ثانيًا. عَلامَةُ أصغرْ مِنْ وضعناها بعدَ عَلامَةِ النجمةِ ووضعنا بعدهما عددَ التِكرارِ الخاصِّ بالضغطِ على الزِّرْ, لِتَفْعيلِ إعداداتِ الْمُطَوِّر.
ثالثا. وضعنا عَلَامَةَ الدولارْ بعدَ العَلَامَتَيْنِ السابقتينِ لِتَحْدِيدِ الفاصلِ الزَّمَنِيِّ بَيْنَ كُلِّ ضَغْطَة. لأن تفعيلَ إعداداتِ المطوِّرْ يتطلبُ ضغطًا متتالِيًا بسُرْعة.
رابعا. علامَةُ الدولار في السطرِ الأولِ تؤدي الدورَ السابق, وفي نفسِ الوقتِ تُحَدِّدُ مُدَّةَ تأخيرِ وظيفةِ الرُّجُوعِ بعدَ آخِرِ ضغطة.
خامسًا. وضعنا عَلامَةَ بالمئةِ قبلَ وظيفةِ الرجوع, لأننا قُلْنا سابقا أنَّ عَلامَةَ بالمئةِ تُوضَعُ قَبْلَ الوظائفِ الأساسيةِ للتطبيق.
سادسا. وضعنا علامَةَ أصغرْ مِنْ بعدَ الرجُّوعْ, ووضعنا بعدها عددا, لأننا حتى نَرْجِعَ إلى الشاشةِ الرئيسيةِ نحتاجُ للضغطِ على الرجوعِ ثلاثَ مرَّات.
سابعا. وضعنا علامَةَ الدولار بعدَ عددِ التِّكرارْ, لِنَتَمَكَّنَ مِنَ الرُّجُوعِ بِسُرْعَة.
مُلاحظة.
إنَّ الفاصِلَ الزَّمَنِيَّ الإفتراضيَّ بينَ تَأْدِيَةِ الوظائفِ أَوِ الضغطِ على الأزرار, هو ثَانِيَةٌ واحدة.
فإذا وضعنا بعدَ علامةِ الدولار أكثرَ مِنْ ألْفْ, فإننا نعني الزيادةَ على المدةِ الإفتراضية.
وإذا وضعنا بعدَ علامةِ الدولار أَقَلَّ مِنْ ألْفْ, فإننا نعني جَعْلَ المدةِ أَقَلَّ مِنَ المدةِ الإفتراضية.
وإذا وضعنا بعدَ علامةِ الدولار أصفارْ, فإننا نعني إلغاءَ المدة.
وهنا يعتمدُ الأَمْرُ في السرعةِ على التطبيقِ الذي نَتَعَامَلُ معهْ, أو على سُرعةِ الهاتفْ, أو على سُرعةِ الإتصال.
فإذا كان الفاصلُ الزَّمَنِيُّ مُلْغَى مِنْ أجلِ تِكرارِ وظيفةٍ في قارئِ الشاشة, فإنَّ الأمرَ يكونُ سريعا جدا.
رابعا. علامَةُ الدولار في السطرِ الأولِ تؤدي الدورَ السابق, وفي نفسِ الوقتِ تُحَدِّدُ مُدَّةَ تأخيرِ وظيفةِ الرُّجُوعِ بعدَ آخِرِ ضغطة.
&
وَ.
هذه العَلامَةُ نَضَعُها بَعْدَ وظيفة, أو إضافة, أو أداة, أو فتحِ تطبيق, للشَّرْطِ في أكثرَ مِنْ حالة.
الحالةُ الأولى.
الضغطُ على زِرٍّ مُعَيَّنْ, أو تنفيذُ وظيفةٍ مُعَيَّنَةٍ إذا كان في الشاشةِ الحاليةِ عِبارةٌ أو كلمةٌ مُعَيَّنَة.
الحالةُ الثَّانِيَة.
عدمُ الضغطِ على زِرٍّ مُعَيَّنْ, أو عدمُ تنفيذِ وظيفةٍ مُعَيَّنَةٍ إذا كان في الشاشةِ الحاليةِ عِبارةٌ أو كلمةٌ مُعَيَّنَة.
الحالةُ الثالثة.
الضغطُ على زِرٍّ مُعَيَّنْ, أو تنفيذُ وظيفةٍ مُعَيَّنَةٍ إذا كان التركيزُ على نوعٍ مِنْ أنواع العناصرِ التي سَنُبَيِّنُها. .
مثالُ الحالةِ الأولى.
عندنا مربعُ حِوارٍ مفاده: هل تُريدُ الخروج. وعندنا زر مُوافِق وَزِرْ إلغاء.
نريدهُ أن يضغطَ على زِرْ مُوافِقْ إذا كانت كلمةُ الخروجِ مَوْجُودَةً في نفسِ النافذة.
فَتَكُونُ الجُمْلَةُ كالتالي:
if service.click({{"موافق&الخروج",}})return true end
مثالُ الحالةِ الثَّانِيَة.
عندنا مربعُ حِوارٍ مفاده: هل تُريدُ الْحَذْفْ. وعِندنا زر مُوافِق وَزِرْ إلغاء.
نريدهُ أن لا يضغطَ على زِرْ مُوافِقْ إذا كانت كلمةُ الْحَذْفِ مَوْجُودَةً في نفسِ النافذة.
ونريدهُ أن يضغطَ على مُوافِق في باقي مربعاتِ الحِوار.
فَتَكُون الجملة كالتالي:
if service.click({{"موافق&!الحذف",}})return true end
في الحالةِ الثَّانِيَةِ التي هي عَكْسُ الحالةِ الأولى وضَعْنا بعدَ عَلامَةِ وَ عَلامَةَ التَّعَجُّبْ.
مثالُ الحالةِ الثالثة.
نريد أن لا يقومَ التطبيقُ بتنفيذِ وظيفةٍ معينة, أَوِ الضغطِ على زِرٍّ مُعَيَّن, إلا إذا كان التركيزُ على نوعٍ مُعَيَّنْ مِنْ أنواع العناصر.
نَضَعُ العَلامَةَ في أولِ السطرْ, وَنَضَعُ بعدَها نوعَ العُنْصُرْ. ثُمَّ نَكْتُبُ في السطرِ الثاني بَقِيَّةَ الأوامر.
وبذلك لا يؤدي التطبيقُ تلكَ الوظيفةَ, إلا إذا كانَ التركيزُ الحاليُّ على نفس النوعِ الذي وضعناهُ بعدَ العلامة.
فَتَكُونُ الْجُمْلَةُ كالتالي.
if service.click({{"&可编辑","%لصق",}})return true end
نشترطُ أن يكونَ التركيزُ على مربعِ التحرير, لِتُؤَدَّى وظيفةُ اللَّصْقْ.
والأنواعُ التي أعلمُها 4.
وهناك نَوْعٌ خامس وهو يشبهُ النَّوْعَ الأول, إلا أنَّ الفَرْقَ بينهما أنَّ الخامسَ لا يعملُ إلا إذا ضَغَطْنا على مربعِ التحريرِ ضغطتين.
النوعُ الأول.
مربعُ التحرير.
&可编辑
النوعُ الثاني.
قابل للنقر.
&可点击
النوعُ الثالث.
قائمة.
&列表
النوعُ الرابع.
عنصر داخل قائمة.
&列表项目
النوعُ الخامس.
هو مِثْلُ الأولِ مَعَ الْفَرْقِ المذكور.
&编辑框
مُلاحظات.
أولا. مِنَ الناحيةِ العملية, النوعُ الوحيدُ من أنواعِ العناصرِ الذي يمكننا أن نستفيدَ مِنْهُ بشكلٍ جيد, هو مربعُ التحرير.
ثانيًا. بالنسبة للنوع الثاني وهو العنصرُ القابلُ للنقر, وبعد التجربة, وجدتُ أنه يعملُ أحيانًا مع بعضِ العناصرِ التي لا تُفَعَّلْ.
ثالثا. بالنسبة للنوعِ الثالثِ وهو القائمة, فهو لا يتوفرُ إلا في بعض الحالات. منها التَّصَفُّحُ بِالْعُقْدَة, والتمريرُ للأَمامِ أَوِ الخلف.
رابعا. بالنسبةِ للنوعِ الرابعِ وهو العنصرُ في القائمة, فإنه موجودٌ بشكلٍ كبير, وبذلك عندما نضعهُ كَشَرْطْ, فإِنَّ الوظيفةَ التي نُلْحِقُها بهِ تُؤَدَّ تقريبا في كل مكان. وحينئذ الشرطُ لا تكونُ له قيمة.
خامسا. هذه الطريقةُ مِنَ الشُّرُوطِ لم أحصُلْ فيها إلا على أربعةِ أو خمسةِ أنواعٍ مِنَ العناصر.
سادسا. هناك طريقةٌ أخرى للشُّرُوطْ, سأشرحها في ملفٍّ خاصٍّ بها. وهي طريقةٌ أفضل في نظري.
النوعُ الخامس.
[]
قَوْسَيْنِ مُرَبَّعَيْنْ.
نَضَعُ بينهما إسمَ زِرٍّ معين, لِيَتِمَّ الضَّغْطُ عليهِ عن طريقِ النقرِ المباشر.
وَنَضَعُ بينهما إِحْدَاثِيَّاتٍ مُعَيَّنَة, لِيَتِمَّ الضَّغْطُ عليها عن طريقِ النقرِ المباشر, أَوِ الضَّغْطِ الْمُطَوَّلِ المباشِر.
وَنَضَعُ بينهما إِحْدَاثِيَّاتٍ مُعَيَّنَة, لِنَقْلِ الزِّرِّ مِنْ مَوْضِعٍ إلى آخَر.
وإذا وضعنا بعدَ علامةِ الدولار أصفارْ, فإننا نعني إلغاءَ المدة.
وهنا يعتمدُ الأَمْرُ في السرعةِ على التطبيقِ الذي نَتَعَامَلُ معهْ, أو على سُرعةِ الهاتفْ, أو على سُرعةِ الإتصال.
فإذا كان الفاصلُ الزَّمَنِيُّ مُلْغَى مِنْ أجلِ تِكرارِ وظيفةٍ في قارئِ الشاشة, فإنَّ الأمرَ يكونُ سريعا جدا.
رابعا. علامَةُ الدولار في السطرِ الأولِ تؤدي الدورَ السابق, وفي نفسِ الوقتِ تُحَدِّدُ مُدَّةَ تأخيرِ وظيفةِ الرُّجُوعِ بعدَ آخِرِ ضغطة.
&
وَ.
هذه العَلامَةُ نَضَعُها بَعْدَ وظيفة, أو إضافة, أو أداة, أو فتحِ تطبيق, للشَّرْطِ في أكثرَ مِنْ حالة.
الحالةُ الأولى.
الضغطُ على زِرٍّ مُعَيَّنْ, أو تنفيذُ وظيفةٍ مُعَيَّنَةٍ إذا كان في الشاشةِ الحاليةِ عِبارةٌ أو كلمةٌ مُعَيَّنَة.
الحالةُ الثَّانِيَة.
عدمُ الضغطِ على زِرٍّ مُعَيَّنْ, أو عدمُ تنفيذِ وظيفةٍ مُعَيَّنَةٍ إذا كان في الشاشةِ الحاليةِ عِبارةٌ أو كلمةٌ مُعَيَّنَة.
الحالةُ الثالثة.
الضغطُ على زِرٍّ مُعَيَّنْ, أو تنفيذُ وظيفةٍ مُعَيَّنَةٍ إذا كان التركيزُ على نوعٍ مِنْ أنواع العناصرِ التي سَنُبَيِّنُها. .
مثالُ الحالةِ الأولى.
عندنا مربعُ حِوارٍ مفاده: هل تُريدُ الخروج. وعندنا زر مُوافِق وَزِرْ إلغاء.
نريدهُ أن يضغطَ على زِرْ مُوافِقْ إذا كانت كلمةُ الخروجِ مَوْجُودَةً في نفسِ النافذة.
فَتَكُونُ الجُمْلَةُ كالتالي:
if service.click({{"موافق&الخروج",}})return true end
مثالُ الحالةِ الثَّانِيَة.
عندنا مربعُ حِوارٍ مفاده: هل تُريدُ الْحَذْفْ. وعِندنا زر مُوافِق وَزِرْ إلغاء.
نريدهُ أن لا يضغطَ على زِرْ مُوافِقْ إذا كانت كلمةُ الْحَذْفِ مَوْجُودَةً في نفسِ النافذة.
ونريدهُ أن يضغطَ على مُوافِق في باقي مربعاتِ الحِوار.
فَتَكُون الجملة كالتالي:
if service.click({{"موافق&!الحذف",}})return true end
في الحالةِ الثَّانِيَةِ التي هي عَكْسُ الحالةِ الأولى وضَعْنا بعدَ عَلامَةِ وَ عَلامَةَ التَّعَجُّبْ.
مثالُ الحالةِ الثالثة.
نريد أن لا يقومَ التطبيقُ بتنفيذِ وظيفةٍ معينة, أَوِ الضغطِ على زِرٍّ مُعَيَّن, إلا إذا كان التركيزُ على نوعٍ مُعَيَّنْ مِنْ أنواع العناصر.
نَضَعُ العَلامَةَ في أولِ السطرْ, وَنَضَعُ بعدَها نوعَ العُنْصُرْ. ثُمَّ نَكْتُبُ في السطرِ الثاني بَقِيَّةَ الأوامر.
وبذلك لا يؤدي التطبيقُ تلكَ الوظيفةَ, إلا إذا كانَ التركيزُ الحاليُّ على نفس النوعِ الذي وضعناهُ بعدَ العلامة.
فَتَكُونُ الْجُمْلَةُ كالتالي.
if service.click({{"&可编辑","%لصق",}})return true end
نشترطُ أن يكونَ التركيزُ على مربعِ التحرير, لِتُؤَدَّى وظيفةُ اللَّصْقْ.
والأنواعُ التي أعلمُها 4.
وهناك نَوْعٌ خامس وهو يشبهُ النَّوْعَ الأول, إلا أنَّ الفَرْقَ بينهما أنَّ الخامسَ لا يعملُ إلا إذا ضَغَطْنا على مربعِ التحريرِ ضغطتين.
النوعُ الأول.
مربعُ التحرير.
&可编辑
النوعُ الثاني.
قابل للنقر.
&可点击
النوعُ الثالث.
قائمة.
&列表
النوعُ الرابع.
عنصر داخل قائمة.
&列表项目
النوعُ الخامس.
هو مِثْلُ الأولِ مَعَ الْفَرْقِ المذكور.
&编辑框
مُلاحظات.
أولا. مِنَ الناحيةِ العملية, النوعُ الوحيدُ من أنواعِ العناصرِ الذي يمكننا أن نستفيدَ مِنْهُ بشكلٍ جيد, هو مربعُ التحرير.
ثانيًا. بالنسبة للنوع الثاني وهو العنصرُ القابلُ للنقر, وبعد التجربة, وجدتُ أنه يعملُ أحيانًا مع بعضِ العناصرِ التي لا تُفَعَّلْ.
ثالثا. بالنسبة للنوعِ الثالثِ وهو القائمة, فهو لا يتوفرُ إلا في بعض الحالات. منها التَّصَفُّحُ بِالْعُقْدَة, والتمريرُ للأَمامِ أَوِ الخلف.
رابعا. بالنسبةِ للنوعِ الرابعِ وهو العنصرُ في القائمة, فإنه موجودٌ بشكلٍ كبير, وبذلك عندما نضعهُ كَشَرْطْ, فإِنَّ الوظيفةَ التي نُلْحِقُها بهِ تُؤَدَّ تقريبا في كل مكان. وحينئذ الشرطُ لا تكونُ له قيمة.
خامسا. هذه الطريقةُ مِنَ الشُّرُوطِ لم أحصُلْ فيها إلا على أربعةِ أو خمسةِ أنواعٍ مِنَ العناصر.
سادسا. هناك طريقةٌ أخرى للشُّرُوطْ, سأشرحها في ملفٍّ خاصٍّ بها. وهي طريقةٌ أفضل في نظري.
النوعُ الخامس.
[]
قَوْسَيْنِ مُرَبَّعَيْنْ.
نَضَعُ بينهما إسمَ زِرٍّ معين, لِيَتِمَّ الضَّغْطُ عليهِ عن طريقِ النقرِ المباشر.
وَنَضَعُ بينهما إِحْدَاثِيَّاتٍ مُعَيَّنَة, لِيَتِمَّ الضَّغْطُ عليها عن طريقِ النقرِ المباشر, أَوِ الضَّغْطِ الْمُطَوَّلِ المباشِر.
وَنَضَعُ بينهما إِحْدَاثِيَّاتٍ مُعَيَّنَة, لِنَقْلِ الزِّرِّ مِنْ مَوْضِعٍ إلى آخَر.
مثالُ الحالةِ الأولى.
if service.click({{"[تشغيل]",}})return true end
وَضَعنَ بينهما زِرَّ تشغيلْ, لِيُفَعِّلَهُ عن طريقِ النَّقْرِ الْمُبَاشِر.
مثالُ الحالَةِ الثَّانِيَة.
if service.click({{"[850, 1100,300]",}})return true end
وَضَعنَ بينهما إحداثياتٍ مُعَيَّنٍَ لِمَوْضِعٍ مُعَيَّن في الشاشة, لِيُفَعِّلَهُ عن طريقِ النقرِ المباشر, أَوِ الضَّغْطِ الْمُطَوَّلِ المباشِر.
سواءً كان هذا المكانُ يحتوي على عُنْصُرٍ أو زِرٍّ أو لا يحتوي على أيٍّ منهما.
الرَّقْمُ الأوَّلُ للإحداثيات الخاصةِ بالعرضْ, والرَّقْمُ الثاني للإحداثيات الخاصةِ بِالطُّولْ, والرَّقْمُ الثالثُ للمُدة.
فإذا كانتِ المُدَّةُ 300 أو ما يَقْرُبْ, فإنها للنَّقْرِ المباشر. وإذا كانت 1000 أو ما يقرُبْ, فإنها للضَّغْطِ الْمُطَوَّلِ المباشِر.
وإذا حَذَفْنا الرَّقْمَ الثالث, فإنه سَيُفَعِّلُهُ عن طريقِ النَّقْرِ المُباشِر. لَكنْ, الأفضَلُ أن نَضَعَ المُدَّةَ للتخييرِ بينَ النَّقْرِ المباشِر, أَوِ الضَّغْطِ المُطَوَّلِ المباشِر.
مثالُ الحالَةِ الثالثة.
if service.click({{"[950,1100,850,1000,1000,5]",}})return true end
الرَّقْمُ الأوَّلُ والثاني للإحداثيات الخاصةِ بالْمَوْضِعِ الأول, والرَّقْمُ الثالثُ والرابعُ للإحداثياتِ الخاصةِ بالْمَوْضِعِ الذي يَتِمُّ الإنتِقالُ إِلَيْهْ, والرَّقْمُ الخامسُ لِمُدَّةِ الإنتقالْ, والرَّقْمُ السادسُ لِعددِ تِكْرارِ العملية, وهو إِخْتِيَاري.
وَيَجِبُ أنْ نَضَعَ بينَ الأرقامِ عَلَامَةَ الفاصلة.
هذه العمليةُ قد تُفيدُنا في التقليبِ بينَ الصفحات, وفي بعضِ التطبيقات التي لا تحتوي على تركيزْ..
والْخُلاصَةُ أنَّ كلَّ ما يُضَعُ بينَ القَوْسَيْنِ المُرَبَّعَيْنِ هو محاكاتٌ للضَّغطِ دونَ استخدامِ الناطق. فَلَا علاقةَ للتركيزِ الخاصِّ بإمكانيَّةِ الوصولِ بِهَذَا الأمر.
أولا. لا يمكنُ أنْ نَضَعَ بعدَ الأقواسِ المُرَبَّعَةِ علامةَ آت لِيَكونَ الضَّغطُ على الزرِّ أَوِ الإحداثياتِ خاصا بتطبيقٍ مُعَيَّنْ.
ثانيًا. لا يمكنُ أنْ نَضَعَ بعدَ الأقواسِ المُرَبَّعَةِ علامَةَ أكبرْ مِنْ, إذا وضعنا بينَ تلكَ الأقواسِ إِحْدَاثِيَّاتِ مَوْضِعٍ مُعَيَّنْ.
ثالثًا. لا يمكنُ أن نضعَ إِسْمًا خاصًّا بِعُقْدَةٍ أو إسمَ زِرٍّ قابلٍ للتصنيفِ بينَ الأقواسِ المُرَبَّعَة.
رابعًا. لا يمكنُ أنْ نَجْمَعَ بَيْنَ الأقواسِ المُرَبَّعَةِ والأقواسِ المزخرفةِ إذا إِسْتَعْمَلْنَا هَذهِ الأخيرةَ مِنْ أجل التخيير. وَسَنَشْرَحُ ذَلِكَ حينَ التَّطَرُّقِ لِموضوعِ الأقواسِ المزخرفة.
خامسًا. لا يمكنُ أنْ نَجْمَعَ بَيْنَ الأقواسِ المُرَبَّعَةِ والشريطِ العموديِّ مِنْ أجل التخيير.
سادِسا. لا يمكنُ وضْعُ عَلامَةِ الدولار بعدَ الأقواسِ المُرَبَّعَةِ لِتحديدِ الفاصلِ الزَّمَنِيِّ لِتِكْرارِ العمليةِ إذا كانَ قَبْلَهُ أصغرْ مِنْ, أو لِتحديدِ مُدَّةِ تأخيرِ الوظيفةِ التالية. .
سابعا. يمكنُ وضْعُ عَلَامَةِ أصغرْ مِنْ بعدَ الأقواسِ المُرَبَّعَة, أو قَبْلَ القَوْسِ الْمُرَبَّعِ الْمُغْلَقْ, لِتِكْرارِ الْعَمَلِيَّة.
ثامنًا. يمكنُ أنْ نَضَعَ بعدَ الأقواسِ المُرَبَّعَةِ علامَةَ أكبرْ مِنْ, إذا وضعنا بينَ تلكَ الأقواسِ إسْمَ زِرٍّ مُعَيَّنْ.
تاسِعًا. نستطيع الْإِسْتِفَادَةَ مِنَ القَوْسَيْنِ المُرَبَّعَيْنِ في الإسْتِبْدَالِ النمطي, بحيثُ نَضَعُ بَيْنَهُمَ ما نُرِيدُ إِسْتِبْدَالَه.
[a-z]
في المثالِ السابقِ قُلْنَا له, إِسْتَبْدِلْ كُلَّ الأَحْرُفِ اللاتينية, وَهُوَ ينفعُنَا إذا كنا نريدُ حَذْفَ اللُّغَاتِ الأجنبيةِ مِنَ النَّص, والإِبْقَاءَ على العربية. []
عَاشِرًا. نستطيعُ أيضًا الْإِسْتِفَادَةَ مِنَ القَوْسَيْنِ المُرَبَّعَيْنِ في تعديلِ التقسيمِ إلى الكلمات, الموجودِ في الإعداداتِ المُتَقَدِّمة, ثُمَّ إعداداتٍ أخرى.
بحيثُ نَضَعُ بينَهُمَا العَلَامَاتِ التي نُريدُ التقسيمَ حَسَبَهَا.
مثال.
[,:;.]
ثانيًا. لا يمكنُ أنْ نَضَعَ بعدَ الأقواسِ المُرَبَّعَةِ علامَةَ أكبرْ مِنْ, إذا وضعنا بينَ تلكَ الأقواسِ إِحْدَاثِيَّاتِ مَوْضِعٍ مُعَيَّنْ.
{}
الأقواسُ المزخرفة.
هَذهِ نُعَدِّلُ عليها لِنَجْعَلَ الأشيَاءَ الموجودَ ةَ داخلْ service.click({}) للترتيب, أو للتخيير, أو للدَّمْجِ بينَ الترتيبِ والتخيير.
الحالةُ الأولى وهي للترتيب.
إِفْتراضيا نَجِدُ بعدَ عِبارة service.click({}) أربعةَ أقواسٍ مُزَخْرَفة. وَنَجِدُ بينَ تلك الأقواسِ أزرارًا, أو وظائف, أو أدوات, أو فَتْحَ تطبيق, أو خليطًا بينَ بعضِ هَذِهِ الأشياءأو كُلِّها.
if service.click({{"[تشغيل]",}})return true end
وَضَعنَ بينهما زِرَّ تشغيلْ, لِيُفَعِّلَهُ عن طريقِ النَّقْرِ الْمُبَاشِر.
مثالُ الحالَةِ الثَّانِيَة.
if service.click({{"[850, 1100,300]",}})return true end
وَضَعنَ بينهما إحداثياتٍ مُعَيَّنٍَ لِمَوْضِعٍ مُعَيَّن في الشاشة, لِيُفَعِّلَهُ عن طريقِ النقرِ المباشر, أَوِ الضَّغْطِ الْمُطَوَّلِ المباشِر.
سواءً كان هذا المكانُ يحتوي على عُنْصُرٍ أو زِرٍّ أو لا يحتوي على أيٍّ منهما.
الرَّقْمُ الأوَّلُ للإحداثيات الخاصةِ بالعرضْ, والرَّقْمُ الثاني للإحداثيات الخاصةِ بِالطُّولْ, والرَّقْمُ الثالثُ للمُدة.
فإذا كانتِ المُدَّةُ 300 أو ما يَقْرُبْ, فإنها للنَّقْرِ المباشر. وإذا كانت 1000 أو ما يقرُبْ, فإنها للضَّغْطِ الْمُطَوَّلِ المباشِر.
وإذا حَذَفْنا الرَّقْمَ الثالث, فإنه سَيُفَعِّلُهُ عن طريقِ النَّقْرِ المُباشِر. لَكنْ, الأفضَلُ أن نَضَعَ المُدَّةَ للتخييرِ بينَ النَّقْرِ المباشِر, أَوِ الضَّغْطِ المُطَوَّلِ المباشِر.
مثالُ الحالَةِ الثالثة.
if service.click({{"[950,1100,850,1000,1000,5]",}})return true end
الرَّقْمُ الأوَّلُ والثاني للإحداثيات الخاصةِ بالْمَوْضِعِ الأول, والرَّقْمُ الثالثُ والرابعُ للإحداثياتِ الخاصةِ بالْمَوْضِعِ الذي يَتِمُّ الإنتِقالُ إِلَيْهْ, والرَّقْمُ الخامسُ لِمُدَّةِ الإنتقالْ, والرَّقْمُ السادسُ لِعددِ تِكْرارِ العملية, وهو إِخْتِيَاري.
وَيَجِبُ أنْ نَضَعَ بينَ الأرقامِ عَلَامَةَ الفاصلة.
هذه العمليةُ قد تُفيدُنا في التقليبِ بينَ الصفحات, وفي بعضِ التطبيقات التي لا تحتوي على تركيزْ..
والْخُلاصَةُ أنَّ كلَّ ما يُضَعُ بينَ القَوْسَيْنِ المُرَبَّعَيْنِ هو محاكاتٌ للضَّغطِ دونَ استخدامِ الناطق. فَلَا علاقةَ للتركيزِ الخاصِّ بإمكانيَّةِ الوصولِ بِهَذَا الأمر.
أولا. لا يمكنُ أنْ نَضَعَ بعدَ الأقواسِ المُرَبَّعَةِ علامةَ آت لِيَكونَ الضَّغطُ على الزرِّ أَوِ الإحداثياتِ خاصا بتطبيقٍ مُعَيَّنْ.
ثانيًا. لا يمكنُ أنْ نَضَعَ بعدَ الأقواسِ المُرَبَّعَةِ علامَةَ أكبرْ مِنْ, إذا وضعنا بينَ تلكَ الأقواسِ إِحْدَاثِيَّاتِ مَوْضِعٍ مُعَيَّنْ.
ثالثًا. لا يمكنُ أن نضعَ إِسْمًا خاصًّا بِعُقْدَةٍ أو إسمَ زِرٍّ قابلٍ للتصنيفِ بينَ الأقواسِ المُرَبَّعَة.
رابعًا. لا يمكنُ أنْ نَجْمَعَ بَيْنَ الأقواسِ المُرَبَّعَةِ والأقواسِ المزخرفةِ إذا إِسْتَعْمَلْنَا هَذهِ الأخيرةَ مِنْ أجل التخيير. وَسَنَشْرَحُ ذَلِكَ حينَ التَّطَرُّقِ لِموضوعِ الأقواسِ المزخرفة.
خامسًا. لا يمكنُ أنْ نَجْمَعَ بَيْنَ الأقواسِ المُرَبَّعَةِ والشريطِ العموديِّ مِنْ أجل التخيير.
سادِسا. لا يمكنُ وضْعُ عَلامَةِ الدولار بعدَ الأقواسِ المُرَبَّعَةِ لِتحديدِ الفاصلِ الزَّمَنِيِّ لِتِكْرارِ العمليةِ إذا كانَ قَبْلَهُ أصغرْ مِنْ, أو لِتحديدِ مُدَّةِ تأخيرِ الوظيفةِ التالية. .
سابعا. يمكنُ وضْعُ عَلَامَةِ أصغرْ مِنْ بعدَ الأقواسِ المُرَبَّعَة, أو قَبْلَ القَوْسِ الْمُرَبَّعِ الْمُغْلَقْ, لِتِكْرارِ الْعَمَلِيَّة.
ثامنًا. يمكنُ أنْ نَضَعَ بعدَ الأقواسِ المُرَبَّعَةِ علامَةَ أكبرْ مِنْ, إذا وضعنا بينَ تلكَ الأقواسِ إسْمَ زِرٍّ مُعَيَّنْ.
تاسِعًا. نستطيع الْإِسْتِفَادَةَ مِنَ القَوْسَيْنِ المُرَبَّعَيْنِ في الإسْتِبْدَالِ النمطي, بحيثُ نَضَعُ بَيْنَهُمَ ما نُرِيدُ إِسْتِبْدَالَه.
[a-z]
في المثالِ السابقِ قُلْنَا له, إِسْتَبْدِلْ كُلَّ الأَحْرُفِ اللاتينية, وَهُوَ ينفعُنَا إذا كنا نريدُ حَذْفَ اللُّغَاتِ الأجنبيةِ مِنَ النَّص, والإِبْقَاءَ على العربية. []
عَاشِرًا. نستطيعُ أيضًا الْإِسْتِفَادَةَ مِنَ القَوْسَيْنِ المُرَبَّعَيْنِ في تعديلِ التقسيمِ إلى الكلمات, الموجودِ في الإعداداتِ المُتَقَدِّمة, ثُمَّ إعداداتٍ أخرى.
بحيثُ نَضَعُ بينَهُمَا العَلَامَاتِ التي نُريدُ التقسيمَ حَسَبَهَا.
مثال.
[,:;.]
ثانيًا. لا يمكنُ أنْ نَضَعَ بعدَ الأقواسِ المُرَبَّعَةِ علامَةَ أكبرْ مِنْ, إذا وضعنا بينَ تلكَ الأقواسِ إِحْدَاثِيَّاتِ مَوْضِعٍ مُعَيَّنْ.
{}
الأقواسُ المزخرفة.
هَذهِ نُعَدِّلُ عليها لِنَجْعَلَ الأشيَاءَ الموجودَ ةَ داخلْ service.click({}) للترتيب, أو للتخيير, أو للدَّمْجِ بينَ الترتيبِ والتخيير.
الحالةُ الأولى وهي للترتيب.
إِفْتراضيا نَجِدُ بعدَ عِبارة service.click({}) أربعةَ أقواسٍ مُزَخْرَفة. وَنَجِدُ بينَ تلك الأقواسِ أزرارًا, أو وظائف, أو أدوات, أو فَتْحَ تطبيق, أو خليطًا بينَ بعضِ هَذِهِ الأشياءأو كُلِّها.
فهوَ سيبدأُ بأولِ شيء, ثُمَّ الثاني, ثُمَّ الثالث, حتى ينتهي.
فهنا لاحظنا أنهُ يُؤَدِّي هذه الوظيفةَ على أساسِ الترتيب.
إذا كانتِ الوظيفةُ تحتوي على زِرٍّ فإنه سيضغطُ عليه. فإذا لم يجدْهُ لَن يُكْمِلَ الوظيفة.
إذا كانتِ الوظيفةُ تحتوي على إضافةٍ أو أداةٍ فإنه سيقومُ باستدعائها. فإذا لم يجدْها لَن يُكْمِلَ الوظيفة.
مثالُ الحالَةِ الأولى.
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 وصل،
🚀
وصل،
وصل،
وصل.
تم تحديث وإضافة سبعة ميزات جديدة 🚀.
وكلها شغالة تمام ✅🙏