PDA

View Full Version : راهنمایی در خصوص یادگیری windows form applications در c++



اقای برنامه نویس
جمعه 23 شهریور 1397, 00:47 صبح
با سلام. ببخشید کسی منبعی خوب برای یادگیری کد نویسی windows form applications در ویژوال استودیو 2015 با زبان c++ سراغ داره ؟ میدونم مایکروسافت این قابلیتو حذف کرده ولی من قالبش رو دانلود کردم . مشکلی نیست اگه انگلیسی باشه (البته قطعا منبع فارسیش نیست!). می خواستم کتاب باشه نه ویدیو . البته ویدیو زیاد هست اما معتقدم منبع خوبی برای یادگیری دقیق نیست همچنین اینکه مال نسخه های قدیم ویژوال استودیو هست و الان خیلی چیز ها فرق کرده . اینو بگم که من مبتدی نیستم و برنامه نویسی با console applications رو بلدم البته نه خیلی حرفه ای ( تا مباحثی مثل شی گرایی و وراثت و کلاس و استثنا ها (همون exceptions) و چیز هایی ساده تر مثل اشارگر ها و ساختار ها و رشته ها) .البته میدونم که خیلی چیز ها در هر دو یکسانه ولی به هر حال چیز هایی هست که باید یاد بگیرم (مثل متد های هر شی و نحوه ی استفادشون). همچنین می خواستم کار با win32 applications رو هم یاد بگیرم . لطفا در این دو زمینه منبع خوبی سراغ دارید بگید . و البته لطفا نگید که " به جای این کار سی شارپ رو یاد بگیر " یا "این کار وقت تلف کنیه" و .... من جدا مشتاق یادگیری این زمینه ها هستم . مرسی که پاسخ میدید .

farhad_shiri_ex
شنبه 24 شهریور 1397, 15:43 عصر
با سلام. ببخشید کسی منبعی خوب برای یادگیری کد نویسی windows form applications در ویژوال استودیو 2015 با زبان c++ سراغ داره ؟ میدونم مایکروسافت این قابلیتو حذف کرده ولی من قالبش رو دانلود کردم . مشکلی نیست اگه انگلیسی باشه (البته قطعا منبع فارسیش نیست!). می خواستم کتاب باشه نه ویدیو . البته ویدیو زیاد هست اما معتقدم منبع خوبی برای یادگیری دقیق نیست همچنین اینکه مال نسخه های قدیم ویژوال استودیو هست و الان خیلی چیز ها فرق کرده . اینو بگم که من مبتدی نیستم و برنامه نویسی با console applications رو بلدم البته نه خیلی حرفه ای ( تا مباحثی مثل شی گرایی و وراثت و کلاس و استثنا ها (همون exceptions) و چیز هایی ساده تر مثل اشارگر ها و ساختار ها و رشته ها) .البته میدونم که خیلی چیز ها در هر دو یکسانه ولی به هر حال چیز هایی هست که باید یاد بگیرم (مثل متد های هر شی و نحوه ی استفادشون). همچنین می خواستم کار با win32 applications رو هم یاد بگیرم . لطفا در این دو زمینه منبع خوبی سراغ دارید بگید . و البته لطفا نگید که " به جای این کار سی شارپ رو یاد بگیر " یا "این کار وقت تلف کنیه" و .... من جدا مشتاق یادگیری این زمینه ها هستم . مرسی که پاسخ میدید .



و البته لطفا نگید که " به جای این کار سی شارپ رو یاد بگیر " یا "این کار وقت تلف کنیه"

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

و درباره سوال تون هم ...
برای نوشتن برنامه هایی که در دسکتاپ ویندوز اجرا بشن شما می تونید هم از MFC استفاده کنید و هم Win32 Application که هرکدوم هم سختی خودشون دارن البته به نظر من MFC خیلی بهتر هست ویک نکته ای که جالب بدونید سالها پیش زبانی داشتیم به نام ++MVC که همون Managed Visual C بود بعد در اوایل سال 2000 وقتی مایکروسافت تکنولوژی دات نت را معرفی کرد و چون استفاده از تکنولوژی قدیمی COM به صرفه نبود اومد همون زبان ++MVC را کلا تبدیل کرد به زبان سی شارپ البته خیلی از ساختارهای اون زبان را به ارث برد ولی برخی از مفاهیم مثل کلمات کلیدی manage__ و استفاده مستقیم از اشاره گرهای خام را از زبان سی شارپ حذف کرد این مطلب برای این مطرح کردم که بدونید جد بزرگوار سی شارپ چه بوده.
پس اگر بخواهید با WinForm ها کار کنید رفرنس خوب برای MFC زیاد هست ولی برای Win32 خیلی کم هست البته که کلا زبان ++C را پشتیبانی میکنند البته استاندارد های قدیمی زبان را ولی نحوه Event Binding در MFC خیلی سر راست تر هست.

