تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
هل فيجوال بيسك يدعم تقسيم الملف؟
#1
مثال بسيط جدا جهزته في الرابط هذا

لا بد ان يكون حجم الملف كبير (على مااظن)
اخواني الكرام
هل فيجوال بيسك يمكنها تقسم ملف؟


احاول صيغة اجراء تقسيم ملف فما هو الخطا هنا:
PHP كود :
       Dim folderpath As String IO.Path.GetDirectoryName(fpath) & "\"
        Dim sf As String = IO.Path.GetFileNameWithoutExtension(fpath)
        Dim fstream As New FileStream(fpath, FileMode.Open)
        Dim fl As New IO.FileInfo(fpath)
        Dim fcount As Integer = fl.Length
        Dim f1 As Integer = (fcount / 3)
        Dim bw As BinaryWriter
        Dim br As BinaryReader
        br = New BinaryReader(fstream)

        Using fs As New FileStream(folderpath & sf & "
_0", FileMode.Append)
            bw = New BinaryWriter(fs)
            bw.Write(br.ReadBytes(fcount - 1), 0, f1)
        End Using
        Using fs As New FileStream(folderpath & sf & "
_1", FileMode.Append)
            bw = New BinaryWriter(fs)
            bw.Write(br.ReadBytes(fcount - 1), f1, f1)
        End Using
        Using fs As New FileStream(folderpath & sf & "
_2", FileMode.Append)
            bw = New BinaryWriter(fs)
            bw.Write(br.ReadBytes(fcount - 1), f1 + f1, f1)
        End Using 
}}}
#2
(04-08-22, 11:58 PM)سعود كتب :
اخواني الكرام
هل فيجوال بيسك يمكنها تقسم ملف؟


احاول صيغة اجراء تقسيم ملف فما هو الخطا هنا:
PHP كود :
       Dim folderpath As String IO.Path.GetDirectoryName(fpath) & "\"
        Dim sf As String = IO.Path.GetFileNameWithoutExtension(fpath)
        Dim fstream As New FileStream(fpath, FileMode.Open)
        Dim fl As New IO.FileInfo(fpath)
        Dim fcount As Integer = fl.Length
        Dim f1 As Integer = (fcount / 3)
        Dim bw As BinaryWriter
        Dim br As BinaryReader
        br = New BinaryReader(fstream)

        Using fs As New FileStream(folderpath & sf & "
_0", FileMode.Append)
            bw = New BinaryWriter(fs)
            bw.Write(br.ReadBytes(fcount - 1), 0, f1)
        End Using
        Using fs As New FileStream(folderpath & sf & "
_1", FileMode.Append)
            bw = New BinaryWriter(fs)
            bw.Write(br.ReadBytes(fcount - 1), f1, f1)
        End Using
        Using fs As New FileStream(folderpath & sf & "
_2", FileMode.Append)
            bw = New BinaryWriter(fs)
            bw.Write(br.ReadBytes(fcount - 1), f1 + f1, f1)
        End Using 
 اخي الفاضل
بالنسبة للسؤال هل فيجوال بيسك يمكنها تقسم ملف؟,  بحثت وو جدت مثال لذلك مرفق

(05-08-22, 01:34 AM)asmarsou كتب :
(04-08-22, 11:58 PM)سعود كتب :
اخواني الكرام
هل فيجوال بيسك يمكنها تقسم ملف؟


احاول صيغة اجراء تقسيم ملف فما هو الخطا هنا:
PHP كود :
       Dim folderpath As String IO.Path.GetDirectoryName(fpath) & "\"
        Dim sf As String = IO.Path.GetFileNameWithoutExtension(fpath)
        Dim fstream As New FileStream(fpath, FileMode.Open)
        Dim fl As New IO.FileInfo(fpath)
        Dim fcount As Integer = fl.Length
        Dim f1 As Integer = (fcount / 3)
        Dim bw As BinaryWriter
        Dim br As BinaryReader
        br = New BinaryReader(fstream)

        Using fs As New FileStream(folderpath & sf & "
_0", FileMode.Append)
            bw = New BinaryWriter(fs)
            bw.Write(br.ReadBytes(fcount - 1), 0, f1)
        End Using
        Using fs As New FileStream(folderpath & sf & "
_1", FileMode.Append)
            bw = New BinaryWriter(fs)
            bw.Write(br.ReadBytes(fcount - 1), f1, f1)
        End Using
        Using fs As New FileStream(folderpath & sf & "
_2", FileMode.Append)
            bw = New BinaryWriter(fs)
            bw.Write(br.ReadBytes(fcount - 1), f1 + f1, f1)
        End Using 
 اخي الفاضل
بالنسبة للسؤال هل فيجوال بيسك يمكنها تقسم ملف؟,  بحثت وو جدت مثال لذلك مرفق


الملفات المرفقة
.rar   WindowsApplication17.rar (الحجم : 86.65 ك ب / التحميلات : 7)
}}}
#3
شكر الله لك
جاري محاولة الترجمة...
}}}
تم الشكر بواسطة: جيولوجي مبتدئ , جيولوجي مبتدئ
#4
(05-08-22, 01:52 AM)سعود كتب : شكر الله لك
جاري محاولة الترجمة...

