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

نسخة كاملة : تفسيم مجموعة من الطلاب
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
تفضل اخي
كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       dgv.Rows.Clear()
       dgv.Columns.Clear()
       If t1.Text = Nothing Or t2.Text = Nothing Then
           MsgBox("قم بادخال عدد الطلاب وعدد الفصول")
           Exit Sub
       End If
       If Val(t1.Text) < Val(t2.Text) Then
           MsgBox("يجب ان يكون عدد الطلاب اكبر من عدد الفصول")
           Exit Sub
       End If
       Dim baki As Integer = Val(t1.Text) Mod (Val(t2.Text))
       For i As Integer = 1 To Val(t2.Text)
           dgv.Columns.Add("col" & i, "الفصل" & i)
       Next
       Dim n As Integer = 1
       Dim a As Integer = Val(t1.Text) \ Val(t2.Text)
       dgv.Rows.Add(a)
       If a = Val(t1.Text) / Val(t2.Text) Then


           For i As Integer = 0 To dgv.Columns.Count - 1
               For ii As Integer = 0 To a - 1
                   dgv.Rows(ii).Cells(i).Value = n
                   n = n + 1
               Next
           Next
       Else
         

           For i As Integer = 0 To dgv.Columns.Count - 1
               If baki > 0 Then
                   For ii As Integer = 0 To a

                       dgv.Rows(ii).Cells(i).Value = n
                       n = n + 1
                   Next
                   baki -= 1
               End If
           Next
       End If

       'ايجاد اكبر رقم في الجدول
       Dim bignum As Integer = 0

       For i As Integer = 0 To dgv.Columns.Count - 1
           For ii As Integer = 0 To dgv.Rows.Count - 1
               If dgv.Rows(ii).Cells(i).Value > bignum Then
                   bignum = Val(dgv.Rows(ii).Cells(i).Value)
               End If

           Next
       Next

       'تحديد العمود الذي حتوي اكبر رقم
       Dim col As Integer
       For i As Integer = 0 To dgv.Columns.Count - 1
           For ii As Integer = 0 To dgv.Rows.Count - 1
               If dgv.Rows(ii).Cells(i).Value = bignum Then
                   col = dgv.Columns(i).Index
               End If
           Next
       Next

       For i As Integer = col + 1 To dgv.Columns.Count - 1
           For ii As Integer = 0 To a - 1
               If bignum < Val(t1.Text) Then
                   dgv.Rows(ii).Cells(i).Value = bignum + 1
                   bignum += 1
               End If

           Next
       Next


       For i As Integer = 0 To dgv.Columns.Count - 1
           For ii As Integer = 0 To dgv.Rows.Count - 1
               If dgv.Rows(ii).Cells(i).Value <> Nothing Then
                   dgv.Rows(ii).Cells(i).Value = "الطالب" & " " & dgv.Rows(ii).Cells(i).Value
               End If

           Next
       Next

   End Sub
رائع يا ابوانس
للامانة مناورات حلوة باستخدام الجمل التكرارية والشرطية حتى وصلت للنتيجة المطلوبة
شكرا  ابو  انس
علي تعبك
والجميع استفاد منك
لكن ما زال طلبي لم يحقق مكتمل
وهو عرضهم في داتا جريد او لستة تحت بعض عمود واحد

1
2
3
4
5
6

ثم
7
8
9
10
11
12

ثم

13
14
15
16
17
اخي العزيز انت لم تطلب ذلك من قبل حتى انه في مشاركتك الاولى كنت تريد ان يكون عدد الفصول ٣
ولا يتصور ان يكون عمود واحد فقط تخيل ٥٠٠ طالب نكتب اسماؤهم فقط في عمود ماذا سيكون شكل التقرير وكيف ستكون الطباعة
واذا كنت تعمل على مشروع لمنشأة تعليمية فهذا العمل بهذه الطريقة لا يجدي نفعا
يجب ان يكون هناك قاعدة بيانات يتم ادخال اسماء الطلاب في جدول واسماء الفصول في جدول اخر ويتم عمل ربط بين الجدولين...الخ
لك مني فائق احترامي ...
في مشاركة من يوم ٢ اكتوبر ١٠ وانا طالب هذا الطلب وايضا من البداية هو هدفي
الطلبة تكون لسته ومقسمين تحت
بعض برجاء المساعدة
يا اخ atefkhalf2004 من وجهة نظري المتواضعة قم بعمل رسم على برنامج وورد او اكسل تبين ما تريده بالضبط ثم ارفع لنا صورة
بصراحة هناك اختلاف بين طلبك في اول مشاركة ووطلبك في المشاركات التالية
(09-10-21, 05:00 PM)خالد20 كتب : [ -> ]يا اخ atefkhalf2004 من وجهة نظري المتواضعة قم بعمل رسم على برنامج وورد او اكسل تبين ما تريده بالضبط ثم ارفع لنا صورة
بصراحة هناك اختلاف بين طلبك في اول مشاركة ووطلبك في المشاركات التالية

منذ 2017 و أنا أشوف بنفس الموضوع و بنفس السؤال
(09-10-21, 01:45 AM)atefkhalf2004 كتب : [ -> ]عرضهم في داتا جريد او لستة تحت بعض عمود واحد

كيف تفصل بين المجموعات في الداجريد؟
لان الداجريد تعرض مجموعه وحده وليس فيها تقسيم او فاصل؟
فلو عرضتهم تحت بعض كيف تفرق بينهم؟

لكن مثل ما قال الاخ خالد
(09-10-21, 05:00 PM)خالد20 كتب : [ -> ]قم بعمل رسم على برنامج وورد او اكسل تبين ما تريده بالضبط ثم ارفع لنا صورة
السادة الافاضل
لو عندي عدد من الطلاب نريد تقسيمهم علي فصول
بيحث يعرضوا في داتا جريد تحت بعض بحيث يغرض طلاب الفصل الاول ثم اسفلهم الفصل الثاني ثم الثالث
ويكون النفص فيةالفصول ا لا خيرة بالتساوي
ضربت مثال لو العدد ١٧ والفصول ثلاثة
العدد في الفصل الا ول ٦ والثاني ستة والثالث خمسة
العرضةتحت بعض في الجريد
م الاسم الفصل
شكرا للاسف بحثت عليهمن قبل ولم اجده علي المنتدي
يجوز لم يفهم طلبي
لكن لم يتغير
يمكن مراجعة الموضوع بدقة من الاول
الصفحات : 1 2 3