اقای برنامه نویس
یک شنبه 25 شهریور 1397, 23:04 عصر
ممنون از پاسختون .

اولا چه ربطی داره دوست عزیز !
هر کدوم کارائی خودشون را دارن! و اینکه ویژوال سی اصلا قابل مقایسه با سی شارپ نیست پس اون کسی که میگه وقت تلف کردن هست یادگیری ویژوال سی کلا از برنامه نویسی چیزی حالیش نیست.
خب همه که اطلاعات ندارن مثل شما . چون سی شارپ خیلی تو ایران جا افتاده خیلی ها فقط سی شارپ بلدن و فک می کنن سی پلاس پلاس چون سخت و قدیمیه و رایج نیست زبان بدی هست . من خودم یکجا دیدم یکی میگفت سی شارپ از همه ی زبون ها بهتره و مادر همه ی زبون هاست ! :متعجب:



و درباره سوال تون هم ...
برای نوشتن برنامه هایی که در دسکتاپ ویندوز اجرا بشن شما می تونید هم از MFC استفاده کنید و هم Win32 Application که هرکدوم هم سختی خودشون دارن البته به نظر من MFC خیلی بهتر هست ویک نکته ای که جالب بدونید سالها پیش زبانی داشتیم به نام ++MVC که همون Managed Visual C بود بعد در اوایل سال 2000 وقتی مایکروسافت تکنولوژی دات نت را معرفی کرد و چون استفاده از تکنولوژی قدیمی COM به صرفه نبود اومد همون زبان ++MVC را کلا تبدیل کرد به زبان سی شارپ البته خیلی از ساختارهای اون زبان را به ارث برد ولی برخی از مفاهیم مثل کلمات کلیدی manage__ و استفاده مستقیم از اشاره گرهای خام را از زبان سی شارپ حذف کرد این مطلب برای این مطرح کردم که بدونید جد بزرگوار سی شارپ چه بوده.
پس اگر بخواهید با WinForm ها کار کنید رفرنس خوب برای MFC زیاد هست ولی برای Win32 خیلی کم هست البته که کلا زبان ++C را پشتیبانی میکنند البته استاندارد های قدیمی زبان را ولی نحوه Event Binding در MFC خیلی سر راست تر هست.
مرسی از راهنمایی اما تکنولوژی MFC که قدیمی هست ! تازه خودش میگه برنامه نویسی دیالوگ نه فرم! گرافیکش هم پایین هستش و ابزار های کمی داره . چیزی که خودم گفتم دانلود کردم که از این بهتر بود ! و در حد سی شارپ کنترل های اماده داشت . و البته کد هاش هم دلنشین و قابل فهم تر بود البته خیلی شبیه CLR بود ولی فک نکنم به اون ربط داشته باشه . این MFC انگار سال هاست که بهش رسیدگی نشده ! البته خوب در هر حال تحت دات نت نیست (اون قالب تحت دات نت هست) . من یکم تو نت انگلیسی سرچ کردم . همه می گفتن که MFC خوب نیست و قدیمیه و بهتره بجاش از کیوت (Qt) استفاده کنید . خب نظر شما چیه ؟

البته می دونم که MFC قبلا خوب و عالی بوده ولی حتی سازنده ی سی پلاس پلاس هم میگه : از کامپایلر های قدیمی c++ استفاده نکنید حتی اگر در زمان خود خوب و محبوب بودند .
البته این بیشتر مجموعه ایی از کلاس های اماده هست ولی خوب چون جدیدا خیلی روش کار نشده فک کنم بشه حسابش کرد . :لبخند:
البته در مورد این که کد نویسی در کیوت اسونه یا سخت اطلاعی ندارم.

farhad_shiri_ex
دوشنبه 26 شهریور 1397, 10:04 صبح
ممنون از پاسختون .

