رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

  • مرجع پاسخگویی
  • تولید آموزش
  • سفارش پروژه

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


پست های پیشنهاد شده

محمدرضا شاهپیری    3,620

معاون انجمن

*** نسخه 2 اضافه شد***

تغییرات نسخه 2:

رفع ارور اکسترکت نکردن فایلهای زیپ معمولی.

مثال از اکسترکت کردن فایلهای زیپ معمولی

   Dim przip As PersianZipManager
	Private zipparams As ZipParametr
    zipparams.initialize
    przip.initialize("przip")
	przip.withFileName(File.DirRootExternal&"/myzip.zip").withRunInThread(True)
	przip.extractAll(File.DirRootExternal&"/myfolder",zipparams.ZipParameters)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub przip_onERROR(error As String)
	Log(error)
End Sub
Sub przip_onProgressing(percent As Int)
	ProgressBar1.Progress=percent
	Log(percent)
End Sub
Sub przip_onSUCCESS
	ToastMessageShow("operation succes",False)
	Log("operation succes")
End Sub

پشتیبانی از فایلهای مهم و کاربردی xz

حذف متد startmonitoring و اضافه کردن این متد به صورت اتوماتیک توسط کتابخانه.

مثال از اکسترکت کردن فایلهای xz

 Dim przip As PersianZipManager
 przip.initialize("przip")
 ProgressDialogShow("extracting xz file")
 przip.extractXZ(File.DirRootExternal&"/myfile.xz",File.DirRootExternal&"/folder/myfile.zip")
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub przip_onSUCCESS
	ToastMessageShow("operation succes",False)
    ProgressDialogHide
End Sub

به نام خدا و سلام خدمت دوستان

با یک کتابخونه قدرتمند دیگه از کتابخونه های Persian در خدمتتون هستیم:gamer2:

لینک آموزش تصویری کار با کتابخانه

 

لینک فروشگاه کتابخانه

همونجور که میدونید برای کار با فایلهای زیپ کتابخونهایی هست که یه سری کارهای مقدماتی رو میشه باهاش انجام داد.

ولی کارهای زیادی هست که نمیشه با این کتابخونه ها انجام داد.

کتابخونه‌ی حاظر واقعا یکی از کتابخونه های قدرتمند توی این زمینه هست. و تقریبا همه ی کارهای حرفه ای رو میتونید باهاش انجام بدید.

ویژگی های کتابخونه.

 

1- ساخت فایل زیپ با انواع پارامترهای زیر شامل.

1 متدهای فشرده سازی: COMP_DEFLATE  , COMP_AES_ENC  , COMP_STORE

2 متدهای کاهش حجم: DEFLATE_LEVEL_FASTEST , DEFLATE_LEVEL_NORMAL ,  DEFLATE_LEVEL_MAXIMUM , DEFLATE_LEVEL_FAST  , DEFLATE_LEVEL_ULTRA

3 متدهای رمزگذاری: ENC_METHOD_AES , ENC_METHOD_STANDARD , AES_STRENGTH_128 , AES_STRENGTH_256 , AES_STRENGTH_192 

 

2- اضافه کردن فایل و فولدر  به یک فایل زیپ (با پسورد یا بدون پسورد) همراه با روند اجرای عملیات

3- حذف کردن فایل و فولدر از یک فایل زیپ (با یا بدون پسورد) همراه با روند اجرای عملیات

4- نمایش محتویات دقیق یک فایل زیپ شامل نام فایل ، اندازه فشرده شده ، اندازه بعد از اکسترکت شدن، آخرین زمان تغییرات و ....

5- اکسترکت فایلهای زیپ ( با یا بدون پسورد) همراه با روند اجرای عملیات

6- نمایش خطای رخ داده ی احتمالی در حین عملیات

 

امیدوارم که مورد استفاده دوستان قرار بگیره.

  • پسندیدن 5
  • تشکر 2
  • ذوق زده 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
fun_code    142

کاربر رو به رشد

سلام

ممنون بابت کتابخانه های خوبی که میسازید...

کاراییش که به نظر خوب میاد.

من از کتابخانه ariazip استفاده میکنم... تا مدتی قبل سرعتش خوب بود... اما نمیدونم چی شده که اخیرا فایل زیپ با حجم 700 کیلوبایت رو در دستگاه های با اندروید 5 و پایینتر به کندی اکسترکت میکنه... مثلا حدود 5 الی 7 ثانیه !

کتابخانه شما اینطور نیست ؟ (البته میدونم به تعداد فایل های درون فایل زیپ بستگی داره)

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
محمدرضا شاهپیری    3,620

