تقييم الموضوع :
  • 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 ك ب / التحميلات : 3)
}}
#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
}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] مشكله في تنصيب فيجوال استوديو 2019 حسن الجلب 3 168 02-08-22, 03:44 PM
آخر رد: حسن الجلب
  [سؤال] تفعيل برنامج فيجوال استوديو حسن الجلب 5 281 30-07-22, 12:40 PM
آخر رد: حسن الجلب
  [سؤال] لينك تحميل برنامج فيجوال استوديو 2019 حسن الجلب 1 140 29-07-22, 08:59 PM
آخر رد: أبو خالد الشكري
  [سؤال] كود التحقق من لغه الادخال فيجوال بيسك حسن الجلب 3 234 22-07-22, 09:13 PM
آخر رد: حسن الجلب
  كيف نتجاوز خطا (الملف قيد الاستخدام - حاولت و لكن) سعود 5 247 16-07-22, 10:00 AM
آخر رد: سعود
  [VB.NET] رجاء اريد كود فيجوال بحث عن ملف في كمبيوتر داخل فورم jam3h 5 897 06-07-22, 12:02 AM
آخر رد: jam3h
  [VB.NET] أبحث عن شرح أو برنامج صغير للتعامل مع بصمة الأصبع بالفجوال بيسك abomo3ath 1 322 26-06-22, 03:24 AM
آخر رد: DR.YASER
  الطريق لعمل التقارير على فيجوال ستديو ٢٠٢٢ mostafa nada 4 651 18-06-22, 11:31 AM
آخر رد: رضوان الجماعي
Rainbow سيريال تفعيل فيجوال ستوديو 2017 DK-x 4 11,301 18-06-22, 11:27 AM
آخر رد: رضوان الجماعي
  نظام اماديوس بالفيجوال بيسك كيرلس رفعت 2 344 27-05-22, 09:24 PM
آخر رد: كيرلس رفعت

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


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