PDA

نسخه کامل مشاهده نسخه کامل : چطور مي‌شه از فايل cab در net. استفاده كرد



B7RV1
20-07-2009, 00:58
با سلام به همه دوستان

تقريبا تمام برنامه هايي كه حرفي براي گفتن دارن از يك سري فايل cab يا dll يا ... براي نگهداري از فايلهاشون دارن، مثل فايل هاي صوتي يا تصويري كه در برنامه از اونها استفاده مي‌كنن. چطوره ميشه از همچين فايلهايي در برنامه استفاده كرد. مثلا اگر قراره با فشردن دكمه صدايي شنيده بشه اين صدا در فايلي مثل cab.* وجود داشته باشه و ما صدا رو از درون اون فايل فراخواني و اجرا كنيم.
هر راهي براي انتقال چند فايل درون يك فايل مجتمع كه از اون بشه در برنامه بطور مستقيم استفاده كرد بگين لطفا، مي‌تونه كمك كنه.

آيا با استفاده از Resource در VS ميشه همچين كاري كرد يعني فايلهايي غير از عكس يا صوت مثلا exe.* رو ميشه منتقل كرد و از اين منبع فايل دلخواه رو به كامپيوتر مقصد كپي كرد؟


قبلا از همكاري تمام دوستان تشكر مي‌كنم.

عــــلی
20-07-2009, 11:09
سلام.
سوالتونو در دات نت مطرح میکردین زودتر به جواب میرسیدین.

آيا با استفاده از Resource در VS ميشه همچين كاري كرد يعني فايلهايي غير از عكس يا صوت مثلا exe.* رو ميشه منتقل كرد و از اين منبع فايل دلخواه رو به كامپيوتر مقصد كپي كرد؟


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

B7RV1
20-07-2009, 16:02
با تشكر از hamishebahar عزيز

با تشكر از توجه شما، بله من دقيقا منظورم اين بود كه يك كد مثال براي اين كار لطف كنيد. من در مورد استفاده از عكس مشكلي ندارم يعني با كد my.resource.Mypic مي‌تونم اونو به يك picturebox اعمال كنم اما مشكل من اينجاست كه ميخوام يك فايل مثل فايلهاي تم براي فرم يا يك فايل exe ديگه رو با استفاده از ريسورس منتقل كنم در كامپيوتر مقصد استفاده كنم.
اگر لطف كنيد يك مثال بزنيد كه يك فايل با پسوند exe رو با استفاده از ريسورس منتقل كرده و در كامپيوتر مقصد در شاخه اصلي اجراي برنامه كپي كنيد.


اگر بتونيد مثالي هم براي استفاده از فايلهاي cab بزنيد ممنون ميشم يعني فايلي كه لازم باشه از درون فايل cab.* خونده بشه

هر دو حالت رو لازم دارم اگر بتونيد كمك كنيد ممنون ميشم.

با تشكر فراوان

عــــلی
20-07-2009, 16:46
سلام.
عیدتون مبارک.

خوب این کار خیلی سادست اینم کد نمونه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در مورد فایل های Cab باید بگم که دات نت فایل ها رو مثل وی بی 6 داخل Cab نمیریزه بلکه داخل خود exe برنامه اصلی یا dll میریزه...
اگه میخوای داخل dll بریزی باید یک پروژه به پروژه اصلی برنامت اضافه کنی و فایل های رو داخل resource پروژه بریزی و در قسمت Properties پروژه در قسمت Application قسمت Output Type گزینه Class Library رو انتخاب کنید اونوقت resource ها رو به جای اینکه داخل Exe بریزه یک dll درست میکنه....

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

موفق باشید.

B7RV1
21-07-2009, 01:30
با تشكر از پاسختون

فكر كنم اين كدي كه نوشتين براي VB6 است، درسته؟ من اين كد رو با استفاده از كد شما براي VS2008‌ نوشتم و جواب گرفتم و از راهنماييتون خيلي خيلي متشكرم. :20:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

فقط در مورد سئوال دوم مي‌خواستم بپرسم، يعني VS2008 هيچ نوع ارتباطي با فايلهاي cab برقرار نميكنه؟؟؟

راستي يه سئوال ديگه، ميشه اين فايل exe رو از درون فايل exe خود برنامه ( با استفاده از resource ) اجرا كرد بدون اينكه نيازي به كپي كردن اون به هارد باشه؟؟؟

با تشكر بسيار از شما

عــــلی
21-07-2009, 12:24
سلام.
ببخشید اون کدی که من گذاشتم به زبان سی شارپ بود هواسم نبود..

دوست من شما برای اجرا کردن یک فایل حتماً باید اون فایل رو داشته باشی...
در مورد فایل های Cab هم نمیدونم حالا چرا Cab خوب تو Dll بزار...

B7RV1
21-07-2009, 13:03
با تشكر مجدد

آخه فايل cab وجود داره و من ميخوام از اون استفاده كنم.

مي‌تونيد يك مثال براي استفاده از فايلهاي درون Dll‌ بگيد ( يك dll خارجي كه از قبل وجود داشته نه اوني كه با خود برنامه و با استفاده از resource درست مي‌شه ). يعني مثلا يك عكس يا يك فايل صوتي درون dll هست و من مي‌خوام اونو به يك bottun اعمال كنم كه هروقت دكمه رو زدم اون صدا شنيده بشه.

اين سئوال منو هم اگر ممكنه جواب بدين كه:
ميشه اين فايل exe رو از درون فايل exe خود برنامه ( با استفاده از resource ) اجرا كرد بدون اينكه نيازي به كپي كردن اون به هارد باشه؟؟؟

با تشكر بسيار از شما

عــــلی
23-07-2009, 01:18
سلام دوست عزیز ببخشید که دیر اومدم....

خوب dll هم یک قسمت ریسورس داره که فایل ها داخل اون قرار میگیرن برای استفاده از dll توی پروژه پنجره Solution گزینه References راست کلیک و گزنیه Add References را بزنید و dll مورد نظر را add کنید.

فرض کنید ما می خوایم یه آهنگ رو از داخل فایل Play کنیم:
در صورتی که کلاس ریسورس از نوع Public بود و آهنگ مورد نظر هم از نوع Public بود شما میتونید از اون فایل استفاده کنید.مثلاً ما یک آهنگ داریم به اسم chimes حالا میخوایم از داخل dll اونو Play کنیم.از کد زیر استفاده میکنیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

دانلود نمونه پروژه(فایل dll به نام WindowsFormsApplication5.dll است):


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

هیچ فایلی نمیتونه اجرا بشه مگر اینکه جایی قرار داشته باشه....

موفق باشید.

amish66
15-10-2009, 23:20
سلام
من می خوام فایل dll را در resource بگذارم تا افراد به توابع آن دسترسی نداشته باشند. و نتوانند از آن استفاده کنند.اگه می شه من را راهنمایی کنید.
با تشکر

مهران باینری
20-10-2009, 23:31
خیلی خیلی مفید بود