معاون انجمن

سرعت اکسترکت بستگی به چندتا عامل داره. یکی نوع متد اینکریپت و رمزگزاری هست. هر چی اینکریپت قویتر باشه اکسترکت هم طولانی تر میشه.

عامل دیگه تعداد فایلها و حجمشون هست که بازم مهمه و دیگری هم قدرت پردازنده ی دیوایسی که روش دارین تست میکنین.

واسه چیزی که فرمودین یه فایل 700 کیلوبایتی حالا هر چقدم اینکریپت شده باشه نهایتا یکی دو ثانیه باید طول بکشه. من الان یه فایل 5 مگابایتی با اینکریپت AES_STRENGTH_256 که قویترین نوعش هست توی 2 ثانیه اکسترکت کردم. اندروید هم 4.2.2 هستش. بعید میدونم به اون صورت موردی باشه.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
محمدرضا شاهپیری    3,620

معاون انجمن

خیر عزیز این کتابخونه فعلا با فایلهای زیپ کار میکنه. 

انشالا سعی میکنم همه ی فرمتها رو اضافه کنم. البته برای فرمتهای دیگه این امکانات رو که الان فرمت زیپ داره نمیشه گذاشت قطعا. چون کار وقت گیر و دشواریه قطعا.

ولی حتما ساختن و اکسترکت کردن بقیه فرمتها رو بهش اضافه میکنم که فکر کنم کافی هم باشه.

  • تشکر 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
مجید آرتا    5,726

مدیر کل سایت

سلام

خسته نباشی استاد شاهپیری عزیز :give_rose:

یکی از مدیران بی وقفه از کار و پشتکار مضاعف :give_heart:

خدا قوت :give_rose:

  • پسندیدن 1
  • ذوق زده 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
rasool.g    91

کاربر رو به رشد

یک سوال دیگه هم داشتم جناب شاهپیری.

ایا این کتابخونه میزان پیشرفت فایل برای استخراج یک فایل، از فایل zip رو هم میتونه نشون بده؟

یعنی درصد و حجم استخراج شده نسبت به حجم کل

مثل بیشتر برنامه های پیشرفرضی که روی خود گوشی ها هست.

و همچنین می خواستم بدونم این کتابخونه از ترد اصلی استفاده میکنه یا برای هر کاری ترد جداگونه درست میکنه؟

ممنون

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
rasool.g    91

کاربر رو به رشد

در 9 ساعت قبل، محمدرضا شاهپیری گفته است :

خیر عزیز این کتابخونه فعلا با فایلهای زیپ کار میکنه. 

انشالا سعی میکنم همه ی فرمتها رو اضافه کنم. البته برای فرمتهای دیگه این امکانات رو که الان فرمت زیپ داره نمیشه گذاشت قطعا. چون کار وقت گیر و دشواریه قطعا.

ولی حتما ساختن و اکسترکت کردن بقیه فرمتها رو بهش اضافه میکنم که فکر کنم کافی هم باشه.

بله. اتفاقا چیزی هم که من فقط نیاز دارم و بقیه هم ممکنه لازمشون بشه فقط اکسترکت کردن (و شاید ساختن) فرمت xz یا فرمت های دیگه هستش . حجم فایل فشرده تو این فرمت باسه پایگاه های داده ای که من فشرده کردم تقریبا نصف فایل زیپ بود که برای فایل هایی که باید دانلود بشن واقعا تفاوت زیادی رو ایجاد میکنه در حالی که سرعت استخراج هم تقریبا یکی بود.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
محمدرضا شاهپیری    3,620

معاون انجمن

در 6 دقیقه قبل، مجید آرتا گفته است :

سلام

خسته نباشی استاد شاهپیری عزیز :give_rose:

یکی از مدیران بی وقفه از کار و پشتکار مضاعف :give_heart:

خدا قوت :give_rose:

نوکرم دادا انجام وظیفه اس:give_rose:♥

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
محمدرضا شاهپیری    3,620

معاون انجمن

در هم اکنون، rasool.g گفته است :

یک سوال دیگه هم داشتم جناب شاهپیری.

ایا این کتابخونه میزان پیشرفت فایل برای استخراج یک فایل، از فایل zip رو هم میتونه نشون بده؟ برای هر کاری مانیتورینگ دقیق هست. حذف اضافه کردن اکسترکت و ...

یعنی درصد و حجم استخراج شده نسبت به حجم کل بله عزیز شما میتونید اطلاعات دقیق هر فایلی که توی فایل زیپ هست رو به دست بیارید. مهمترین اونا حجم هر فایل در حالت فشرده و حجم بعداز فشرده سازی رو به صورت دقیق بهتون میده. 

