تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مشروع] ضغط وفك الضغط (باستخدام حبوب خاصة)
#1
Big Grin 
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
أشكر الاخ "أباعمر" على المثال (ردا على استفسار احد الاخوة)
فأحببت تجربة الملف "Ionic.Zip.dll" بمشروع مستقل .. وها هو مرفق.
ملاحظة لا جديد أبدا وانما حب مشاركة.
تنبيه(تختلف نتيجة الاستخراج او توليد ملف من حيث المكان Path فاذكر بطريقة الكود التي استخدمتها يكون المكان في المحرك الرئيسي للنظام اما الان يكون بجوار الملف التنفيذي) هذا اذا لم اخطيء



وهذا كلاس الفورم
PHP كود :
Imports System.ComponentModel
Imports System
.IO
Imports Ionic
.Zip
Public Class Form1
    Dim lst 
As New List(Of String)
 
   Dim ofd As OpenFileDialog
    Dim sfd 
As SaveFileDialog
    Private Sub p
(ByVal i As Integer)
 
       If ProgressBar1.InvokeRequired Then
            ProgressBar1
.Invoke(New Action(Of Integer)(AddressOf p), i)
 
       Else
            ProgressBar1
.Value i
        End 
If
 
   End Sub

    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        lst
.Clear()
 
       ofd = New OpenFileDialog
        ofd
.Multiselect True
        If ofd
.ShowDialog DialogResult.OK Then
            lst
.AddRange(ofd.FileNames)
 
       End If
 
       If lst.Count 0 Then
            Button1
.Enabled False
            Button2
.Enabled False

            ProgressBar1
.Maximum lst.Count 1
            If b1
.IsBusy False Then b1.RunWorkerAsync()
 
       End If
 
   End Sub
    Dim zip 
As ZipFile
    Private Sub b1_DoWork
(sender As ObjectAs System.ComponentModel.DoWorkEventArgsHandles b1.DoWork
        zip 
= New ZipFile
        For a 
0 To lst.Count 1
            b1
.ReportProgress(a)
 
           zip.AddFile(lst(a), "")
 
       Next
    End Sub

    Private Sub b1_ProgressChanged
(sender As ObjectAs ProgressChangedEventArgsHandles b1.ProgressChanged
        p
(e.ProgressPercentage)
 
   End Sub

    Private Sub b1_RunWorkerCompleted
(sender As ObjectAs RunWorkerCompletedEventArgsHandles b1.RunWorkerCompleted
        If zip
.Count 0 Then
            zip
.Save(IO.Path.GetFileNameWithoutExtension(lst(lst.Count 1)) & ".zip")
 
       End If
 
       Button1.Enabled True
        Button2
.Enabled True

    End Sub
    Dim zipfilename 
As String ""

 
   Private Sub smax(ByVal i As Integer)
 
       If ProgressBar1.InvokeRequired Then
            ProgressBar1
.Invoke(New Action(Of Integer)(AddressOf smax), i)
 
       Else
            ProgressBar1
.Maximum i
        End 
If
 
   End Sub
    Private Sub Button2_Click
(sender As ObjectAs EventArgsHandles Button2.Click
        ofd 
= New OpenFileDialog
        ofd
.Filter "Zip Files(*.zip)|*.zip"
 
       If ofd.ShowDialog DialogResult.OK Then
            zipfilename 
ofd.FileName
            Button2
.Enabled False
            Button1
.Enabled False

            If b2
.IsBusy False Then b2.RunWorkerAsync()
 
       End If
 
   End Sub
    Dim zip2 
As ZipFile



    Private Sub b2_DoWork
(sender As ObjectAs DoWorkEventArgsHandles b2.DoWork

        zip2 
ZipFile.Read(zipfilename)

 
       smax((zip2.Count) - 1)
 
       Dim m As Integer 0
        For Each en 
As ZipEntry In zip2
            b2
.ReportProgress(m)
 
           en.Extract()
 
           m += 1
        Next


    End Sub

    Private Sub b2_RunWorkerCompleted
(sender As ObjectAs RunWorkerCompletedEventArgsHandles b2.RunWorkerCompleted


        Button2
.Enabled True
        Button1
.Enabled True

    End Sub

    Private Sub b2_ProgressChanged
(sender As ObjectAs ProgressChangedEventArgsHandles b2.ProgressChanged
        p
(e.ProgressPercentage)
 
   End Sub
End 
Class 


الملفات المرفقة
.zip   For_adel27.zip (الحجم : 164.28 ك ب / التحميلات : 322)
الرد }}}
تم الشكر بواسطة: أبو عمر , asemshahen5 , ابراهيم ايبو
#2
الله يجزاك بالخير
انما خلني انقل الشكر الى صاحب الاستفسار نفسه
لاني اعتبره هو صاحب الفكرة وهو صاحب المشروع
adel27
ودائما مبدع في اطروحاتك
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد }}}
تم الشكر بواسطة: سعود , asemshahen5
#3
الشكر لله ياغاليين
الرد }}}
تم الشكر بواسطة: asemshahen5
#4
بارك الله فيك أخي متميز
الرد }}}
تم الشكر بواسطة: asemshahen5
#5
بالبدايه شكراً لك اختصرت علي وقت في كتابة الاكواد و لي ملاحظه بسيطه ،،  وهو عدم احتفاظ الملفات  بترميزها  ،،  فمثلاً  لو تم ضغط  ملف اسمه يحوي حروف عربيه سيظهر بهذا الشكل  ؟؟؟؟؟؟؟؟؟ بداخل الملف المضغوط  ،،  وقد عملت مع هذه المكتبه سابقاً على مشروع  ب ASP.Net   و حللتها بسطور بسيطه  و هي :