خب همه که اطلاعات ندارن مثل شما . چون سی شارپ خیلی تو ایران جا افتاده خیلی ها فقط سی شارپ بلدن و فک می کنن سی پلاس پلاس چون سخت و قدیمیه و رایج نیست زبان بدی هست . من خودم یکجا دیدم یکی میگفت سی شارپ از همه ی زبون ها بهتره و مادر همه ی زبون هاست ! :متعجب:


مرسی از راهنمایی اما تکنولوژی MFC که قدیمی هست ! تازه خودش میگه برنامه نویسی دیالوگ نه فرم! گرافیکش هم پایین هستش و ابزار های کمی داره . چیزی که خودم گفتم دانلود کردم که از این بهتر بود ! و در حد سی شارپ کنترل های اماده داشت . و البته کد هاش هم دلنشین و قابل فهم تر بود البته خیلی شبیه CLR بود ولی فک نکنم به اون ربط داشته باشه . این MFC انگار سال هاست که بهش رسیدگی نشده ! البته خوب در هر حال تحت دات نت نیست (اون قالب تحت دات نت هست) . من یکم تو نت انگلیسی سرچ کردم . همه می گفتن که MFC خوب نیست و قدیمیه و بهتره بجاش از کیوت (Qt) استفاده کنید . خب نظر شما چیه ؟

البته می دونم که MFC قبلا خوب و عالی بوده ولی حتی سازنده ی سی پلاس پلاس هم میگه : از کامپایلر های قدیمی c++ استفاده نکنید حتی اگر در زمان خود خوب و محبوب بودند .
البته این بیشتر مجموعه ایی از کلاس های اماده هست ولی خوب چون جدیدا خیلی روش کار نشده فک کنم بشه حسابش کرد . :لبخند:
البته در مورد این که کد نویسی در کیوت اسونه یا سخت اطلاعی ندارم.

با سلام
با بخشی از صحبتهاتون کاملا موافقم !
در کل بحث استفاده از تکنولوژی های جدید همیشه توصیه شده اونهم به علت خیلی از مسائلی که در حوزه IT وجود داره از فروش تکنولوژی ها گرفته تا فروش سخت افزار های به روز کمپانی ها بزرگ و الی آخر... پس بنابراین معلوم که باید هم بگن که تکنولوژی های قدیمی خوب نیستند این کاملا واضح و مبرهن هستش.
شما هم در باره برنامه نویسی ویندوز فرم با وِیژوال سی پرسیدید منهم خدمتتون توضیح دادم درباره اینکه آیا الان این تکنولوژی ها خوب هستند یا نه که بحث نکردیم
وگرنه که بله الان دیگه کمتر شرکتی پیدا میکنید که حاضر باشه با MFC , Win32 بیاد برنامه ERP , MIS بنویسه ویا حتی برنامه های کاربردی تازه اونهایی هم که از قبل بودند یا روی دات نت ویا جاوا کوچ کردن البته تو ایران را دارم عرض میکنم.
با این حرفتون هم موافقم الان تکنولوژی های کراس پلت فرم فوق العاده شدند علی الخصوص این Qt هرچند یکسری اشکالاتی هم دارند ولی در کل خیلی بهتراز MFC هستند. البته این را هم در نظر داشته باشید که مدیریت رویدادها در این فریم وورک ها به خوبی ویژوال سی نیستند یا حداقل من که خودم با نحوه Signal & Slot کیوت خیلی راحت نیستم و در ضمن شما یکسری از رخداد هایی دارید در سطح هسته سیستم عامل ویندوز مثل Windows Message handler که فقط در کامپایلر های ویژوال سی قابل استفاده هستند اگر بخوام ساده مثال بزنم مثلا فکر کنید می خواهید یک برنامه بنویسید که به صورت یک سرویس اجرا بشه و یکسری مسیرها را برای شما زیر نظر داشته باشه تا به محض مثلا پاک شدن فایلی یک رکوئست به برنامه شما انتقال بده که شما هم درپاسخ یک عملیات را انجام بدید حالا فکر کنید تحت شبکه بخواهید چنین برنامه ای بنویسید حتی میتونه کاربری که داره فایل را پاک میکنه وهر اطلاعاتی که لازم دارید را در اختیار شما میذاره حال این مهم بدست نمی آید مگراینکه شما بتونید به Message هایی که سیستم عامل به CPU ارسال میکنه دسترسی داشته باشید که اونهم فقط از عهده یکسری کتابخانه مخصوص این کار هست تعریف شده.
به هر حال بحث تکنیکال و مهندسی راجع به ساختارهای یک زبان خیلی هست.
به نظر من هم Qt خیلی خوبه خودمم با هاش برنامه نوشتم برای استفاده از دیتابیس چون با تکنولوژی های دست و پا گیر داتنت کاری نداره بازدهی خیلی خوبی داره و نحوه استفاده از پایگاه داده خیلی پیچیدگی نداره با زبانهای Html , CSS , JavaScript خیلی خوب در تعامل هستش و خیلی چیز های دیگه ...