مثل بیشتر برنامه های پیشرفرضی که روی خود گوشی ها هست.

و همچنین می خواستم بدونم این کتابخونه از ترد اصلی استفاده میکنه یا برای هر کاری ترد جداگونه درست میکنه؟ بله عزیز با دستور withinthread عملیات به ترد جداگونه ای منتقل میشه

ممنون

 

در هم اکنون، rasool.g گفته است :

بله. اتفاقا چیزی هم که من فقط نیاز دارم و بقیه هم ممکنه لازمشون بشه فقط اکسترکت کردن (و شاید ساختن) فرمت xz یا فرمت های دیگه هستش . حجم فایل فشرده تو این فرمت باسه پایگاه های داده ای که من فشرده کردم تقریبا نصف فایل زیپ بود که برای فایل هایی که باید دانلود بشن واقعا تفاوت زیادی رو ایجاد میکنه در حالی که سرعت استخراج هم تقریبا یکی بود.

انشالا که فرمتهای مهم رو اضافه میکنم.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
rasool.g    91

کاربر رو به رشد

نقل قول

بله عزیز شما میتونید اطلاعات دقیق هر فایلی که توی فایل زیپ هست رو به دست بیارید. مهمترین اونا حجم هر فایل در حالت فشرده و حجم بعداز فشرده سازی رو به صورت دقیق بهتون میده. 

حجم استخراج شده چی؟

یعنی یه همچین چیزی رو میشه باهاش ساخت :

اگه دقت کنید اینجا فقط یه فایل، داخل زیپ قرارداده داده شده و بعدش استخراج شده

ولی میزان پیشرفت اون حین استخراج نمایش داده شده

(ES file manager) یا خیلی از برنامه های دیگه معمولا چنین قابلیتی رو دارند.

p789.png

p786.png

لطفا گزینه کنسل کردن هم اگه نداره بهش اضافه کنید. اگه استخراج خیلی طول بکشه ممکنه این گزینه لازم بشه و کاربر بخواد بعدا استخراج امتحان کنه.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
محمدرضا شاهپیری    3,620

معاون انجمن

عزیز چه یه فایل باشه چه صدتا فرقی نمیکنه. میزان پیشرفت بر اساس تعداد فایل نیست که بر اساس بایت هست. و برای همه ی کارها این هست. شما واسه حذف و اضافه و اکسترکت این نمایش روند رو دارین. گزینه کنسل هم بهش اضافه میشه. البته الان هم متد کنسلش هست.

  • پسندیدن 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
rasool.g    91

کاربر رو به رشد

در 1 ساعت قبل، محمدرضا شاهپیری گفته است :

عزیز چه یه فایل باشه چه صدتا فرقی نمیکنه. میزان پیشرفت بر اساس تعداد فایل نیست که بر اساس بایت هست. و برای همه ی کارها این هست. شما واسه حذف و اضافه و اکسترکت این نمایش روند رو دارین. گزینه کنسل هم بهش اضافه میشه. البته الان هم متد کنسلش هست.

ممنون. اخه تو کتابخانه archiver فقط تعداد فایل های استخراج شده نسبت به کل فایل هارو میشد مانیتور کرد. گفتم ببینم اینم اینجوریه یا فرق داره.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
rasool.g    91

کاربر رو به رشد

جناب شاهپیری من سورس نمونه رو بدون مشکل اجرا کردم، یعنی استخراج و ساخت فایل زیپ رمزنگاری شده با همون پارامتر ها.

ولی وقتی سعی میکنم فایل های زیپ معمولی (بدون رمزنگاری و فشرده شده با متد ِdeflate) رو باز کنم. نمیتونم.

برای مثال فایل های zip ساخته شده یا winrar و یا نرم افزار های مدیریت فایل خود گوشی. متد فشرده سازی فایل ها رو هم چک کردم. همون deflate هستش.

پارامتر هاش رو هم تغییر میدم. ولی جواب نمیده.

لطفا یک مثال هم بزارید برای فشرده سازی و استخراج فایل زیپ ساده بدون رمزنگاری که پارامتر هاش رو ببینم چجوری باید تنظیم کنم.

بیزحمت فایل های زیپ ساده که با نرم افزار های دیگه هم ساخته میشه رو یه تست کنید ببینید اونارو هم میتونه باز کنه. ممنون

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
محمدرضا شاهپیری    3,620

معاون انجمن

یه اشتباه کوچیک توی متد اکسترکت شده بود که فقط فایلهای اینکریپت رو اکسترکت میکرد. نسخه جدید رو دریافت کنید این ارور برطرف شده. همچنین اکسترکت کردن فایلهای xz هم اضافه شده.

  • ذوق زده 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
rasool.g    91

کاربر رو به رشد

سلام جناب شاهپیری. ورزن جدید خیلی خوب شده.

Start Monitoring واقعا اضافه بود.

ولی ظاهرا مانیتورینگ تو نسخه های قدیمی تر مثل اندروید 4.2.2 مشکل داره.

تو اندروید 7 یا گوشی های جدید تر بعد از 100% شدن، سریعا پیغام موفقیت و اتمام کار نمایش داده میشه.

ولی تو اندروید 4.2.2 پیغام موفقیت یا کامل شدن پروسه با اختلاف زمانی خیلی زیاد نمایش داده میشه. یعنی مثلا 0 تا 100 پروسه مثلا 4 ثانیه طول میکشه ولی 9-10 ثانیه بعد از 100% شدن، پروسه تموم میشه و پیغام موفقیت و اتمام کار نمایش داده میشه . دیروز فکر کردم شاید مربوط به رمزنگاری باشه ولی فایل های بدون رمزنگاری هم همینجوریه.

عملیات استخراج رو با نرم افزار های دیگه تست کردم چنین مشکلی نداشتند و به محض 100% شدن کار تموم میشد.

-----------

البته از متد استخراج xz هم نتونستم استفاده کنم. ( فشرده سازی با متد LZMA2 نرم افزار 7-zip)

ادرس هارو هم به همون شکل فایل zip دادم.

zipDir = File.DirRootExternal & "/RRRR/file.xz"
desDir = File.DirRootExternal & "/RRRR/fileFolder"
prziprr.extractXZ(zipDir,desDir)

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
محمدرضا شاهپیری    3,620

معاون انجمن

عزیز موردی نداره رو اندروید 4.2.2. من با جنی موشن نسخه اندروید 4.2.2 هم فایل اینکریپت و هم معمولی رو اکسترکت کردم. و بعد از 100 شدن متد موفقیت آمیز بودن اجرا میشه. حالا نمیدونم شما رو چی تست کردین که این مورد بوده.

در مورد فایلهای xz هم ظاهرا اصلا توجهی به مثالی که زدم تو پست اول نکردین:2:

شما فایل xz که ساختین دیگه. حتما میدونید که نمیشه فولدر اضافه کرد بهش. پس حتما باید توی یک فایل اونو رایت کنید.

این اشتباهه عزیز.

desDir = File.DirRootExternal & "/RRRR/fileFolder"

باید به صورت یه فایل با پسوند بدین اونو. بهترین کار اینه که بیاین و اول زیپ کنید بعد فایل زیپ رو با xz فشرده کنید.  آدرسهایی که تو پست اول برای xz دادم رو ببینید لطفا

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
rasool.g    91

کاربر رو به رشد

در 1 ساعت قبل، محمدرضا شاهپیری گفته است :

عزیز موردی نداره رو اندروید 4.2.2. من با جنی موشن نسخه اندروید 4.2.2 هم فایل اینکریپت و هم معمولی رو اکسترکت کردم. و بعد از 100 شدن متد موفقیت آمیز بودن اجرا میشه. حالا نمیدونم شما رو چی تست کردین که این مورد بوده.

در مورد فایلهای xz هم ظاهرا اصلا توجهی به مثالی که زدم تو پست اول نکردین:2:

شما فایل xz که ساختین دیگه. حتما میدونید که نمیشه فولدر اضافه کرد بهش. پس حتما باید توی یک فایل اونو رایت کنید.

این اشتباهه عزیز.


desDir = File.DirRootExternal & "/RRRR/fileFolder"

باید به صورت یه فایل با پسوند بدین اونو. بهترین کار اینه که بیاین و اول زیپ کنید بعد فایل زیپ رو با xz فشرده کنید.  آدرسهایی که تو پست اول برای xz دادم رو ببینید لطفا

 

اها . شرمنده . متوجه اپدیت شدن پست اول نشدم. :blush:

در مورد اندروید 4.2.2 من روی xperia l تست کردم. فایل بدون مشکل اکسترکت میشه ولی فقط پیغام موفقیت امیز بودن با تاخیر خیلی زیاد نسبت به 100% شدن پروگرس بار پخش میشه. نمیدونم شاید مشکل از گوشی من باشه. شایدم بخاطر سیستم ضعیف تر گوشی باشه. بازم برم دوباره چند تا فایل دیگه تست کنم . شاید مشکل از چیز دیگه ای باشه

بازم ممنون

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • جدید...