PHP كود :
        zip.UseUnicodeAsNecessary True
        zip
.AlternateEncodingUsage ZipOption.Always
        zip
.AlternateEncoding System.Text.Encoding.UTF8 

اضفها في الـ Method 

PHP كود :
    Private Sub b1_DoWork(sender As ObjectAs System.ComponentModel.DoWorkEventArgsHandles b1.DoWork
        zip 
= New ZipFile
        zip
.UseUnicodeAsNecessary True
        zip
.AlternateEncodingUsage ZipOption.Always
        zip
.AlternateEncoding System.Text.Encoding.UTF8
        
For 0 To lst.Count 1
            b1
.ReportProgress(a)
            zip.AddFile(lst(a), "")
        Next
    End Sub 



و بهذا تنحل مشكلة الترميز  للحروف العربيه  ،، بالتوفيق للجميع
اسم معرفي : محمد يحيى
الرد }}}
تم الشكر بواسطة: سعود , asemshahen5 , asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تعديل الالة الحاسبة الضغط علي ازرار لوحة المفاتيح atefkhalf2004 4 412 19-08-23, 11:16 AM
آخر رد: atefkhalf2004
  استخراج سيريال الوندوز باستخدام ملف VBS abuzarei 0 329 17-08-23, 09:25 PM
آخر رد: abuzarei
Video خطوة خطوة كيفية طباعة الفاتورة باستخدام Crystal report ggtt17121985 0 552 08-06-23, 01:25 AM
آخر رد: ggtt17121985
  [مشروع] مشروع شجرة الحسابات (دليل الحسابات) باستخدام VB.net أحمد النجار 21 22,341 08-10-22, 09:56 PM
آخر رد: asemshahen5
Photo [VB.NET] الرجاء من الاخوة( مساعدة ) برنامج ارشفة الكتروني باستخدام الماسح الضوئي braithbraith 0 1,025 19-09-22, 03:07 PM
آخر رد: braithbraith
  [مشروع] ضغط و فك الضغط بابسط طريقة (تحتاج تطوير) سعود 0 868 31-07-22, 03:43 AM
آخر رد: سعود
  [VB.NET] مشروع محرر نصوص باستخدام الفيجوال بيسك كامل ومتاح للتحميل نسخة فيجوال بيسك 2019 العابث الاخير 0 1,549 24-02-22, 03:23 PM
آخر رد: العابث الاخير
Photo البحث بأي جزء في الكلمة باستخدام الحدث TextChanged لأداة Textbox في Datagridview ggtt17121985 5 2,979 14-12-21, 10:47 AM
آخر رد: E100
Photo [مشروع] Custom Label او بالاحرى نص او تسمية خاصة (ليبل) asmarsou 0 887 25-07-21, 07:50 PM
آخر رد: asmarsou
  تشفير الصور باستخدام RSA هيوا 0 1,066 23-04-21, 02:49 PM
آخر رد: هيوا

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


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