تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ماهي معادلة تقسيم شيء ما
#1
السلام عليكم ورحمةالله و بركاته
مثلا لدينا ListBox يحتوي عدد غير محدد (لاني اريد المعادلة فقط) و اقصد مرة 150 و مرة 230 وهكذا
لو حبيت تقسيمه بقيمة ايضا ليست ثابتة .
مثال آخر:
اريد كل 80 سطر اجعله قسم آخر اي احفظه المهم ماهي المعادلة ؟
وانا اتصفح بالجوال وجدت سؤال اجاب عليه الاخ Selverlight لكن لما دخلت المنتدى وظليت ابحث لم اجده.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: جيولوجي مبتدئ
#2
وعليكم السلام ورحمة الله وبركاته

هل تقصد مثلاً :
أنه لو لديك 141 عنصر أن تأخذ من الـ ListBox   : 
عناصر مثلاً 50 وتضعهم في ملف ثم 50 وتضعهم في ملف وتأخذ الباقي في ملف آخر ..
؟؟؟
؟؟
؟
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: asmarsou , سعود , essawq , جيولوجي مبتدئ
#3
(25-08-22, 08:34 AM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته

هل تقصد مثلاً :
أنه لو لديك 141 عنصر أن تأخذ من الـ ListBox   : 
عناصر مثلاً 50 وتضعهم في ملف ثم 50 وتضعهم في ملف وتأخذ الباقي في ملف آخر ..
؟؟؟
؟؟
؟

السلام عليكم و رحمة الله و بركاته
ربما هذا الموضوع يقي بالغرض او يقربها
https://stackoverflow.com/questions/3840...to-2-parts
الرد }}}
#4
(25-08-22, 08:34 AM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته

هل تقصد مثلاً :
أنه لو لديك 141 عنصر أن تأخذ من الـ ListBox   : 
عناصر مثلاً 50 وتضعهم في ملف ثم 50 وتضعهم في ملف وتأخذ الباقي في ملف آخر ..
؟؟؟
؟؟
؟

اي نعم هذا هو القصد وهذا اريده لكي اصحح مشروع الدمج والتقسيم لانه تنقصه الدقة من هذا الجانب.

(25-08-22, 08:43 AM)asmarsou كتب :
(25-08-22, 08:34 AM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته

هل تقصد مثلاً :
أنه لو لديك 141 عنصر أن تأخذ من الـ ListBox   : 
عناصر مثلاً 50 وتضعهم في ملف ثم 50 وتضعهم في ملف وتأخذ الباقي في ملف آخر ..
؟؟؟
؟؟
؟

السلام عليكم و رحمة الله و بركاته
ربما هذا الموضوع يقي بالغرض او يقربها
https://stackoverflow.com/questions/3840...to-2-parts

يمكن نفس الفكرة وباذن الله ساحاول فهم الموضوع من الرابط.
انا ذكرت الليست بوكس كمثال وانا اطبق مثال جديد عليه ان انا فهمت الفكرة فسانتقل باذن الله  الى مشروع تقسيم الملفات لكي اصحح هذه الجزئية فهي غير دقيقة بما يكفي.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: asmarsou , essawq , essawq , جيولوجي مبتدئ
#5
في البداية عليك معرفة عدة عناصر  :

عدد المجموعات  - أو قدد عناصر كل مجموعة :
إذا كنت تريد تقسيمه بحسب عدد المجموعات 

فيكون لديك عدة متغيرات 

(مجموع العناصر الكلي) تقسيم (عدد عناصر المجموعة الواحدة)  =  عدد المجموعات.
في التقسيم هنا نستخدم الاشارة (BackSlash)  لأنها تعطي نتيجة صحيحة بدون فواصل  يعني الاشارة (\).

بعد ذلك تحسب الباقي وذلك من خلال الدالة (Mod) ..
(مجموع العناصر الكلي) Mod (عدد عناصر المجموعة الواحدة)  =  باقي القسمة .
فهذه تعطيك الرقم الصحيح أيضاً والذي لا يقبل القسمة على الرقم المقسوم عليه ..

=========================================

وإذا كان لديك عدد عناصر المجموعة الواحدة معلوم استخدم الكود التالي : 
كود :
       ListBox2.Items.Clear()

       '  Val(TextBox2.Text)    هي عدد عناصر المجموعة الواحدة

       Dim N1 As Integer = ListBox1.Items.Count \ Val(TextBox2.Text)  ' عدد المجموعات
       Dim M1 As Integer = ListBox1.Items.Count Mod Val(TextBox2.Text)

       For i = 1 To N1
           ListBox2.Items.Add(TextBox2.Text)
       Next
       ListBox2.Items.Add(M1)



إذا كان لديك عدد المجموعات معلوم استخدم التالي  لمعرفة عدد عناصر كل مجموعة :
كود :
       ListBox2.Items.Clear()

       '  Val(TextBox2.Text)    هي عدد المجموعات

       Dim N1 As Integer = ListBox1.Items.Count \ Val(TextBox2.Text)  ' عدد عناصر المجموعة الواحدة
       Dim M1 As Integer = ListBox1.Items.Count Mod N1

       For i = 1 To Val(TextBox2.Text)
           ListBox2.Items.Add(N1)
       Next
       ListBox2.Items.Add(M1)


الباقي عليك و هو فرز المجموعات بحسب الحلقة والتي بات معلوم لديك قيمة عناصرها..
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
#6
باذن الله ساعيد القراءة للاكواد مرات عدة حتى اتمكن من تطبيق الفكرة.

شوف الكود اللي كتبته (اقصد انا) كتبته قبل كتابة الموضوع وواجهت اشكالية هي نفس اشكالية المشروع الخاص بالتقسيم والدمج وهو ان الملفات الصغيرة الحجم لا تنفع معها بسبب المشكلة بالكود:

PHP كود :
Imports System.IO
Public Class Form1
    Dim fpath 
As String IO.Path.GetDirectoryName(Application.ExecutablePath) & "\textfiles\"
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        For i As Integer = 0 To 100
            ListBox1.Items.Add(i.ToString("
000"))
        Next
        If IO.Directory.Exists(fpath) = False Then
            IO.Directory.CreateDirectory(fpath)
        End If
    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim maxint As Integer = 40
        Dim i As Integer
        Dim all As String = ""
        For i = 0 To ListBox1.Items.Count - 1
            ListBox1.SetSelected(i, True)
            Dim fn As String = fpath & i.ToString("
000") & ".txt"
            all &= ListBox1.Text & vbNewLine
            If i >= maxint Then
                If i Mod maxint = 0 Then
                    IO.File.WriteAllText(fn, all)
                    all = ""
                End If
            End If
            fn = Nothing
        Next
    End Sub
End Class 

هذا الكود نتيجته يحفظ الى 80 فقط .
ماهي الجزئية الخطأ.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: asmarsou , essawq , جيولوجي مبتدئ
#7
(25-08-22, 09:47 AM)سعود كتب : باذن الله ساعيد القراءة للاكواد مرات عدة حتى اتمكن من تطبيق الفكرة.

شوف الكود اللي كتبته (اقصد انا) كتبته قبل كتابة الموضوع وواجهت اشكالية هي نفس اشكالية المشروع الخاص بالتقسيم والدمج وهو ان الملفات الصغيرة الحجم لا تنفع معها بسبب المشكلة بالكود:

PHP كود :
Imports System.IO
Public Class Form1
    Dim fpath 
As String IO.Path.GetDirectoryName(Application.ExecutablePath) & "\textfiles\"
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        For i As Integer = 0 To 100
            ListBox1.Items.Add(i.ToString("
000"))
        Next
        If IO.Directory.Exists(fpath) = False Then
            IO.Directory.CreateDirectory(fpath)
        End If
    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim maxint As Integer = 40
        Dim i As Integer
        Dim all As String = ""
        For i = 0 To ListBox1.Items.Count - 1
            ListBox1.SetSelected(i, True)
            Dim fn As String = fpath & i.ToString("
000") & ".txt"
            all &= ListBox1.Text & vbNewLine
            If i >= maxint Then
                If i Mod maxint = 0 Then
                    IO.File.WriteAllText(fn, all)
                    all = ""
                End If
            End If
            fn = Nothing
        Next
    End Sub
End Class 

هذا الكود نتيجته يحفظ الى 80 فقط .
ماهي الجزئية الخطأ.
استاذ اذا كان قصدك كما فهمت هو تقسيم عناصر الليست اي ال 100 عنصر المنشأة عند الفورم لود الى قسمين متساويين اي كل قسم 50 عنصر فقط غير معرف ال maxint  في بداية كود البوتن من =40  الى عدد عناصر الليست الحقيقية ال 100 عنصر ليصبح الكود برمته على النحو
PHP كود :
Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
        Dim maxint 
As Integer = (ListBox1.Items.Count 1) / 2
        Dim i 
As Integer
        Dim all 
As String ""
 
       For i 0 To ListBox1.Items.Count 1
            ListBox1
.SetSelected(iTrue)
 
           Dim fn As String fpath i.ToString("000") & ".txt"
 
           all &= ListBox1.Text vbNewLine
            If i 
>= maxint Then
                If i Mod maxint 
0 Then
                    IO
.File.WriteAllText(fnall)
 
                   all ""
 
               End If
 
           End If
 
           fn Nothing
        Next
    End Sub 
الرد }}}
تم الشكر بواسطة: سعود , essawq , جيولوجي مبتدئ
#8
إقتباس :استاذ اذا كان قصدك كما فهمت هو تقسيم عناصر الليست اي ال 100 عنصر المنشأة عند الفورم لود الى قسمين متساويين اي كل قسم 50 عنصر فقط غير معرف ال maxint  في بداية كود البوتن من =40  الى عدد عناصر الليست الحقيقية ال 100 عنصر ليصبح الكود برمته على النحو
الـ maxint هذا متغير وهو يمثل حجم التقسيم  لو كانت بنود الليست بوكس كلها 100 اريد ان قسمناها على 40 و 40  يبقى 20 هذه الاخيرة كيف اقتنصها و اطبعها.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
#9
خذها من يد عربية :

كود :
       Dim maxint As Integer = 40
       Dim i As Integer
       Dim all As String = ""

       Dim j As Integer

       For i = 0 To ListBox1.Items.Count - 1
           ListBox1.SetSelected(i, True)

           Dim fn As String = fpath & i.ToString("000") & ".txt"

           all &= ListBox1.Text & vbNewLine

           If (i + 1) >= maxint Then
               If (i + 1) Mod maxint = 0 Then
                   IO.File.WriteAllText(fn, all)
                   all = ""
               ElseIf (i + 1) > (maxint * ((ListBox1.Items.Count - 1) \ maxint)) Then
                   For j = (maxint * ((ListBox1.Items.Count - 1) \ maxint)) + 1 To ListBox1.Items.Count - 1
                       i = j
                       ListBox1.SetSelected(i, True)
                       all &= ListBox1.Text & vbNewLine
                   Next

                   i = j + 1
                   IO.File.WriteAllText(fpath & j.ToString("000") & ".txt", all)
                   all = ""

                   ' i = j
               End If
           
           End If
           fn = Nothing
       Next

(مع أنه مو عاجبني طريقة الكود)  أظن هناك أفضل من هذه الطريقة وكود أبسط لتقسيم البيانات ولكن أبقيت على نفس الطريقة التي تعرفها..

بالتوفيق ..
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
#10
(25-08-22, 12:21 PM)Taha Okla كتب : خذها من يد عربية :

كود :
       Dim maxint As Integer = 40
       Dim i As Integer
       Dim all As String = ""

       Dim j As Integer

       For i = 0 To ListBox1.Items.Count - 1
           ListBox1.SetSelected(i, True)

           Dim fn As String = fpath & i.ToString("000") & ".txt"

           all &= ListBox1.Text & vbNewLine

           If (i + 1) >= maxint Then
               If (i + 1) Mod maxint = 0 Then
                   IO.File.WriteAllText(fn, all)
                   all = ""
               ElseIf (i + 1) > (maxint * ((ListBox1.Items.Count - 1) \ maxint)) Then
                   For j = (maxint * ((ListBox1.Items.Count - 1) \ maxint)) + 1 To ListBox1.Items.Count - 1
                       i = j
                       ListBox1.SetSelected(i, True)
                       all &= ListBox1.Text & vbNewLine
                   Next

                   i = j + 1
                   IO.File.WriteAllText(fpath & j.ToString("000") & ".txt", all)
                   all = ""

                   ' i = j
               End If
           
           End If
           fn = Nothing
       Next

(مع أنه مو عاجبني طريقة الكود)  أظن هناك أفضل من هذه الطريقة وكود أبسط لتقسيم البيانات ولكن أبقيت على نفس الطريقة التي تعرفها..

بالتوفيق ..
 احسنت
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تحويل معادلة اكسل أحمد فتح الرحمن 1 478 29-01-25, 11:09 PM
آخر رد: أحمد فتح الرحمن
  ماهي طريقة تحويل ملف pdf الى صورة جيولوجي مبتدئ 3 565 12-07-24, 09:22 PM
آخر رد: atefkhalf2004
  ماهي الطريقة الصحيحة والسريعة لجلب بيانات من قاعدة البيانات داخل Private Sub mohamedgadain61 22 1,390 08-06-24, 12:33 AM
آخر رد: mohamedgadain61
  تقسيم الفانورة الي اكثر من ورقة عبدالكريم برشدان 1 380 20-04-24, 02:22 AM
آخر رد: عبدالكريم برشدان
  ماهي طريقة نقل محتويات checkedlistbox الى داتاقريدفيو صالح عبدالله 3 554 06-01-24, 03:20 PM
آخر رد: Kamil
  إدخال معادلة رياضية في textBox وبرمجة حلها؟ الخير19 3 709 03-01-24, 04:19 PM
آخر رد: الخير19
  [VB.NET] ماهي الارقام الصحيحة من نوع Integer فطومة 1 621 03-06-23, 08:48 PM
آخر رد: Taha Okla
  [سؤال] ماهي اشهر مواقع لبيع نظام ERP في العالم ؟ ahmed_king2023 0 508 24-05-23, 10:10 PM
آخر رد: ahmed_king2023
  تقسيم الاسم الكامل الى اجزاء في الداتا جريد فيو yosif 4 907 13-04-23, 11:15 PM
آخر رد: yosif
  [VB.NET] ماهي overload LoveVb 4 2,713 06-03-23, 11:16 AM
آخر رد: زياد جلال محمد جلال

التنقل السريع :


يقوم بقرائة الموضوع: