تستخدم لغة البرمجة سي على نطاق واسع لإنشاء تطبيقات مختلفة ، بما في ذلك واجهات النوافذ. أحد الجوانب المهمة لإنشاء تطبيقات النوافذ هو القدرة على التبديل من نموذج إلى آخر. في هذه المقالة ، سننظر في عدة طرق لتنفيذ الانتقال إلى نموذج آخر في لغة البرمجة سي.
الطريقة الأولى لتنفيذ الانتقال إلى نموذج آخر في ج هي استخدام وظيفة شوويندو (). تفتح هذه الوظيفة نافذة جديدة وتخفي النافذة الحالية. هنا مثال على الاستخدام:
// إخفاء النافذة الحالية
}
- وأخيرا ، فإن الطريقة الثالثة لتنفيذ الانتقال إلى شكل آخر في ج هو استخدام وظيفة التغيير (). تقوم هذه الوظيفة بتغيير النموذج الحالي إلى نموذج جديد. هنا مثال على الاستخدام:
- تغيير الفراغ () {
- // تغيير النموذج الحالي إلى نموذج جديد
- }
الآن أنت تعرف عدة طرق لتنفيذ الانتقال إلى نموذج آخر في لغة البرمجة ج. باستخدام هذه الطرق ، يمكنك إنشاء تطبيقات متعددة النوافذ بواجهة سهلة الاستخدام.
التحول إلى نموذج آخر في لغة البرمجة سي
وظائف التحول إلى شكل آخر
باستخدام الأمر" غوتو " للتبديل إلى نموذج آخر
تنفيذ الانتقال إلى نموذج آخر باستخدام عوامل التشغيل الشرطية
استخدام وظائف رد الاتصال للتبديل إلى نموذج آخر
التبديل إلى نموذج آخر عبر وظيفة الإرجاع
استخدام العودية للتبديل إلى نموذج آخر
نقل البيانات بين النماذج أثناء الانتقال
سؤال وجواب
- كيف يمكنني تنفيذ الانتقال إلى نموذج آخر في لغة البرمجة ج?
- ما هي بدائل` غوتو ' وظيفة للتبديل إلى شكل آخر في لغة البرمجة ج?
- ما هي مزايا وعيوب` غوتو ' وظيفة للتبديل إلى شكل آخر في لغة البرمجة ج?
- كيف يمكنني تنظيم الانتقال إلى نموذج آخر دون استخدام` غوتو ' وظيفة في لغة البرمجة ج?
الانتقال إلى شكل آخر في لغة البرمجة سي
يعد التبديل إلى نموذج أو نافذة أخرى جزءا مهما من تطوير البرامج في لغة البرمجة سي. يتيح ذلك للمستخدمين التفاعل مع أجزاء مختلفة من البرنامج والتبديل بينها.
يمكن استخدام مناهج وأدوات مختلفة لتنفيذ الانتقال إلى شكل آخر في ج. واحدة من أكثر الطرق شيوعا هي استخدام مكتبة نكورسيس. يوفر وظائف قوية لإنشاء واجهة مستخدم قائمة على النص.
عندما يقوم المستخدم بتشغيل البرنامج ، يتم تقديم النموذج الأصلي له ، والذي قد يحتوي على نص وأزرار وعناصر تحكم أخرى. عندما يتفاعل المستخدم مع البرنامج ، يمكن للمستخدم النقر فوق زر أو تحديد خيار للتبديل إلى نموذج آخر.
لتنفيذ هذا ، يمكنك استخدام وظائف وجيتش () و ريفريش () من مكتبة نكورسيس. يتم استخدام وظيفة وجيتش () للحصول على رمز المفتاح المضغوط ، وظيفة ريفريش() بتحديث عرض النافذة ونقل جميع التغييرات إلى الشاشة.
عندما تتلقى رمز مفتاح مضغوط ، يمكنك استخدام عامل تشغيل شرطي لتحديد الزر الذي تم الضغط عليه ، وبالتالي التبديل إلى نموذج آخر. قد يشمل ذلك تغيير البيانات أو عرض نموذج جديد أو تنفيذ إجراءات أخرى.
في تطوير البرمجيات ، من المهم مراعاة احتياجات المستخدمين وتوفير تنقل مريح وبديهي بين النماذج. يعد التبديل إلى نموذج آخر إحدى الطرق لجعل البرنامج أكثر سهولة في الاستخدام وتفاعلية للمستخدمين.
وظائف التحول إلى شكل آخر
يمكن تنفيذ الانتقال إلى شكل آخر في لغة البرمجة سي باستخدام وظائف أو طرق مختلفة توفر تغييرا في الحالة الحالية للبرنامج والانتقال إلى شكل آخر من أشكال تمثيل المعلومات.
فيما يلي بعض الوظائف الشائعة التي يمكن استخدامها لتنفيذ الانتقال إلى نموذج آخر في ج:
فوبين: يتم استخدام وظيفة فوبين لفتح ملف أو التواصل مع ملقم بعيد. يمكنك استخدام هذه الوظيفة للتبديل إلى نموذج آخر عن طريق فتح ملف جديد أو الاتصال بخادم آخر.
برينتف: وظيفة برينتف يسمح لك لإخراج البيانات إلى الشاشة أو إلى ملف. يمكن استخدامه لعرض شكل جديد من عرض المعلومات ، على سبيل المثال ، عن طريق عرض قيم أو نصوص أو عناصر رسومية جديدة على الشاشة.
المسح الضوئي: تتيح لك وظيفة المسح الضوئي إدخال البيانات من لوحة المفاتيح أو من ملف. يمكن استخدامه للحصول على معلومات من المستخدم والتبديل إلى نموذج آخر بناء على البيانات المدخلة.
غوتو: يتم استخدام المشغل غوتو للانتقال دون قيد أو شرط إلى تسمية في البرنامج. على الرغم من أن استخدام مشغل غوتو غير مستحسن بسبب مشاكله المحتملة مع سهولة القراءة وفهم الكود ، إلا أنه لا يزال من الممكن استخدامه للانتقال إلى نموذج آخر في ج.
هناك أيضا العديد من المكتبات والأطر التي تقدم وظائف أو طرق متخصصة لإنشاء النماذج وإدارتها في ج. على سبيل المثال ، تقدم مكتبة نكورس مجموعة واسعة من الوظائف للعمل مع واجهة المستخدم النصية (توي) ، مما يسمح لك بإنشاء النماذج وإدارتها.
عند اختيار وظيفة أو طريقة لتنفيذ الانتقال إلى نموذج آخر في ج ، من المهم مراعاة تفاصيل المهمة ومتطلبات واجهة المستخدم. قد تكون بعض الطرق أكثر ملاءمة وفعالية في مواقف معينة ، لذلك من المهم اختيار الطريقة الأنسب لحالتك الخاصة.
باستخدام الأمر" غوتو " للتبديل إلى نموذج آخر
الأمر غوتو هي واحدة من الطرق لتنفيذ الانتقال إلى شكل آخر في لغة البرمجة ج. ومع ذلك ، ضع في اعتبارك أن استخدام هذا الأمر يمكن أن يجعل فهم الكود وصيانته أكثر صعوبة ، لذلك يوصى بالحد من استخدامه فقط في حالات استثنائية.
الأمر غوتو يسمح لك لجعل الانتقال غير المشروط إلى التسمية المحددة في البرنامج. عادة ما تكون التسمية معرفا يشير إلى موضع معين في الكود. مثال على استخدام الأمر غوتو:
كثافة العمليات الرئيسية () {
إنت س = 10;
إذا (س > 0) {
انتقل إلى إيجابي ؛ / / انتقل إلى التسمية الإيجابية
انتقل إلى السلبية ؛ / / انتقل إلى التسمية السلبية
}
إيجابي:
برينتف ("الرقم موجب");
غوتو النهاية;
| سلبي: | برينتف ("الرقم سالب"); |
|---|---|
غوتو النهاية; | النهاية: |
برينتف ("نهاية البرنامج"); | العودة 0; |
}
- في هذا المثال ، لدينا المتغير س ، وهو 10. باستخدام الشرطي
- عند استخدام الأمر غوتو ، يجب أن تكون حذرا وتجنب الإفراط في الاستخدام ، وهذا يمكن أن يؤدي إلى رمز مربكة وصعبة القراءة. في معظم الحالات ، يمكن تنفيذ الانتقال إلى نموذج آخر باستخدام هياكل أكثر تنظيما ومفهومة ، مثل الوظائف أو الحلقات.
- في سياق التبديل إلى نموذج آخر ، يمكنك استخدام الشرطي إذا-عامل آخر. بناء جملة هذا المشغل هو كما يلي:
المشغل
الوصف
من إذا (شرط)
ينفذ التعليمات البرمجية داخل الكتلة إذا كان الشرط صحيحا
آخر
ينفذ التعليمات البرمجية داخل الكتلة إذا كان الشرط غير صحيح
من أجل تنفيذ الانتقال إلى نموذج آخر باستخدام عامل شرطي ، نحتاج إلى:
اضبط الشرط الذي يجب أن يحدث بموجبه الانتقال إلى نموذج آخر. على سبيل المثال ، إذا نقر المستخدم على زر "التبديل إلى نموذج آخر".
داخل
كتلة إذا
، قم بتنفيذ الإجراءات اللازمة للتبديل إلى نموذج آخر. على سبيل المثال ، لاستدعاء وظيفة أو فتح نافذة جديدة.
في الكتلة
آخر
يمكنك تنفيذ الإجراءات التي يجب أن تحدث إذا كانت الحالة خاطئة. على سبيل المثال ، لعرض رسالة خطأ أو لمتابعة تنفيذ التعليمات البرمجية للنموذج الحالي.
مثال على استخدام عامل تشغيل شرطي لتنفيذ انتقال إلى نموذج آخر:
# تشمل
كثافة العمليات الرئيسية () {
إنت الخيار;
برينتف ("حدد عنصر قائمة:
");
برينتف ("1. التبديل إلى نموذج آخر
");
برينتف ("2. خروج
");
برينتف ("أدخل رقم العنصر:");
سكانف ("٪د " ، والخيار);
- إذا (الخيار = = 1) {
- برينتف ("شكل الانتقال إلى نموذج آخر
- ");
} آخر {
برينتف ("نواصل تنفيذ رمز النموذج الحالي
");
}
العودة 0;
}
في هذا المثال ، نقترح أن يقوم المستخدم بتحديد عنصر قائمة. إذا قام المستخدم بإدخال 1 ، يتم عرض الرسالة "نموذج التبديل إلى نموذج آخر". إذا قام المستخدم بإدخال أي قيمة أخرى ، فسيتم عرض الرسالة "نواصل تنفيذ رمز النموذج الحالي". وبالتالي ، قمنا بتنفيذ انتقال مشروط إلى نموذج آخر اعتمادا على البيانات التي أدخلها المستخدم.
يسمح لك استخدام المشغلين الشرطيين بتكوين انتقالات مرنة إلى أشكال أخرى في برنامج ج ، اعتمادا على الشروط المحددة والبيانات التي أدخلها المستخدم.
استخدام وظائف رد الاتصال للتبديل إلى نموذج آخر
التحول إلى نموذج آخر في لغة البرمجة ج يمكن تنفيذها باستخدام وظائف رد الاتصال. تسمح لك وظائف رد الاتصال بتمرير مؤشر إلى وظيفة كوسيطة إلى وظيفة أخرى ، مما يسمح لك باستدعاء هذه الوظيفة في المكان المناسب في البرنامج.
لتنفيذ الانتقال إلى نموذج آخر باستخدام وظائف رد الاتصال ، يجب تنفيذ الخطوات التالية:
حدد وظيفة رد الاتصال التي سيتم تنفيذها إذا كان من الضروري التبديل إلى نموذج آخر.
حدد الوظيفة التي ستتصل بوظيفة رد الاتصال.
في المكان المناسب للبرنامج ، اتصل بوظيفة ستطلق وظيفة رد الاتصال ، وبالتالي قم بالتبديل إلى نموذج آخر.
مثال على تنفيذ الانتقال إلى نموذج آخر باستخدام وظائف رد الاتصال:
# تشمل
# تشمل
// وظيفة رد الاتصال
فواد نافيجاتيتونوفورم () {
برينتف ("التبديل إلى نموذج آخر
");
}
- // الوظيفة التي تستدعي وظيفة رد الاتصال
- زر باطل (باطل(*رد) ()) {
رد();
}
كثافة العمليات الرئيسية () {
// استدعاء الوظيفة التي تبدأ وظيفة رد الاتصال
زر (نافيجاتيتونيوفورم);
العودة 0;
}
في هذا المثال ، يتم إنشاء وظيفة نافيجاتيتونيوفورم رد الاتصال والدالة بوتونكليكيد ، الذي يدعو الدالة رد الاتصال. في الوظيفة الرئيسية ، يتم استدعاء وظيفة زر النقر ، ويمررها مؤشر إلى وظيفة نافيجاتيتونوفورم. عند تنفيذ البرنامج ، سيتم تنفيذ الانتقال إلى نموذج آخر ، كما يتضح من الإخراج "الانتقال إلى نموذج آخر" على الشاشة.
وبالتالي ، فإن استخدام وظائف رد الاتصال يسمح لك بتنفيذ الانتقال إلى نموذج آخر في لغة البرمجة سي.
التبديل إلى نموذج آخر عبر وظيفة الإرجاع
لتنفيذ الانتقال إلى نموذج آخر في لغة البرمجة ج ، يمكنك استخدام وظيفة العودة. تتيح لك وظيفة الإرجاع العودة إلى مكان معين في البرنامج بعد تنفيذ إجراءات معينة. عند استخدام وظيفة الإرجاع ، يمكنك تنفيذ انتقال إلى نموذج آخر ، على سبيل المثال ، يمكن للتطبيق فتح نافذة جديدة أو استدعاء وظيفة جديدة.
لإنشاء انتقال إلى نموذج آخر من خلال وظيفة الإرجاع ، اتبع الخطوات التالية:
تحديد وظيفة من شأنها فتح نموذج جديد أو استدعاء وظيفة جديدة. على سبيل المثال ، يمكنك إنشاء وظيفة باسم "أوبنفورم" من شأنها أن تفتح نافذة جديدة أو استدعاء وظيفة أخرى.
في مكان تحتاج فيه إلى التبديل إلى نموذج آخر ، اتصل بوظيفة الإرجاع باستخدام الكلمة الأساسية "إرجاع". على سبيل المثال ، يمكنك استدعاء وظيفة "أوبنفورم" باستخدام "عودة أوبنفورم () ؛" المشغل.
يوضح المثال أدناه تنفيذ التبديل إلى نموذج آخر عبر وظيفة الإرجاع:
# تشمل
- الفراغ المفتوح () {
- برينتف ("تم فتح نموذج جديد");
- }
- الفراغ الرئيسي () {
// تم تنفيذ الكود قبل التبديل إلى نموذج آخر
// في مكان يتحول فيه إلى نموذج آخر
مطلوب عودة أوبنفورم ();
// تم تنفيذ الكود بعد العودة من نموذج جديد
}
في هذا المثال ، عند تنفيذ البرنامج ، سيتم أولا تنفيذ الكود الموجود قبل استدعاء وظيفة الإرجاع. ثم ، عند استدعاء وظيفة العودة ، سيقوم البرنامج بالتبديل إلى نموذج جديد وتنفيذ التعليمات البرمجية الموجودة داخل وظيفة "أوبنفورم". بعد تنفيذ رمز النموذج الجديد ، سيعود البرنامج إلى النموذج الأصلي ويستمر في تنفيذ الكود الموجود بعد استدعاء وظيفة الإرجاع.
وهكذا ، وذلك باستخدام وظيفة العودة يسمح لك لتنفيذ الانتقال إلى نموذج آخر في لغة البرمجة ج.
استخدام العودية للتبديل إلى نموذج آخر
في لغة البرمجة ج ، يمكنك استخدام العودية للتبديل إلى نموذج آخر. يسمح لك العودية باستدعاء وظيفة داخل نفسها ، والتي يمكن أن تكون مفيدة لتنفيذ العمليات المتكررة أو التبديل إلى نموذج آخر.
لاستخدام العودية للتبديل إلى نموذج آخر ، تحتاج إلى اتباع الخطوات التالية:
حدد الوظيفة التي سيتم استدعاؤها بشكل متكرر.
في جسم الوظيفة ، حدد الحالة الأساسية-الشرط الذي يجب بموجبه إنهاء العودية ويجب أن تعود الوظيفة إلى النموذج السابق.
في جسم الوظيفة ، حدد الحالة العودية-الحالة التي بموجبها يجب أن تستدعي العودية الوظيفة مرة أخرى.
في المكان المطلوب في التعليمات البرمجية ، استدعاء وظيفة لبدء العودية.
مثال على استخدام العودية للتبديل إلى نموذج آخر:
# تشمل
وظيفة الفراغ المتكررة (إنت ن)
{
إذا (ن = = 0) {
// حالة القاعدة: توقف العودية
}
}
كثافة العمليات الرئيسية()
{
عدد الأسطوانات = 5;
وظيفة متكررة(رقم);
- في هذا المثال
- ، الدالة المتكررة ()
- يطلق عليه بشكل متكرر حتى القيمة
- من ن
يصبح 0. عند استيفاء هذا الشرط ، يعود تنفيذ البرنامج إلى النموذج السابق والرسالة " اكتمال العودية!"يتم عرض.
يمكن أن يكون استخدام العودية للتبديل إلى نموذج آخر مفيدا لمعالجة هياكل البيانات ، مثل القوائم أو الأشجار المرتبطة. يسمح لك العودية بالتعامل بأناقة مع هذه الهياكل وإجراء عمليات متكررة.
ومع ذلك ، من المهم أن تتذكر أن العودية يمكن أن تتطلب قدرا كبيرا من الذاكرة وتؤدي إلى تجاوز سعة المكدس. لذلك ، من الضروري التعامل بعناية مع الحالة الأساسية والحد من عمق العودية لتجنب مشاكل الأداء والذاكرة.
نقل البيانات بين النماذج أثناء الانتقال
يعد التبديل من نموذج إلى آخر سيناريو شائعا في العديد من التطبيقات المطورة في لغة البرمجة سي. غالبا ما يكون من الضروري نقل البيانات من نموذج إلى آخر من أجل حفظ حالة التطبيق أو نقل إدخال المستخدم.
هناك عدة طرق لنقل البيانات بين النماذج:
باستخدام المتغيرات العالمية. أسهل طريقة لنقل البيانات هي استخدام المتغيرات العالمية. يمكنك إعلان المتغيرات العالمية التي يمكن الوصول إليها من أي شكل من أشكال التطبيق الخاص بك. على سبيل المثال ، يمكنك إعلان متغير من النوع
كثافة العمليات
أو
شار