العفو استاذ
}}}
#5
جربت الفكرة على مجلد مضغوط ونجح كل من التقسيم و الدمج
بقيت نقطة وهي  الاجراء التالي وهو التقسيم لماذا لا يفعل الزر بعد الانتهاء؟
PHP كود :
Private Sub split(fl As String)
 
       btnsplit.Invoke(Sub() btnsplit.Enabled False)
 
       Dim fn As String IO.Path.GetFileName(fl)
 
       Dim fsr As New FileStream(flFileMode.Open)
 
       Dim fcount As Integer fsr.Length
        Dim br 
As New BinaryReader(fsr)
nxt:
 
       Dim newfile As String folder & fn & "_File_" n
        Dim fsw 
As New FileStream(newfileFileMode.Append)
 
       Dim bw As New BinaryWriter(fsw)
 
       Dim i As Integer
        For i 
lastindex To fcount 1
            lastindex 
i
            If th
.ThreadState Threading.ThreadState.AbortRequested Then Exit Sub
            prog1
.Invoke(Sub() prog1.Value = ((fcount) * 100))
 
           bw.Write(br.ReadBytes(i))
 
           If filelength(newfile) >= splitsize Then
                n 
+= 1
                lastindex 
+= 1
                GoTo nxt
            End 
If
 
       Next
        newfile 
Nothing
        fsr
.Close()
 
       fsw.Close()
 
       br.Close()
 
       bw.Close()
 
       btnsplit.Invoke(Sub() btnsplit.Enabled True)
 
   End Sub 


مع ان التقسيم انتهى!!!
ما المشكلة؟
بالنسبة للمشروع اللذي رفعه الاخ بارك الله فيه لم اتمكن من استيعابه لانه متقدم جدا و لم اجربهSad. لكني اطلعت عليه اكثر من مرة ولانه غير انجليزي لم اتمكن من فهم المسميات.
}}}
#6
و لله الحمد اتممت فكرة التقسيم واعادة التجميع وذلك بوضع حد اقصى لكل الملفات المستخرجة.
يفضل استخدام ملفات بحجم كبير  و تجعل التقسيم او الحجم بالميجا وليس اقل ولا يحتوي كسر.
باذن الله اذا اكملت المثال ارفعه.


هذا سؤال بالاساسيات:
اللي اعرفه ان جملة on error  تتخطى الخطأ فماذا حصل؟
حاجة غريبة هل لان الاجراء ضمن ثريد مستقل؟


ممكن شرح ما المقصود برسالة الخطأ
}}}
#7
المشكلة في مشروعي هذا فقط مع الملفات الصغيرة يعني من 20 ميجا واقل.
باذن الله سارفع المثال لعل احدكم يفتح الله عليه لحل المشكلة.
}}}
#8
الشريط الاول اللي هو الــProgressBar  قيمته تتغير وفق حجم الملف اللذي يتم توليده و آخر ملف سيبدو و كانه ناقص  و هذا طبيعة المثال البسيط.
}}}
#9
}}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 80 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  مشكلة عند نقل البرنامج من فيجوال 2013 الى فيجوال 2017 strongriseman 5 148 12-03-24, 10:37 AM
آخر رد: strongriseman
  الالوان في فيجوال بيسك atefkhalf2004 2 418 05-01-24, 04:38 PM
آخر رد: atefkhalf2004
  تحويل مشروع من c# الى فيجول بيسك Lathe1 4 718 05-01-24, 01:05 AM
آخر رد: HALIM ELEULMA
  [كود] اريد كود إرسال البيانات من الفيجوال بيسك إلىPDF issamsaidd 10 5,829 25-12-23, 06:30 PM
آخر رد: الحزين اليماني
  اضافة ادوات لفيجوال بيسك خالد20 10 1,976 18-12-23, 07:51 PM
آخر رد: ابراهيم عبدالباقى
  كيفية جعل من كتاب فيه هوامش ونص (قاعدة بيانات وواجهة فيجوال مثل الشاملة) ابو امجد 1 1,605 10-12-23, 12:53 PM
آخر رد: محمد بن عطية
Photo مشكلة مفاجئة كريستال مع فيجوال 2015 atefkhalf2004 2 367 04-11-23, 12:04 PM
آخر رد: atefkhalf2004
  فيجوال بيسك 2012 manhoud 0 264 25-10-23, 11:00 PM
آخر رد: manhoud
Photo [سؤال] كيف أقوم بإجبار التطبيق (الفورم) على حفظ الملف المستعاد من قاعدة البيانات SQL server salam82 3 455 20-09-23, 01:42 PM
آخر رد: salam82

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم