سلام به همه برنامه نویس های VB
نکته : چون خواستم میتدی ها هم بتونن این کارو بکنن، آموزش رو به صورت قدم به قدم نوشتم حرفه ای ها خسته نشن.gif)
برای ساختن نسخه پرتابل نرم افزارمون ما باید فایل هایی که تو برنامه مون استفاده شده و منبع خارجی داره رو به برنامه مون بچسبونیم و قبل از اجرا شدن برنامه اونا رو همون جایی که لازمه قرار بدیم. مثلا اگه از فایل Dll خواصی تو برنامه استفاده کردیم توی پوشه system32 قرار بدیم یا فونت ها رو تو پوشه Fonts.
ما تو این مثال می خوایم یه فایل Ocx ، یه فایل Dll ، یه فایل فونت (Ttf) و یه فایل Jpg رو به برنامه بچسبونیم تا برناممون دیگه به این فایل ها نیاز نداشته باشه و از تو خودش اجرا کنه.
Visual C++ رو باز کنید از منوی File گزینه New رو انتخاب کنید.
در تب Resource Script،Files رو انتخاب کنید.
تو پنجره ای که اومد کلیک راست کنید و Import رو انتخاب کنید، Files Type رو *.* قرار بدید.
فایل Ocx ای که تو برنامتون استفاده شده رو انتخاب کنید. پنجره ای که باز شده نوع Resource رو می خواد بدید Ocx.
خوب پنجره ای که باز شد رو ببندید و روی فایلی که تو پوشه Ocx هستش کلیک راست کنید و Properties رو بزنید و ID شو عوض کنید مثلا بزارید 1001 .
دوباره کلیک راست کنید و Import رو بزنید و فایل Dll مورد نظرتون رو انتخاب کنید.
نوع ریسورس رو بنویسید Dll و ID شو بزارید 1002. حالا فایل Jpg رو Import کنید و نوع شو بنویسید Jpg و ID ایش هم 1003.
حالا نوبت به فایل Ttf می رسه Import اش کنید و نوع Ttf و ID رو براش 1004 قرار بدید.
کارمون تو این قسمت تموم شد. به منوی فایل برید و گزینه Save as رو بزنید و Save as type رو res.* انتخاب کنید و ذخیرش کنید. حالا به VB برید.
خوب تو قسمت پروژه کلیک راست کنید و از منوی بازشو Add و سپس AddFile... رو انتخاب کنید یا می تونید از منوی Project گزینه Add File… رو انتخاب کنید، فایل ریسورس رو به پروژه تون اضافه کنید.
خوب حالا یه ماژول باز کنید (از منوی Project گزینه Add Module) و توش بنویسید
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خوب تو این روال یه متغییر از نوع Byte تعریف کنید
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا باید فایل های ریسورس رو تو اونجاهایی که می خواییم کپی کنیم. اینجوری
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تو خط اول فایل ریسورس رو لود میکنیم می ریزم تو متغییر M و 1001 همون ID فایل هستش و Ocx نوع فایل.
تو خط دوم یه فایل باینری با نام فایل Ocx مون تو مسیری که باید قرار بگیره به عنوان مثال تو System32 باز میکنیم و در خط سوم فایل ریسورس رو تو فایل باینری می نویسم و در خط چهارم فایل باینری رو می بندیم.
برای فایل Dll و Ttf هم از همین روش استفاده می کنیم.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فایل های Jpg رو نمیشه مستقیما تو PictureBox نمایش داد برای همین باید کپی کنیم تو یه مسیری و از اونجا لودش کنیم
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بجای پوشه Temp از App.Path هم می تونیم استفاده کنیم ، فکر کنم اینجوری بهتر باشه.
اگه فایل تون Bmp بود می تونید از این روش استفاده کنید.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در آخر روال هم فرمی که هنگام شروع باید باز بشه رو نمایش بدید.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نکته : حتما Startup پروژه تون رو Sub Main قرار بدید.(منوی Project گزینه Project1 Properties)
زمانی که فرم1 باز می شه چون تمام فایل های مورد نیازش سرجاشون هستن هیچ اخطاری نمی ده و به درستی کار می کنه. دیگه هیچ احتیاجی به ساختن ستاپ برای برنامه مون نداریم.gif)
کل کد ها رو دوباره می نویسم.gif)
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته اگه تعداد فایل هاتون زیاده می تونید یه فرم Splash نمایش بدید تا تمام فایل ها لود بشن.
امیدوارم بدردتون خورده باشه.gif)
تشکر یادتون نره