رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران
  • 0
ciph3r

ساخت سازندهٔ گرافیکی برای برنامه اصلی


سوال

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

ممنون اساتید و منتظر هستم
 

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


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

2 پاسخ به این سوال تا کنون داده شده است

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

  • 0
در 12 ساعت قبل، فرهاد شیری گفته است :

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

البته این سوال شما بیشتر خبری تا پرسشی !!! 

بهتره کمی بیشتر توضیح بدید...

1- اون برنامه اصلی که می فرمایید قرار چه فایلی را تولید کنه بر اساس ورودی ها؟

2- منظورتون از اینکه برنامه اصلی همون فایل کامپایل شده بمونه یعنی چی؟

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

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

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

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

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

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

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

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

 

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

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

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

 

ممنون بابت توجهتون

منتظر راهنمایی شما و دوستان دیگر هستم

باش تشکر

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 11 ساعت قبل، فرهاد شیری گفته است :

اگر منظور شما از stub این هست، تا آنجا که اطلاع دارم stub test یک بخشی از تستهای واحد برای نرم افزار هست، که در برخی موارد جهت تست های hard code استفاده می شود! 

بله با توضیحاتی که دادید، قطعا برای ساخت یک GUI قطعا کیوت گزینه خوبی هست! ولی با توجه به اینکه میگید از ++microsoft visual c استفاده میکنید MFC,Win32,WindowsUniversal هم گزینه های خیلی خوبی هستند!

برای ارتباط با برنامه اصلی خودتون هم من پیشنهاد میدم که از متا دیتاها استفاده کنید، یعنی ورودی ها لازم نرم افزار اصلی را در یک فایل تکست که در بیلدر می سازید ذخیره کنید و در برنامه اصلی براش یک parser بنویسید اینطوری اگر از کیوت هم استفاده کنید مستقل از پایگاه داده خواهید بود. 

البته پایگاه داده های NoSQL هم در کیوت خیلی خوب هستند که هم Server less هستند وهم Portable هستند در صورتی که بخواهید از بانک های اطلاعاتی استفاده کنید.

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

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

ممنونم و سپاسگزارم بابت توضیحاتتون

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

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

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

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

این فایل تنضیمات که به عنوان فایل txt در کنار بیلدر است را چطور می توان فایل اصلی که قرار خروجی داده بشه آن را بشناسد و در حافظه دائم خود ذخیره کند ؟

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

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


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

به گفتگو ملحق شوید

شما همین الآن می‌توانید مطلبی را ارسال و بعداً ثبت‌نام کنید. اگر حساب کاربری دارید، و با حساب کاربری خود مطلب ارسال کنید.
نکته: مطلب شما قبل از انتشار نیاز به بازبینی توسط میانجی‌گر‌ها دارد.

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

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

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

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

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

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


  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...