منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] سؤال بخصوص الترقيم التلقائي اليدوي - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (https://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] سؤال بخصوص الترقيم التلقائي اليدوي (/showthread.php?tid=56227)



سؤال بخصوص الترقيم التلقائي اليدوي - yosif - 13-04-26

السلام عليكم
لدي مثلا تكست بوكس من رقم 
وتكست ثاني الى رقم
وتكست ثالث مقدار الزيادة
المطلوب
عند كتابة رقم 1 مثلا في تكست من رقم
وكتابة رقم 5 مثلا في تكست الى رقم
وكتابة رقم 1 في تكست مقدار الزيادة
يظهر في الداتا جريد فيو في العمود الثالث الارقام متسلسلة 1  2  3  4   5
بحثت كثيرا في مواقع اجنبية ولم اجد الكود الذي يقوم بذلك
وجزاكم الله كل خير


RE: سؤال بخصوص الترقيم التلقائي اليدوي - محمدين - 13-04-26

(13-04-26, 01:56 AM)yosif كتب : السلام عليكم
لدي مثلا تكست بوكس من رقم 
وتكست ثاني الى رقم
وتكست ثالث مقدار الزيادة
المطلوب
عند كتابة رقم 1 مثلا في تكست من رقم
وكتابة رقم 5 مثلا في تكست الى رقم
وكتابة رقم 1 في تكست مقدار الزيادة
يظهر في الداتا جريد فيو في العمود الثالث الارقام متسلسلة 1  2  3  4   5
بحثت كثيرا في مواقع اجنبية ولم اجد الكود الذي يقوم بذلك
وجزاكم الله كل خير

تفضل من الذكاء الاصطناعي لجوجل
PHP كود :
Dim startValue As Integer Val(TextBox1.Text)
Dim endValue As Integer Val(TextBox2.Text)
Dim stepValue As Integer Val(TextBox3.Text)

Dim count As Integer = ((endValue startValue) \ stepValue) + 1

Dim sequence 
Enumerable.Range(0count).Select(Function(istartValue + (stepValue))
For 
0 To count 1
    
If Me.DataGridView1.Rows.Count Then
        Me
.DataGridView1.Rows(i).Cells(3).Value sequence(i)
    End If
Next 



RE: سؤال بخصوص الترقيم التلقائي اليدوي - yosif - 13-04-26

السلام عليكم
جربت الكود المرسل ولم يعمل
الرجاء مساعدتي في كود تقومون انتم بتجربته
بارك الله فيكم


RE: سؤال بخصوص الترقيم التلقائي اليدوي - Taha Okla - 14-04-26

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

المطلوب : 
أفتح نافذة جديدة وضع عليها :
- ثلاثة مربعات نص
- زر أمر
- داتا جريد فيو.
(ملاحظة : لا تغير شي، ولا تعيد تسمية المربعات ولا الزر ولا تعدل ع الداتاجريد)
أضغط على الزر مرتين(دبل كلك) وأنسخ الكود التالي تحته (نفس الكود السابق ولكن مع تعديل بسيط)..

كود :
        Dim startValue As Integer = Val(TextBox1.Text)
        Dim endValue As Integer = Val(TextBox2.Text)
        Dim stepValue As Integer = Val(TextBox3.Text)

        Dim count As Integer = ((endValue - startValue) \ stepValue) + 1

        Dim sequence = Enumerable.Range(0, count).Select(Function(i) startValue + (i * stepValue))

        Dim dt As New DataTable
        dt.Columns.Add("No.")
        DataGridView1.DataSource = dt
        For i = 0 To count - 1
            If i < Me.DataGridView1.Rows.Count Then
                dt.Rows.Add(sequence(i))
            End If
        Next

جرب البرنامج ..
اذا اشتغل معاك، روح عدل ع التسميات و الخصائص..
- - - 
يفضل تتعلم البرمجة من خلال قنوات اليوتيوب في البدية من القنوات التي تعرض سلسلة كاملة للتعليم  
مثل قناة حسونة أكاديمي (youtube.com/watch?v=ZxZEuUO_S9o&list=PLHIfW1KZRIfmLGhFsQ1G5cPv1xokzBsbT) 
أنسخ الرابط أعلاه وضعه في عنوان الصفحة لترى السلسلة كاملة ..

حسونة أكادمي


RE: سؤال بخصوص الترقيم التلقائي اليدوي - yosif - 15-04-26

(14-04-26, 12:41 AM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته

المطلوب : 
أفتح نافذة جديدة وضع عليها :
- ثلاثة مربعات نص
- زر أمر
- داتا جريد فيو.
(ملاحظة : لا تغير شي، ولا تعيد تسمية المربعات ولا الزر ولا تعدل ع الداتاجريد)
أضغط على الزر مرتين(دبل كلك) وأنسخ الكود التالي تحته (نفس الكود السابق ولكن مع تعديل بسيط)..

كود :
        Dim startValue As Integer = Val(TextBox1.Text)
        Dim endValue As Integer = Val(TextBox2.Text)
        Dim stepValue As Integer = Val(TextBox3.Text)

        Dim count As Integer = ((endValue - startValue) \ stepValue) + 1

        Dim sequence = Enumerable.Range(0, count).Select(Function(i) startValue + (i * stepValue))

        Dim dt As New DataTable
        dt.Columns.Add("No.")
        DataGridView1.DataSource = dt
        For i = 0 To count - 1
            If i < Me.DataGridView1.Rows.Count Then
                dt.Rows.Add(sequence(i))
            End If
        Next

جرب البرنامج ..
اذا اشتغل معاك، روح عدل ع التسميات و الخصائص..
- - - 
يفضل تتعلم البرمجة من خلال قنوات اليوتيوب في البدية من القنوات التي تعرض سلسلة كاملة للتعليم  
مثل قناة حسونة أكاديمي (youtube.com/watch?v=ZxZEuUO_S9o&list=PLHIfW1KZRIfmLGhFsQ1G5cPv1xokzBsbT) 
أنسخ الرابط أعلاه وضعه في عنوان الصفحة لترى السلسلة كاملة ..

حسونة أكادمي

تسلموا
بارك الله فيكم وجعله في ميزان حسناتكم


RE: سؤال بخصوص الترقيم التلقائي اليدوي - أبو خالد الشكري - 16-04-26

(13-04-26, 01:56 AM)yosif كتب : السلام عليكم
لدي مثلا تكست بوكس من رقم 
وتكست ثاني الى رقم
وتكست ثالث مقدار الزيادة
المطلوب
عند كتابة رقم 1 مثلا في تكست من رقم
وكتابة رقم 5 مثلا في تكست الى رقم
وكتابة رقم 1 في تكست مقدار الزيادة
يظهر في الداتا جريد فيو في العمود الثالث الارقام متسلسلة 1  2  3  4   5
بحثت كثيرا في مواقع اجنبية ولم اجد الكود الذي يقوم بذلك
وجزاكم الله كل خير

جرب التالي :
1- أضف الأدوات التالية إلى الفورم :
TextBox3 ،  TextBox2 ،  TextBox1
وقم بتسميتها كما يلي :
txtFrom ، txtTo ، txtIncrease


2- أضف DataGridView
وقم بتسميتها كما يلي :
dgvResult


3- اضف زر Button1
وقم بتسميته كما يلي :
btnGenerate


أخيرا الصق الكود التالي ، وشغل البرنامج  Heart

كود :
    Private Sub GenerateNumbers()

        Dim fromValue As Integer
        Dim toValue As Integer
        Dim increaseValue As Integer

        Dim dt As New DataTable
        dt.Columns.Add("الأرقام")

        ' ضبط الاتجاه
        If fromValue < toValue AndAlso increaseValue < 0 Then
            increaseValue = Math.Abs(increaseValue)
        ElseIf fromValue > toValue AndAlso increaseValue > 0 Then
            increaseValue = -increaseValue
        End If

        Dim i As Integer = fromValue

        While (increaseValue > 0 AndAlso i <= toValue) OrElse
          (increaseValue < 0 AndAlso i >= toValue)

            dt.Rows.Add(i)
            i += increaseValue
        End While

        dgvResult.DataSource = dt

    End Sub

    Private Sub btnGenerate_Click(sender As Object, e As EventArgs) Handles btnGenerate.Click

        GenerateNumbers()

    End Sub