تقييم الموضوع :
  • 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 ك ب / التحميلات : 332)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: أبو عمر , asemshahen5 , ابراهيم ايبو


الردود في هذا الموضوع
ضغط وفك الضغط (باستخدام حبوب خاصة) - بواسطة سعود - 03-10-15, 06:57 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مثال] البحث باستخدام ComboBox Kamil 0 290 20-04-25, 09:15 PM
آخر رد: Kamil
  البحث بين تاريخين في VB.NET باستخدام Stored procedure في SQL Server ggtt17121985 1 625 17-11-24, 01:44 AM
آخر رد: abdelmadjid
  [مشروع] تصميم احترافي لبرنامج شئون الموظفين باستخدام ديف اكسبريس + تحميل السورس كود mazentq 7 7,718 14-10-24, 05:21 PM
آخر رد: بوحمد
Video خطوة خطوة كيفية طباعة الفاتورة باستخدام Crystal report ggtt17121985 2 1,491 16-07-24, 01:33 PM
آخر رد: سامي عادل
  تعديل الالة الحاسبة الضغط علي ازرار لوحة المفاتيح atefkhalf2004 4 665 19-08-23, 11:16 AM
آخر رد: atefkhalf2004
  استخراج سيريال الوندوز باستخدام ملف VBS abuzarei 0 619 17-08-23, 09:25 PM
آخر رد: abuzarei
  [مشروع] مشروع شجرة الحسابات (دليل الحسابات) باستخدام VB.net أحمد النجار 20 24,112 08-10-22, 09:56 PM
آخر رد: asemshahen5
Photo [VB.NET] الرجاء من الاخوة( مساعدة ) برنامج ارشفة الكتروني باستخدام الماسح الضوئي braithbraith 0 1,449 19-09-22, 03:07 PM
آخر رد: braithbraith
  [مشروع] ضغط و فك الضغط بابسط طريقة (تحتاج تطوير) سعود 0 1,146 31-07-22, 03:43 AM
آخر رد: سعود
  [VB.NET] مشروع محرر نصوص باستخدام الفيجوال بيسك كامل ومتاح للتحميل نسخة فيجوال بيسك 2019 العابث الاخير 0 2,107 24-02-22, 03:23 PM
آخر رد: العابث الاخير

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


يقوم بقرائة الموضوع: