PDA

View Full Version : استفاده از فایل کب



jalalnooritehrani
دوشنبه 29 مهر 1387, 08:08 صبح
من میخواهم بعضی از فایلهای که در برنامه ام استفاده میکنم بصوت فایل zip یا Cab در بیارم و در کنار اگزه بذارم
و از برنامه بدون اینکه آنها را دی کمپرس (unzip) کنم به آنها فایلها دسترسی داشته باشم

__H2__
چهارشنبه 01 آبان 1387, 00:18 صبح
سلام
اگر فایلتان با الگوریتم های خود دات نت (GZip و Deflate) واقعدر فضای نام System.IO.Compression فشرده شده باشد این کار ممکن است.

البته شرط دیگری هم دارد.
فایلتان باید در داخل RAM و با امکانات خود دات نت قابل استفاده باشد.
مثلاً یک فایل متنی و html یا تصویر و... قابل استفاده است ولی فایل mdb برای برقراری Connection باید در هارد ذخیره شود.

jalalnooritehrani
چهارشنبه 01 آبان 1387, 07:17 صبح
مرسی از راهنماییت ولی برای من مبتدی حداقل یک مثالی، یک سورسی، یک کدی، که بتوانم برنامه ام را کامل کنم

__H2__
پنج شنبه 02 آبان 1387, 00:14 صبح
سلام
یک نمونه کد برایتان حاضر کردم که میتوانید تمام فایلهای gz کنار exe را در لیستی نشان دهد و بدون extract در هارد تصاویر داخل آنها را نمایش دهد.

-اجباری در پذیرش پسوند gz نیست و شما میتوانید هر پسوند دلخواهی را انتخاب کنید.
-نمونه کامپایل شده با سه تصویر فشرده نمونه در پوشه exe در دسترس هستند.
-کدهای ساخت فایل gz و extract انها در هارد هم موجود است.
-پیشنهاد میکنم قبل از دیدن سورس کدها در vs فایل install.bat را یک بار اجرا کنید
(سه gz نمونه موجود به پوشه کامپایل کپی میشوند.)

-در نهایت توجه داشته باشید فایلهایی مثل zip و rar و jpg و... هر کدام به بیان و نوعی فشرده هستند و فشرده سازی مجدد باعث افزایش حجم خواهد شد!

RichtClick->SaveTargetAs
http://www.h02.ir/Download.aspx?File=GZip.zip

موفق باشید.

jalalnooritehrani
پنج شنبه 02 آبان 1387, 09:31 صبح
مرسی از برنامه ات
1- آیا فایلهای کریستال ریپورت یا صوتی و تصویری را هم از این طریق میتوانم اجرا کنم

2- چطوری میتوان چند فایل تصویر را در آن قرار داد

3- من از کامپونت AxAnimation1 برای نمایش فایلهای AVI استفاده میکنم ولی با دستورات شما نتوانستم این کار را بکنم چون AxAnimation1 متدی باز کردن آن تابع از جنس استرنیگ میخواهد

باز هم تشکر از اطلاعات خیلی مفید بود

__H2__
جمعه 03 آبان 1387, 03:15 صبح
سلام
1و3)
کلاً فایلهایی را میتوانید بدون extract و ذخیره در هارد استفاده کنید که کلاسس یا کد یا dll پشتیبانی کننده ان فایل امکان بارگذاری از داخل RAM را داشته باشد، یعنی به بیان دات نتی تر امکان بارگذاری از آرایه ی بایتی و یا Stream را داشته باشد.

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

ولی در مورد avi شما از یک com-activex استفاده کرده اید که همانطور که خودتان هم اشاره کردید فقط و فقط String مسیر فایل را متوجه میشود و بس!

دات نت میتوانید به راحتی انیمیشن های فایلهای gif را پخش کند و خودش هم نمونه هایی در مسیر زیر دارد (اگر VS2008 را کامل نصب کرده باشید.)
C:\Program Files\Microsoft Visual Studio 9.0\Common7\VS2008ImageLibrary\1033

پیشنهاد میکنم به جای avi اگر برایتان مقدور است از gif استفاده کنید، آنگاه به dll خارجی هم نیاز نخواهید داشت و با همان framework2 مشکلتان مرتفع میشود.

در اخر اگر قرار است این تصاویر و avi ها یا gif ها بعداً کم و زیاد نشود و در برنامه باید فیکس و ثابت باشد، بهتر است انها را در یک dll یا exe برنامه به صورت مجتمع جای دهید.
برای منابع ثابت با حجم معقول معمولاً از Resource های خود اسمبیلی ها استفاده میکنند.


2) آن هم مشکل خاصی ندارد، روش های مختلفی میتواند داشته باشد که بسیار مشابه جوابم در پست زیر خواهد بود:
http://barnamenevis.org/forum/showthread.php?p=617432#post617432