ورود

View Full Version : برنامه ای که دو فایل نصبی داشته باشد



سید حمید حق پرست
جمعه 11 فروردین 1391, 09:07 صبح
سلام دوستان
من یه سوال داشتم
فرض کنید ما یه برنامه نوشتیم سه تب دارد و هر تب یک کار خاص انجام میدهد . حالا میخوایم با نوشتن برنامه ی دیگه و و اجرا کردن آن یه تب جدید به برنامه اصلی کمپایل شده که دست کاربر هست اضافه کنیم که این تب هم یه کار خاص انجام بدهد . روشش چطوری هست ؟

ممنون میشم راهنماییم کنید:قلب:


یا علی (ع)

alireza661
جمعه 11 فروردین 1391, 12:36 عصر
اول با winsock با همون آی پی 127.0.0.1 در برنامه دیگر یک شماره به برنامه اصلی کامپایل شده ارسال کنید و بعد با دستور اضافه کردن تب این کار را انجام دهید

سید حمید حق پرست
جمعه 11 فروردین 1391, 23:49 عصر
ممنون دوست عزیز . نمونه سورس ندارید؟

یا علی (ع)

Mr'Jamshidy
شنبه 12 فروردین 1391, 00:08 صبح
:قهقهه:

این چه روشیه؟

بابا نکنید این کار هاتون رو

برای برنامه قابلیت پلاگین بزار

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

------

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

اگر تونستی یک روش پیدا کنی که هیچی اگر نه بگو برات یک روش ابدا کنم

سید حمید حق پرست
یک شنبه 13 فروردین 1391, 16:28 عصر
ممنون میشم بیشتر راهنماییم کنید
یه روش پلاگین هم بگید دیگه اقایید
راستی با این روش فقط میشه تب اضافه کرد؟ یا هرچی بخوایم میشه اضافه کرد؟


یا علی (ع)

Veteran
یک شنبه 13 فروردین 1391, 18:32 عصر
به نظر ما شما همون تبی رو که میخوای به وسیله ی برنامه دیگه بزاری توی برنامه اصلی
رو بزار توی برنامه اصلی فقط مخفیش کن.
و طبق شرایطی که مورد نظر شماست اون تب رو در زمان های مورد نظر
نشون بدین و یا اینکه اون رو مخفی کنین

سید حمید حق پرست
یک شنبه 13 فروردین 1391, 20:45 عصر
به نظر ما شما همون تبی رو که میخوای به وسیله ی برنامه دیگه بزاری توی برنامه اصلی
رو بزار توی برنامه اصلی فقط مخفیش کن.
و طبق شرایطی که مورد نظر شماست اون تب رو در زمان های مورد نظر
نشون بدین و یا اینکه اون رو مخفی کنین

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

ممنون میشم راهنماییم کنید


یا غلی (ع)

Veteran
یک شنبه 13 فروردین 1391, 21:09 عصر
خب پس ما اطلاعات رو درون فایل ها exe قرار میدیم
مثلا برنامه ما از 5 قسمت تشکیل شده 5 تا فرم
شما توی برنامه اصلی مثلا 5 تا دکمه بزارید برای ارتباط با فرم های دیگه.
بعد هر کدوم از اون فرم هارو توی یک برنامه دیگه به صورت یک فایل exe جدا
پس 5 تا فایل exe داریم با 1 فایل exe اصلی میشه 6 تا
اینار بزار کنار هم بعد کاربر روی دکمه اول کلیک کرد برنامه ایی که توش فرم اول رو طراحی کردی رو اجرا کن
ئ به همین صورت برای بقیه فرم ها!
البته کار سخت میشه اما خب ....
بعد بعدا اگه خواستید مثلا 3 تا دیگه فرم اضافه کنین 3 تا فرم رو هرکدوم توی یکی ی فایل exe درست کن و کلید دسترسی به این 3 تا فرم رو بزار توی برنامه اصلی
الان این چندتا مزیت داره
به قول خودتون دیگه کاربر اگه بخواد اپدیت کنه فقط 3 تا فرم رو دانلود میکنه و فایل برنامه اصلی که فایل اصلی حجمی نداره چرا که فقط ارتباط میده.

MohammadGh2011
یک شنبه 13 فروردین 1391, 21:13 عصر
ممنون از شما . فکر کنم متوجه سوالم نشدید دوست عزیز . من این امکان رو برای این میخوام که وقتی برنامه وارد بازار شد و بعدا یه امکان جدید بخوام بهش اضافه کنم از این روش اجرا کنم . برنامه اصلی نزدیک به 200 مگ هست و منطقی نیست هر بار برنامه رو برای دان بزارم
من این روشی رو که گفتم دیدم اما نه کدهاش بلکه EXE

ممنون میشم راهنماییم کنید

یا غلی (ع)
سلام عليکم
شايد اين روش هم خوب باشه:
از روش آپديت کردن از طريق اينترنت هم ميتونيد اين کار رو انجام بديد من يه مطالبي در اين مورد تو سايت ديدم ولي پيگيرش نشدم.
براي مثل مرورگر اپرا که هرموقع ورژن جديدش مياد به راحتي ميشه با حجم کمي دانلود کرد و يا ديگر نرم افزارها، که ديگه نيازي نيست دوباره نصبش کني و فقط آپديتش نصب ميشه.

موفق باشيد

Mr'Jamshidy
یک شنبه 13 فروردین 1391, 21:26 عصر
ممنون میشم بیشتر راهنماییم کنید
یه روش پلاگین هم بگید دیگه اقایید
راستی با این روش فقط میشه تب اضافه کرد؟ یا هرچی بخوایم میشه اضافه کرد؟


یا علی (ع)