اقای برنامه نویس
سه شنبه 27 شهریور 1397, 01:26 صبح
با سلام
با بخشی از صحبتهاتون کاملا موافقم !
در کل بحث استفاده از تکنولوژی های جدید همیشه توصیه شده اونهم به علت خیلی از مسائلی که در حوزه IT وجود داره از فروش تکنولوژی ها گرفته تا فروش سخت افزار های به روز کمپانی ها بزرگ و الی آخر... پس بنابراین معلوم که باید هم بگن که تکنولوژی های قدیمی خوب نیستند این کاملا واضح و مبرهن هستش.
شما هم در باره برنامه نویسی ویندوز فرم با وِیژوال سی پرسیدید منهم خدمتتون توضیح دادم درباره اینکه آیا الان این تکنولوژی ها خوب هستند یا نه که بحث نکردیم
وگرنه که بله الان دیگه کمتر شرکتی پیدا میکنید که حاضر باشه با MFC , Win32 بیاد برنامه ERP , MIS بنویسه ویا حتی برنامه های کاربردی تازه اونهایی هم که از قبل بودند یا روی دات نت ویا جاوا کوچ کردن البته تو ایران را دارم عرض میکنم.
با این حرفتون هم موافقم الان تکنولوژی های کراس پلت فرم فوق العاده شدند علی الخصوص این Qt هرچند یکسری اشکالاتی هم دارند ولی در کل خیلی بهتراز MFC هستند. البته این را هم در نظر داشته باشید که مدیریت رویدادها در این فریم وورک ها به خوبی ویژوال سی نیستند یا حداقل من که خودم با نحوه Signal & Slot کیوت خیلی راحت نیستم و در ضمن شما یکسری از رخداد هایی دارید در سطح هسته سیستم عامل ویندوز مثل Windows Message handler که فقط در کامپایلر های ویژوال سی قابل استفاده هستند اگر بخوام ساده مثال بزنم مثلا فکر کنید می خواهید یک برنامه بنویسید که به صورت یک سرویس اجرا بشه و یکسری مسیرها را برای شما زیر نظر داشته باشه تا به محض مثلا پاک شدن فایلی یک رکوئست به برنامه شما انتقال بده که شما هم درپاسخ یک عملیات را انجام بدید حالا فکر کنید تحت شبکه بخواهید چنین برنامه ای بنویسید حتی میتونه کاربری که داره فایل را پاک میکنه وهر اطلاعاتی که لازم دارید را در اختیار شما میذاره حال این مهم بدست نمی آید مگراینکه شما بتونید به Message هایی که سیستم عامل به CPU ارسال میکنه دسترسی داشته باشید که اونهم فقط از عهده یکسری کتابخانه مخصوص این کار هست تعریف شده.
به هر حال بحث تکنیکال و مهندسی راجع به ساختارهای یک زبان خیلی هست.
به نظر من هم Qt خیلی خوبه خودمم با هاش برنامه نوشتم برای استفاده از دیتابیس چون با تکنولوژی های دست و پا گیر داتنت کاری نداره بازدهی خیلی خوبی داره و نحوه استفاده از پایگاه داده خیلی پیچیدگی نداره با زبانهای Html , CSS , JavaScript خیلی خوب در تعامل هستش و خیلی چیز های دیگه ...


وگرنه که بله الان دیگه کمتر شرکتی پیدا میکنید که حاضر باشه با MFC , Win32 بیاد برنامه ERP , MIS بنویسه ویا حتی برنامه های کاربردی تازه اونهایی هم که از قبل بودند یا روی دات نت ویا جاوا کوچ کردن البته تو ایران را دارم عرض میکنم.

من ملاکم نظرات کل مردم جهان هست و نه فقط ایران . در نهایت فکر می کنم کوچ به کیوت (c++) تو دنیا بیشتر از کوچ به دات نت بوده ( حداقل تو سایت https://www.tiobe.com/tiobe-index/ نشون داده شده که c++ محبوب تر از دات نت هست ).

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

مرسی از پاسخاتون.