تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] سؤال في الكونسول
#2
في تطبيقات الكونسول، يمكن استخدام
كود :
Console.ReadKey()
لانتظار أي إدخال من المستخدم قبل إغلاق التطبيق، ولكن كما ذكرت، إذا نقرت على أي مفتاح، سيتم إغلاق الكونسول.
إذا كنت ترغب في إبقاء تطبيق الكونسول مفتوحًا إلى أن تقرر أنت إغلاقه بنفسك (أي لا يتم إغلاقه إلا عندما تضغط على مفتاح محدد مثل "Ctrl + C" أو أي مفتاح آخر مخصص للإغلاق)، يمكنك استخدام حلقة غير منتهية تعمل بشكل مستمر حتى تقوم أنت باتخاذ قرار إغلاق الكونسول.
إليك مثال على كيفية القيام بذلك:
vb
نسخ الكود
كود :
Module Module1
   Sub Main()
       ' رسالة ترحيب
       Console.WriteLine("مرحباً! سيتم إبقاء الكونسول مفتوحاً حتى تقرر إغلاقه.")
       
       ' استخدام حلقة لا نهائية
       Do
           ' الانتظار لإدخال من المستخدم
           ' يمكنك تعديل الشرط هنا لتحديد مفتاح خاص للإغلاق
           If Console.KeyAvailable Then
               Dim key = Console.ReadKey(True) ' قراءة المفتاح بدون طباعة على الشاشة
               ' التحقق من الضغط على مفتاح محدد للإغلاق مثل "Esc"
               If key.Key = ConsoleKey.Escape Then
                   Exit Do ' الخروج من الحلقة عندما يتم الضغط على مفتاح "Esc"
               End If
           End If
       Loop

       ' عند الخروج من الحلقة، سيتم إغلاق التطبيق
       Console.WriteLine("تم إغلاق التطبيق.")
   End Sub
End Module
شرح الكود:
  1. حلقة
    Do Loop
  2. :
    • هذه الحلقة تعمل بشكل لا نهائي، ولن تنتهي إلا إذا تم الضغط على مفتاح محدد (مثل "Esc" في المثال).
  3. Console.KeyAvailable
  4. :
    • يتم استخدام هذه الخاصية للتحقق إذا كان هناك مفتاح تم الضغط عليه دون الحاجة للتوقف.
  5. Console.ReadKey(True)
  6. :
    • يقوم بقراءة المفتاح الذي تم ضغطه ولكنه لا يطبعه على الشاشة (
      True
    • يعني عدم الطباعة).
  7. التحقق من الضغط على "Esc":
    • إذا تم الضغط على مفتاح "Esc"، يتم الخروج من الحلقة باستخدام
      Exit Do
    • .
النتيجة:
سيظل التطبيق مفتوحًا حتى تضغط على مفتاح "Esc" لإغلاقه. يمكنك تخصيص هذا ليشمل أي مفتاح آخر حسب الحاجة.
ملاحظة:
  • يمكنك استخدام
    Console.ReadKey(True)
  • بدلاً من
    Console.ReadKey()
  • لأن الأول لا يطبع الحرف على الشاشة، وهو ما يساعد في التحكم بالتطبيق بشكل أفضل.
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
سؤال في الكونسول - بواسطة justforit - 14-12-24, 09:37 PM
RE: سؤال في الكونسول - بواسطة aljzazy - 21-12-24, 02:57 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] سؤال بخصوص الترقيم التلقائي اليدوي yosif 5 318 16-04-26, 01:05 AM
آخر رد: أبو خالد الشكري
  سؤال عن الاسمبلي و النيم سبيس justforit 0 240 07-12-25, 12:28 AM
آخر رد: justforit
  فائدة بخصوص التعامل مع علامات التنصيص مع {سؤال} justforit 4 512 02-11-25, 11:19 PM
آخر رد: justforit
  [نقاش] سؤال MetoDas 2 1,634 20-04-25, 10:21 PM
آخر رد: Kamil
  [سؤال] سؤال ترددت قبل نشرة:طابعة الباركود لماذا تطبع أكثر من ليبل فارغ قبل السليم dr.programming 1 826 20-04-25, 09:26 PM
آخر رد: Kamil
  سؤال لو سمحتم احبتى فى الله خالد كامل1 4 982 09-02-25, 12:02 AM
آخر رد: princelovelorn
  سؤال واستفسار خالد كامل1 1 515 04-02-25, 09:31 PM
آخر رد: aliday03
  سؤال فى تقرير كريستال خالد كامل1 0 493 04-02-25, 05:50 AM
آخر رد: خالد كامل1
Question [VB.NET] هناك سؤال يهم كل مبرمج الماذا برنامجك يظهر على بعض الشاشات اكثر دقه بشكل مصغر ومشوه Microformt 0 530 01-02-25, 03:48 PM
آخر رد: Microformt
  سؤال عن طريقة التعامل مع الفاصلة العشرية المتألق9 2 649 28-09-24, 04:45 PM
آخر رد: المتألق9

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم