تقييم الموضوع :
  • 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
}}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في ربط الفيجوال بيسك 2013 مع الاكسل صالح عبدالله 7 66 منذ 26 دقيقة مضت
آخر رد: صالح عبدالله
  تقسيم الفانورة الي اكثر من ورقة عبدالكريم برشدان 0 46 14-04-24, 12:00 AM
آخر رد: عبدالكريم برشدان
Big Grin [سؤال] مشروع الفيجوال بيسك ستوديو sad89891 4 1,750 10-04-24, 04:37 AM
آخر رد: emadahmed1995
Rainbow [VB.NET] خطا عند فتح الملف DK-x 2 1,357 03-04-24, 03:26 PM
آخر رد: تركي الحلواني
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 145 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  مشكلة عند نقل البرنامج من فيجوال 2013 الى فيجوال 2017 strongriseman 5 156 12-03-24, 10:37 AM
آخر رد: strongriseman
  الالوان في فيجوال بيسك atefkhalf2004 2 423 05-01-24, 04:38 PM
آخر رد: atefkhalf2004
  تحويل مشروع من c# الى فيجول بيسك Lathe1 4 726 05-01-24, 01:05 AM
آخر رد: HALIM ELEULMA
  [كود] اريد كود إرسال البيانات من الفيجوال بيسك إلىPDF issamsaidd 10 5,866 25-12-23, 06:30 PM
آخر رد: الحزين اليماني
  اضافة ادوات لفيجوال بيسك خالد20 10 1,988 18-12-23, 07:51 PM
آخر رد: ابراهيم عبدالباقى

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


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