لدي سترينج عبارة عن :
1.0.0.0
ما اريده هو في كل مرة اضغط علي الزر يقوم بتزويد رقم عليهم مثل
1.0.0.1
1.0.0.2
1.0.0.3
وهكذا لحد ما يوصل لرقم 9 مثل
1.0.0.9
يبقا كدا عندما اضغط الزر يقوم بزيادة الرقم التالي مثل
1.0.0.9
يصبح
1.0.1.0
وهكذا
يعني في كل مرة يزود رقم لحد ما يوصل لرقم
9.9.9.9
طبعا الزيادة تتم فقط عند الضغط علي الزر
ما هو افضل كود لفعل ذلك
لان بشروط if هيكون كود طويل ومعقد لذا ابحث عن طريقة اسهل وافضل
افضل طريقة واسهلها وقد تكون الابسط فى التعامل
هو فى حدث الزر تقوم بالتالى
اولاً حذف . بين الارقام ليصبح الرقم 1000
ثانياً ستقوم بعملة الجمع 1000+1
ثالثاً استرجاع . مجدداً ليصبح الناتج 1001
السلام عليكم ورحمة الله وبركاته
اخي الكريم هذه بطريقة الـ If وهي ليست معقدة كما تقول وقد جربتها حتى الرقم 9999 وبعدها يتم التصفير من جديد
الكود عبارة عن جمل if متداخلة
كود :
Dim aa As Integer = 0
Dim bb As Integer = 0
Dim cc As Integer = 0
Dim dd As Integer = 1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
aa += 1
If aa = 10 Then
aa = 0
bb += 1
If bb = 10 Then
bb = 0
cc += 1
If cc = 10 Then
cc = 0
dd += 1
If dd = 10 Then
dd = 0 ' هنا يتم التصفير والاعادة من جديد
Else
dd += 1
End If
End If
End If
End If
TextBox1.Text = dd & "." & cc & "." & bb & "." & aa
End Sub
أعتقد أن الكود الأسهل هو :
كود :
Dim S As Single
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
S += 0.001
If S >= 10 Then S = 0.000
TextBox1.Text = S.ToString("0.0@0@0").Replace("@", ".")
End Sub
بارك الله فيك اخ سامي
فعلا اسهل وطريقة ابداعية حقا
(27-06-20, 12:31 PM)ابراهيم ايبو كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
اخي الكريم هذه بطريقة الـ If وهي ليست معقدة كما تقول وقد جربتها حتى الرقم 9999 وبعدها يتم التصفير من جديد
الكود عبارة عن جمل if متداخلة
كود :
Dim aa As Integer = 0
Dim bb As Integer = 0
Dim cc As Integer = 0
Dim dd As Integer = 1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
aa += 1
If aa = 10 Then
aa = 0
bb += 1
If bb = 10 Then
bb = 0
cc += 1
If cc = 10 Then
cc = 0
dd += 1
If dd = 10 Then
dd = 0 ' هنا يتم التصفير والاعادة من جديد
Else
dd += 1
End If
End If
End If
End If
TextBox1.Text = dd & "." & cc & "." & bb & "." & aa
End Sub
ممتاز يعمل بنجاح ولكن كنت اتمني الابتعاد عن شروط if اعتقدت انه يوجد طريقة اسهل من الشروط ولكن تسلم ايدك علي كل شئ
(27-06-20, 12:53 PM)سامي محمد كتب : [ -> ]أعتقد أن الكود الأسهل هو :
كود :
Dim S As Single
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
S += 0.001
If S >= 10 Then S = 0.000
TextBox1.Text = S.ToString("0.0@0@0").Replace("@", ".")
End Sub
ممتاز جدا ولكن كيف هيتم ادخل الرقم 1.0.0.0 ل Single
لايمكن استخدام اكثر من نقطة واحدة في المتغيرات العشرية ..... ولكن أحفظها كقيمة نصية String
(02-07-20, 01:02 AM)سامي محمد كتب : [ -> ]لايمكن استخدام اكثر من نقطة واحدة في المتغيرات العشرية ..... ولكن أحفظها كقيمة نصية String
ممكن مثال علي
dim x as string = "1.0.0.1"
تفضل اخوي
الكود التالي يحتوي على طريقتين لعمل النتيجة التي تريدها
كود :
Dim myMaxNum As Integer = 0
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
myMaxNum += 1
Label1.Text = Format(myMaxNum, "0\,0\,0\,0")
' او يمكنك استخدام السطر التالي
'فقط قم يتعليق السطر قبل السابق
'Label1.Text = myMaxNum.ToString("0\,0\,0\,0")
End Sub