ببین دوست من بهترین کاری که میتونی انجام بدی Standard DLL هست
من خودم در مورد نوشتن Standard DLL بوسیله VB تو انجمن تاپیک زدم
اگر پست های من رو دنبال کنید میتونید از این مطالب استفاده کنید

تو اینترنت هم مطلب در این مورد زیاده (Standard DLL)

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

کار هایی که گفتم انجام بدید تا در آینده ای نزدیک این موضوع رو با هم پیگیری کنیم

------

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

موفق باشید

سید حمید حق پرست
یک شنبه 13 فروردین 1391, 21:35 عصر
سلام عليکم
شايد اين روش هم خوب باشه:
از روش آپديت کردن از طريق اينترنت هم ميتونيد اين کار رو انجام بديد من يه مطالبي در اين مورد تو سايت ديدم ولي پيگيرش نشدم.
براي مثل مرورگر اپرا که هرموقع ورژن جديدش مياد به راحتي ميشه با حجم کمي دانلود کرد و يا ديگر نرم افزارها، که ديگه نيازي نيست دوباره نصبش کني و فقط آپديتش نصب ميشه.

موفق باشيد

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


ببین دوست من بهترین کاری که میتونی انجام بدی Standard DLL هست
من خودم در مورد نوشتن Standard DLL بوسیله VB تو انجمن تاپیک زدم
اگر پست های من رو دنبال کنید میتونید از این مطالب استفاده کنید

تو اینترنت هم مطلب در این مورد زیاده (Standard DLL)

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

کار هایی که گفتم انجام بدید تا در آینده ای نزدیک این موضوع رو با هم پیگیری کنیم

------

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

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


یا علی (ع)

MohammadGh2011
یک شنبه 13 فروردین 1391, 21:45 عصر
با اجازه ي آقاي جمشيدي
فکر کنم اين لينک باشه:
ساخت Standard DLL در VB6 (http://barnamenevis.org/showthread.php?284957-%D8%B3%D8%A7%D8%AE%D8%AA-Standard-DLL-%D8%AF%D8%B1-VB6)

آقاي جمشيدي اگه امکانش هست يه آموزشي در مورد سوال اقاي حق پرست بزاريد اينجا تا هم ايشون و هم بقيه دوستان بتونند اين روش رو ياد بگيرند و از آپديت کردن براي برنامشون استفاده کنند.
راستش من قبلا دنبال آپديت کردن برنامه از طريق اينترنت در اينترنت بودم و سورس هم دانلود کردم ولي متوجه نشدم که چه طور بايد اينکار رو انجام بدم.:متفکر::ناراحت:


موفق باشيد

سید حمید حق پرست
دوشنبه 14 فروردین 1391, 21:52 عصر
والا من هرچی جستجو کردم چیزی در مورد پلاگین نیافتم . و نفهمیدم ایناستاندارد دی ال ال چطوری اینکاری که میخوام باهاش انجام بدم
آقای جمشیدی ممنون میشم آموزشی چیزی بزارید :قلب:


یا علی (ع)

Mr'Jamshidy
سه شنبه 15 فروردین 1391, 14:14 عصر
سلام

والا من الا خیلی درگیرم

اما در اولین فرصت حتما یک اقدامی انجام میدم

سید حمید حق پرست
پنج شنبه 17 فروردین 1391, 23:57 عصر
سلام
تاپیک رو بالا آودم تا ببینم دوستان راهنمایی میکنن


یا علی (ع)

vbhamed
یک شنبه 20 فروردین 1391, 08:20 صبح
سلام

1 - در يك پروژه جديد يك فرم به اندازه مساحت داخل Tab درست كنيد و حاشيه فرم و دكمه Close و ... رو برداريد تا فقط يك فرم ساده بدون قاب داشته باشيد
2 - برنامه جديد رو طراحي كنيد و بنويسيد و به صورت فايل exe با يك نام خاص مثلا شماره يا چيزي ديگه در بياريد، البته مي‌تونيد پسوندش رو تغيير بديد
3 - در پروژه اصلي با توجه به تعداد نامهايي كه براي باصطلاح پلاگين هاتون گذاشتين تب اضافه كنيد
4 - با دستور Shell برنامه جديد رو اجرا كنيد، اين برنامه بايد هندل فرم خودش رو هنگام اجرا در جايي ذخيره كنه تا شما بتونيد برش داريد مثلا رجيستري يا فايل و ...
5 - وقتي هندل برنامه رو بدست آوردين، با استفاده از تابع SetParent از توابع API مي‌تونيد فرم برنامه جديد رو در داخل فرم برنامه اصلي قرار بدين، انگار كه فرم برنامه جديد خودش يكي از اشياء فرم اصلي شماست
6 - مكان فرم جديد رو طوري تنظيم كنيد كه روي تب شما بيفته
7 - هر موقع خواستيد كار برنامه جديد تموم و بسته بشه در جايي از قبيل رجيستري و ... متغيري رو مقدار دهي كنيد كه برنامه جديد دائما اونجا رو چك مي‌كنه و اگر مثلا مقدار برابر 1 بود خودش رو با دستور end مي‌بنده، البته قبلش اگر لازمه اطلاعات رو ذخيره مي‌كنه

روش كار تابع SetParent قبلا در همين سايت توضيح داده شده، هندل فرم جاري هم كه با خاصيت hwnd بدست مياد

Mr'Jamshidy
یک شنبه 20 فروردین 1391, 22:23 عصر
من خودم وقت چک کردن سورس رو ندارم اما شما چک کن ببین به دردت میخوره

http://barnamenevis.org/showthread.php?256514-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A7%D8%B3%D9%85%D8%A8%D9%84%D8%B1-%D8%A8%D8%A7-%D9%88%DB%8C-%D8%A8%DB%8C&p=1144113&viewfull=1#post1144113

سورس آخر