الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أبحث عن طريقة لاختصار الكود

مغلق
بدأه طوفـ ماغيره ـان في 1 يناير 2005 · 2 رد · 568 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أخوكم في الله يخطي خطواته الأولى نحو البرمجة بلغة VB.NET والتي لم يسبق لها أي خبرة بأي لغة برمجة

يعني أول باب نطرقه بلغات البرمجة ونحاول الاحتراف فيها هو VB.NET مستعيناً بعد الله بموقعكم الرائع وبعض الكتب الالكترونية

بالنسبة للموضوع

قمت بعمل فورم أجرب فيه بعض الأكواد وأجرب فيه ما استفدته من قراءة حول اللغة من هنا وهناك

الفورم به عدد 2 TextBox و Button واحد

أسمائهم كالتالي

T01

T02

TestCmd

المطلوب هو بمجرد الضغط على TestCmd يقوم بعرض رسائل تبدأ من T01 وتنتهي بـ T02

وكل رسالة تعرض رقم بالتتابع

فلو كانت T01 قيمتها 1 و T02 قيمتها 6 ستعرض الرسالة 6 مرات

لكن المطلوب هو ظهور رسالة تنبيهية للمستخدم تسبق الرسائل السابقة اذا كان عددهم 5 أو أكثر

وتخيره بين الاستمرار أو الخروج

واذا كان عدد الرسائل أقل من 5 رسائل يتم عرضهم مباشرة بدون تنبيه

الكود التالي يقوم بالمهمة 100% ولكني أعتقد أنه يوجد كود أقل يقوم بالمهمة

وسبب بحثي عن كود أقل هو الاستفادة من خبراتكم بطرق وأفكار مختصرة تؤدي المطلوب حينما نستخدم الشرط If والتكرار For

يعني مثلاً هل يمكن استخدام For مرة واحدة بالكود التالي ويؤدي نفس المهمة ؟؟

لكم مني التحية

Private Sub TestCmd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TestCmd.Click
        Dim b As Integer

        If T02.Text - T01.Text >= 5 Then
            If (MsgBox("سيتم عرض رسائل لأكثر من خمس مرات هل أنت موافق", MsgBoxStyle.YesNo, "حدد اختيارك")) = MsgBoxResult.Yes Then
                For b = T01.Text To T02.Text
                    MsgBox("رسالة رقم " & b)
                Next b
            Else
                Exit Sub
            End If
        Else
            For b = T01.Text To T02.Text
                MsgBox("رسالة رقم " & b)
            Next b

        End If


    End Sub
#2

بسم الله الرحمن الرحيم

ممكن ان تكون بالطريقة التالية:

        Dim b As Integer

        If T02.Text - T01.Text >= 5 Then
            If (MsgBox("سيتم عرض رسائل لأكثر من خمس مرات هل أنت موافق", MsgBoxStyle.YesNo, "حدد اختيارك")) <> MsgBoxResult.Yes Then
                Exit Sub
            End If
        End If

        For b = T01.Text To T02.Text
            MsgBox("رسالة رقم " & b)
        Next b
#3

الأخ محمد مهيـان

ألف شكر لردك وشكرا مرة ثانية لأني استفدت بطريقة جديدة وفهم لخطوات عمل If

كود مختصر يؤدي نفس المهمة

بالنسبة لي استفدت منه ( واحد من الخبراء بيبتسم الآن أنا عارف :) )

هذا الموضوع مغلق.

مواضيع مشابهة