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

نسخة كاملة : حفظ الى اكثر من ملف
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم
لدى textbox او listbox (ايهما اسهل)
وبه عدد من السطور او items يصل الى 10,000 سطر او item
كالاتى:
محمد
احمد
على
عبد الله
عبد الحميد
الخ....

سؤالى الذى حيرنى فى البحث داخل جميع المواقع

كيف احفظ كل 250 سطر او item
فى ملف نصى
مثلا اذا كان عدد السطور الاجمالى = 3961
اريد كل 250 سطر يحفظ فى ملف نصى
3961/ 250 =(15 ملف نصى)
سيتبقى 211 سطر (يحفظ فى الملف 16)
ارجو ان اجد اجابتى عندكم
شكرا مقدما
اذا كان السؤال غير واضح ارجو تنبيهى
فالمساله جد ضروريه
السلام عليكم ورحمة الله وبركاته

تفضل أخي الكريم

كود :
For I = 0 To ListBox1.Items.Count - 1 Step 250
            Dim FileNumber As Integer = I \ 250 + 1
            FileOpen(1, "File" & FileNumber & ".txt", OpenMode.Output)
            Dim X As Integer = IIf(I + 250 < ListBox1.Items.Count, 249, ListBox1.Items.Count - I - 1)
            For H = I To I + X
                Print(1, ListBox1.Items(H) & IIf(H = I + X, "", vbNewLine))
            Next
            FileClose(1)
        Next

بالتوفيق
تم التقيم
شاكر افضالك اخى على هذا الكود الرائع
بالفعل يحفظ حسب ما اريد بالضبط
ممتاززززز

ولكنى اطمع فى كرم اخلاقك
انا لا اريده ان يحفظ فى مجلد المشروع, كيف اجعله يحفظ فى المكان الذى يريده المستخدم (open file dialog او save file dialog)
كيف سيكون شكل الكود؟
السلام عليكم ورحمة الله وبركاته

أخي الكريم
الأفضل في هذه الحالة أن تستخدم أداة FolderBrowserDialog
حيث أن الملفات أنت من ستسميها

وهذا الكود بعد التعديل

كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If FolderBrowserDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            For I = 0 To ListBox1.Items.Count - 1 Step 250
                Dim FileNumber As Integer = I \ 250 + 1
                FileOpen(1, FolderBrowserDialog1.SelectedPath & "\File" & FileNumber & ".txt", OpenMode.Output)
                Dim X As Integer = IIf(I + 250 < ListBox1.Items.Count, 249, ListBox1.Items.Count - I - 1)
                For H = I To I + X
                    Print(1, ListBox1.Items(H) & IIf(H = I + X, "", vbNewLine))
                Next
                FileClose(1)
            Next
        End If
    End Sub



بالتوفيق
هذا بالضبط ما اريد اخى الكريم
ممتازززززززززز
بارك الله فيك وجعله فى موازين حسناتك ان شاء الله