منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : هل يعجز vb.net 2012 في تنفيذ هذا الامر البسيط في اقل من " 5 ثواني ؟"
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم و رحمة الله و بركاته


هل يعجز في تنفيذ هذا الكود في اقل من 5 ثواني ؟
كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        For XX = 0 To 1000000000

            TTX2.Text = XX

        Next
    End Sub
هل استطيع تنفيذ هذا الامر في اقل من 5 ثواني ؟

وشكرا Wink
مدري
SmileSmileSmile
كود اية دة ؟
انا متفأئل و عندي احساس راح يكون فيه حل ان شاء الله
///
طيب مافيه فنكشن او اي شيء لتفادي التعليق ؟ بحيث لا تتجاوز مدة التعليق ثانيتيين + لا تتجاوز مدة تنفيذ الكود 4 ثواني = 6 ثواني فقط
///
سعود شكرا لردك بس احسك تسرعت
\\\
hany gamal : حاليا الكود عباره عن العد من 1 الى 1000000000
السلام عليكم ورحمة الله وبركاته
تفضل أخي الكريم
جرب هذا الكود
كود :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Button2.Enabled = False
        For XX = 0 To 1000000000
            TTX2.Text = XX
            Application.DoEvents()
        Next
        Button2.Enabled = True
    End Sub
الكود السابق سوف لن يعلق لكنه سيتأخر
بالتوفيق
يا ظالم لماذا تريد أن تعرض القيمة في التكست بوكس ؟

إن كان ولا بد خليها في مسار تنفيذ ثاني
طريقة أفضل باستخدام BackgroundWorker

PHP كود :
Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
        Control
.CheckForIllegalCrossThreadCalls False
        Me
.BackgroundWorker1.RunWorkerAsync()

    
End Sub

    
Private Sub BackgroundWorker1_DoWork(sender As ObjectAs System.ComponentModel.DoWorkEventArgsHandles BackgroundWorker1.DoWork
        
For XX 0 To 1000000000
            
If XX Mod 50000 0 Then
                TTX2
.Text XX
            End 
If

        
Next
    End Sub 

لاحظ اني لم اعرض كل قيمة للعداد xx لأنه يستغرق وقت في رسم النص ، اختصارا أعرض مضاعفات الـ 50000 وأنت حر
و اذا اردته اسرع اخفي الاداه التكست من الفورم حتى انتهاء العمليه ثم أظهره
أبو يعقوب كتب :يا ظالم لماذا تريد أن تعرض القيمة في التكست بوكس ؟

إن كان ولا بد خليها في مسار تنفيذ ثاني

تكفى قولي عن مسار التنفيذ المناسب + انا اصلا ما ابغى العدد يعرض في التكست او غيره
انا فقط ابغى استعلم عن قيمه تكون من 0 الى 9999999999
و اذا تحقق الشرط تظهر القيمه في التكست
لكي اسهل من الامر راح اخليه
for xx = 123456 To 9999999999 Step 2
/////
شكرا لكم + جزاكم الله الف خير
+
اتمنى الحل D:
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For XX = 0 To 1000000000
            If XX = 5000 Then ' إذا تحقق الشرط
                TextBox1.Text = XX ' يتم عرض المطلوب في مربع النص
                Exit For ' يتم الخروج من الحلقة
            End If
            Application.DoEvents()
        Next
    End Sub

هل هذا المطلوب ؟
الصفحات : 1 2