جامعه برنامه نویس

برگشت   جامعه برنامه نویس > Native Code > برنامه نویسی با C > برنامه نویسی با MFC و ++Visual C

اطلاعیه

برنامه نویسی با MFC و ++Visual C مباحث مربوط به برنامه نویسی با ویژوال سی و win32,MFC


پاسخ
 
ابزار های تاپیک طریقه نمایش
قدیمی یک شنبه 11 آذر 1386, 18:25 عصر   #1
Master.
کاربر جدید
 
آواتار Master.
 
تاریخ عضویت: تیر 1386
پست: 12
تشکرها: 32
6 بار تشکر شده در 4 پست
Tick نیاز به کتاب در زمینه آموزش ویژوال سی پلاس پلاس ، MFC و win32

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

باز هم عذرخواهی می کنم
و منتظر پیشنهاداتتون هستم
Master. آفلاین است   پاسخ با نقل قول
2 کاربر از Master. به خاطر این مطلب مفید تشکر کرده اند:
قدیمی یک شنبه 11 آذر 1386, 22:11 عصر   #2
Nima_NF
مدیر بخش
 
آواتار Nima_NF
 
تاریخ عضویت: خرداد 1385
پست: 2,450
تشکرها: 73
2,139 بار تشکر شده در 1,139 پست
نه اتفاقا جای مناسب پست شما همین جاست.

Edit: اول از همه چیز باید بدانید که کار عاقلانه این است که برنامه نویسی ++VC غیر دات نت انجام شود (native) تا از نهایت قدرت و performance آن استفاده کنید و برای کار دات نت به سراغ همان C#‎ بروید ، پس توجه داشته باشید که به آسانی همان دات نت نمی باشد و ضمنا کلا دنبال فارسی آن ها به جز MFC نباید باشید (فقط انگلیسی).
Edit: "برنامه نویسی دات نت توسط ++C یک اشتباه است و اگر کسی می خواهد با ++C برنامه نویسی کند کار عاقلانه همان Win32 یا MFC به صورت native است." مگر اینکه هدف از این یادگیری ترکیب کدها کنونی native با .Net باشد. (اگر می خواهید از دلایل این موضوع و سیاست های جدید مایکروسافت در این باره مطلع شوید از این مقاله استفاده کنید)

در هر صورت بهترین کتاب ها را برایتان لیست می کنم:
-----------------
اگر دنبال برنامه نویسی ساده تر از win32 هستید ، در بازار چند کتاب فارسی برای آموزش MFC وجود دارد، بهترین آن:
Visual C++‎.NET در 21 روز انتشارات نص (برخلاف اسمش .NET نیست و تماما MFC هست)
سعی کنید از کتاب جعفرنژاد برای MFC استفاده نکنید و از کتاب فوق بهره ببرید.

کتاب های قدیمی و جامع:
Teach yourself Visual C++‎.NET in 21 days
Professional MFC with visual C++‎ 6
programming windows with mfc second edition

- برای یک مرجع جدیدتر، غنی از مباحث جدید، پایگاه داده با ODBC همین طور مباحث C++‎/CLI (البته کلا ناکامل برای حالت Native توسط MFC )می توانید از کتاب زیر بهره ببرید (نیمی از کتاب شامل MFC می باشد):
Beginning Visual C++‎ 2005 - Ivor Horton
Beginning Visual C++‎ 2008 - Ivor Horton

تذکر: کتاب های انگلیسی و جدید هر چند ماه، انتهای همین پست اضافه می شوند.

----------------
اگر دنبال برنامه نویسی Win32 با API های ویندوز هستید بهترین کتاب Programming Windows Fifth Edition هست انتشار سال 1998 .

و در صورت نیاز به دانستن بیشتر در مورد توابع گرافیکی GDI کتاب زیر برای تکمیل کار کمکتان می کند:
Windows Graphics Programming Win32 GDI and DirectDraw - 2000
----------------
و اما اگر دنبال برنامه نویسی کراس پلتفرم با Qt ( برنامه نویسی واحد برای کلیه سیستم عامل ها) هستید :
C++‎ GUI Programming with Qt 4 سال 2006

و برای wxwidgets کتاب زیر :
Cross-Platform GUI Programming with wxWidgets


-----------------------------------------------------------

معرفی چند کتاب جدید:

1) کتاب انگلیسی زیر چاپ 2008 مایکروسافت، برای محیط های visual C++‎2005 و 2008 و قابلیت های جدید ویستا هست، این کتاب فقط برای کاربران حرفه ای و مباحث پیشرفته هست.(win32)

نام کتاب:
Windows via C/C++‎ - Pro Developer

در این کتاب به مباحث زیر پرداخته می شود:
- thread ها و انواع همزمان سازی ها
- Kernel Objects و jobs
-مدیریت حافظه و Virtual Memory
- فایل ها و Memory-Mapped Files
- تکنیک های پیشرفته مختلف ساخت DLL
- حافظه مشترک نخ ها / Thread-Local Storage
- انواع DLL Injection and API Hooking

------------------------

2) کتاب انگلیسی زیر چاپ 2008 ، برای آموزش MFC با انجام ساخت برنامه های کاربردی هست. در این کتاب حتی یک بازی Tetris نیز ساخته می شود:

نام کتاب:
Microsoft Visual C++‎ Windows Applications by Example
(Code and explanation for real-world MFC C++‎ Applications)


------------------------

3) این کتاب چاپ 2008 برای تمامی افرادی هست که می خواهند برنامه نویسی ++C (تحت کنسول) را توسط کامپایلرهای جدید مانند visual C++‎2005/2008 یاد بگیرند و با محیط این کامپایلر، نحوه debug کردن نیز آشنا شوند.

در این کتاب علاوه بر آن با STL ، کتابخانه های استاندارد C و حتی C++‎/CLI نیز آشنا می شوید.

نام کتاب:
Visual C++‎ 2008 How to Program, 2 edition

موفق باشید
.

آخرین ویرایش به وسیله Nima_NF : جمعه 11 اردیبهشت 1388 در 13:25 عصر دلیل: افزودن کتاب های جدید تر
Nima_NF آفلاین است   پاسخ با نقل قول
قدیمی دوشنبه 12 آذر 1386, 08:58 صبح   #3
Alireza Orumand
کاربر دائمی
 
آواتار Alireza Orumand
 
تاریخ عضویت: آبان 1386
پست: 312
تشکرها: 22
192 بار تشکر شده در 113 پست
ارسال پیام از طریق Yahoo به Alireza Orumand
سلام
نقل قول:
اول از همه چیز باید بدانید که برنامه نویسی ++VC غیر دات نت باید انجام شود (native) و برای کار دات نت باید سراغ همان C#‎ بروید ،
نیما جان از مقایسه ای که انجام دادید بین C#‎,C++‎ فکر میکنم منظور شما از vC++‎ همون vC++‎ 2005 باشه که در این صورت فرمایش شما صحیح نیست و اجباری در استفاده از vC++‎ به صورت native نیست. تو vC++‎ شما هم میتونید کد های native داشته باشید و هم میتونید پروژه ای از نوع .net داشته باشید.
چون توی سوال دوستمون پریسدن کتاب برای آموزش vC++‎ معلومه دنبال qt نیستن به همین خاطر من کتاب vC++‎ 2005 انتشارات wrox رو پیشنهاد میکنم که در چند فصل ابتدایی فقط به آموزش زبان C++‎ اختصاص داره و در فصل های بعدی به آموزش MFC میپردازه و بعد تمام آموزش هایی که در مورد MFC داده شده رو به همراه مثال هایی که زده شده با کمک .net آموزش میده و پروژه ها رو پیاده سازی میکنه. در مجموع برای آشنایی کامل با تمام امکانات این محیط کتاب خوبیه.
متونید کتاب رو از اینترنت دانلود کنید و اگر پیدا نکردید من کتاب رو دارم ایمیل خودتون رو با پیام خصوصی برای من بفرستید تا کتاب رو برای شما ارسال کنم.
موفق باشید.
__________________
گواهی بخواهید اینک گواه، همین زخمهایی که نشمرده ایم
دلی سربلند و سری سر به زیر، از این دست عمری به سر برده ایم

حرفهای من
Alireza Orumand آفلاین است   پاسخ با نقل قول
3 کاربر از Alireza Orumand به خاطر این مطلب مفید تشکر کرده اند:
قدیمی دوشنبه 12 آذر 1386, 16:51 عصر   #4
Nima_NF
مدیر بخش
 
آواتار Nima_NF
 
تاریخ عضویت: خرداد 1385
پست: 2,450
تشکرها: 73
2,139 بار تشکر شده در 1,139 پست
نقل قول:
نوشته شده توسط Alireza Orumand مشاهده تاپیک
نیما جان از مقایسه ای که انجام دادید بین C#‎,C++‎ فکر میکنم منظور شما از vC++‎ همون vC++‎ 2005 باشه که در این صورت فرمایش شما صحیح نیست و اجباری در استفاده از vC++‎ به صورت native نیست. تو vC++‎ شما هم میتونید کد های native داشته باشید و هم میتونید پروژه ای از نوع .net داشته باشید.
موفق باشید.
شما از حرف من اشتباه برداشت کردید ، البته که می توان با ++C با دات نت هم کار کرد و این مطلب را هر کسی می داند و این ربطی به نسخه یا نام VC ندارد و از همان ابتدا اجرایی بود ، منظور من این بود که امروزه کسی در دنیا برنامه نویسی دات نت را با ++C نمی کند و اکثرا از این قابلیت آن استفاده می کنند که می توانند کدهای native خودشان را با دات نت جدید ترکیب کنند ولی نه مثل C#‎ که تماما وابسته به دات نت است و تمام محیطش همان فریم ورک دات نت است. (همان جمله را تغییر دادم تا اشتباه برداشت نشود) ضمنا خودم کتاب پیشنهادی شما را هم دارم .

"اعضای تیم توسعه ++VC مایکروسافت این موضوع را بار ها تاکید کردند که توسعه بخش C++‎/CLI بسیار محدود است و هرگز مثل VB و C#‎ نخواهد بود چرا که ذکر کرده اند این کاری است که قبلا توسط سایر زبان ها انجام شده است و تمام قدرتشان بر روی همان native است." صحت این مطالب را در بلاگ های بخش توسعه ++VC مایکروسافت می توانید بررسی کنید. (این نوشته دقیقا گفته خودشان است)

لذا برنامه نویسی دات نت توسط ++C یک اشتباه است و اگر کسی می خواهد با ++C برنامه نویسی کند کار عاقلانه همان Win32 یا MFC به صورت native است.
Nima_NF آفلاین است   پاسخ با نقل قول
5 کاربر از Nima_NF به خاطر این مطلب مفید تشکر کرده اند:
قدیمی دوشنبه 12 آذر 1386, 18:43 عصر   #5
Alireza Orumand
کاربر دائمی
 
آواتار Alireza Orumand
 
تاریخ عضویت: آبان 1386
پست: 312
تشکرها: 22
192 بار تشکر شده در 113 پست
ارسال پیام از طریق Yahoo به Alireza Orumand
سلام
نقل قول:
البته که می توان با ++C با دات نت هم کار کرد و این مطلب را هر کسی می داند و این ربطی به نسخه یا نام VC ندارد و از همان ابتدا اجرایی بود
حالا که کار کردن با دات نت ربطی به نسخه ی vc نداره میشه یه مثال از کار کردن با دات نت تو vC++‎6 بزنید؟
نقل قول:
اعضای تیم توسعه ++VC مایکروسافت این موضوع را بار ها تاکید کردند که توسعه بخش C++‎/CLI بسیار محدود است و هرگز مثل VB و C#‎ نخواهد بود چرا که ذکر کرده اند این کاری است که قبلا توسط سایر زبان ها انجام شده است و تمام قدرتشان بر روی همان native است." صحت این مطالب را در بلاگ های بخش توسعه ++VC مایکروسافت می توانید بررسی کنید. (این نوشته دقیقا گفته خودشان است)
از لحاظ راحت بودن syntax شاید قابل تامل باشه ولی شما که از این نظریه حمایت میکنید بفرمایید چه کاری میشه با vb یا C#‎ انجام داد که با vc هرگز نشه انجام داد؟
نقل قول:
لذا برنامه نویسی دات نت توسط ++C یک اشتباه است و اگر کسی می خواهد با ++C برنامه نویسی کند کار عاقلانه همان Win32 یا MFC به صورت native است.
امکان استفاده از دات نت تو C++‎ هم هست. فقط کمی کار کردن با اون برای ما سخته ولی کسی که رو سی++ تسلط کافی داره و از بقیه زبان ها چیزی نمیدونه فکر کنم با کار عاقلانه ای که شما میفرمایید چندان موافق نباشه.
موفق باشید.
__________________
گواهی بخواهید اینک گواه، همین زخمهایی که نشمرده ایم
دلی سربلند و سری سر به زیر، از این دست عمری به سر برده ایم

حرفهای من
Alireza Orumand آفلاین است   پاسخ با نقل قول
کاربرانی که به خاطر مطلب مفید Alireza Orumand از وی تشکر کرده‌اند:
قدیمی دوشنبه 12 آذر 1386, 20:58 عصر   #6
Master.
کاربر جدید
 
آواتار Master.
 
تاریخ عضویت: تیر 1386
پست: 12
تشکرها: 32
6 بار تشکر شده در 4 پست
از هر دوی شما دوست عزیز ممنون و سپاسگزارم ..

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

(...من به زبان هایی مثل سی و سی ++ اشنایی دارم ..اما با توابع API ویندوز کار نکردم و قصد دارم این تجربه رو هم به کار ها م اضافه کنم .. برای همین بخاطر علاقه وافرم به سی زبان ویژوال اون رو انتخاب کردم ...)
Master. آفلاین است   پاسخ با نقل قول
2 کاربر از Master. به خاطر این مطلب مفید تشکر کرده اند:
قدیمی سه شنبه 13 آذر 1386, 00:21 صبح   #7
Nima_NF
مدیر بخش
 
آواتار Nima_NF
 
تاریخ عضویت: خرداد 1385
پست: 2,450
تشکرها: 73
2,139 بار تشکر شده در 1,139 پست
نقل قول:
نوشته شده توسط Alireza Orumand مشاهده تاپیک

از لحاظ راحت بودن syntax شاید قابل تامل باشه ولی شما که از این نظریه حمایت میکنید بفرمایید چه کاری میشه با vb یا C#‎ انجام داد که با vc هرگز نشه انجام داد؟
موفق باشید.
شما دوباره حرفی را با تندی و بدون اطلاع نقض کردید! (حتی سخن سازندگان دات نت و VC را که به نظریه تشبیه کردید)
اگر دوستانه و جهت اطلاع بپرسید جهت آگاهی به شما پاسخ می دهم.
برای آن همین چند نمونه کافی که:

1) C++‎. net برای برنامه نویسی با compact Framework که همان دات نت (ولی کوچک شده آن) برای برنامه نویسی موبایل ها ( smart phone/ PocketPC) است ، تا کنون حمایت نشده و قصد حمایت آن را هم ندارند و فقط با VB و C#‎ در حالت دات نت می توان برای آن ها برنامه نوشت و در حال حاضر توسط ++C فقط باید با همان Win32 و MFC نوشت (برای من این مورد بسیار مهم است)

2) برنامه نویسی با XNA Framework که برنامه نویسی دات نت واحد برای windows و دستگاه بازی XBOX 360 هست. در حال حاضر فقط با C#‎ می توان و در آینده با VB هم می توان نوشت.

3) محدودیت در کار با XML

4) و ده ها مورد دیگر که در موقع نیاز در بن بست گیر خواهید کرد و آن ها را به شما می سپارم

در این حوزه وسیع علم ، هیچ کس کامل و آگاه از همه چیز نیست. بیایید منطقی باشیم.
موفق باشید
Nima_NF آفلاین است   پاسخ با نقل قول
2 کاربر از Nima_NF به خاطر این مطلب مفید تشکر کرده اند:
قدیمی شنبه 17 آذر 1386, 22:09 عصر   #8
shockley
کاربر جدید
 
آواتار shockley
 
تاریخ عضویت: مهر 1385
پست: 18
تشکرها: 6
4 بار تشکر شده در 4 پست
آقا یه سوال: برنامه ای که با MFC در VS 2005 نوشته شده باشه برای اجرا نیاز به Framework داره؟
__________________
http://www.avr.ir
shockley آفلاین است   پاسخ با نقل قول
کاربرانی که به خاطر مطلب مفید shockley از وی تشکر کرده‌اند:
قدیمی یک شنبه 18 آذر 1386, 16:47 عصر   #9
Nima_NF
مدیر بخش
 
آواتار Nima_NF
 
تاریخ عضویت: خرداد 1385
پست: 2,450
تشکرها: 73
2,139 بار تشکر شده در 1,139 پست
نقل قول:
برنامه ای که با MFC در VS 2005 نوشته شده باشه برای اجرا نیاز به Framework داره؟
بله البته نه مثل دات نت و بسیار سبک و کوچک . متاسفانه با آمدن 2005 VS مایکروسافت تغییر شیوه داد و شما برای اینکه فایل اجرایی شما در هر دستگاهی اجرا شود می بایست dll های مربوط به MFC را در شاخه WinSxS با نصب نرم افزار کپی کنید.(حتی برای Win32 توابع run-time C نیاز است.) البته خوشبختانه هنوز می توان از روش قدیم استفاده کرد و در صورت نیاز تمام آن فایل ها را باید در تمامی فلدر های برنامه خود که از آن استفاده می کند ، کپی کنید و دیگر نیاز به نصب نمی باشد.
از فلدر و فایل redist در داخل VS یا سایر installer ها استفاده کنید. x86_Microsoft.VC80.MFC.XXX
Nima_NF آفلاین است   پاسخ با نقل قول
4 کاربر از Nima_NF به خاطر این مطلب مفید تشکر کرده اند:
قدیمی چهارشنبه 21 آذر 1386, 00:12 صبح   #10
توسعه نویس
کاربر دائمی
 
آواتار توسعه نویس
 
تاریخ عضویت: اردیبهشت 1386
پست: 127
تشکرها: 13
146 بار تشکر شده در 35 پست
البته گزینه ای هم وجود دارد که کتابخانه MFC را به فایل EXE شما اضافه کرده و کامپایل می کند. اینجوری فقط با افزایش چند مگ به فایل اجرایی شما، برنامه تان بدون نیاز به هیچ فایل و فریم ورک کار خواهد کرد.
توسعه نویس آفلاین است   پاسخ با نقل قول
2 کاربر از توسعه نویس به خاطر این مطلب مفید تشکر کرده اند:
پاسخ

بوک مارک کردن این تاپیک


کاربرانی که این تاپیک را مشاهده میکنند: 1 (0 کاربران و 1 مهمان)
 
ابزار های تاپیک
طریقه نمایش

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

BB code روشن است
خندانک ها روشن هستند
[IMG] روشن است
HTML خاموش است

پرش



واحد زمان برحسب ساعت لندن +3.5. ساعت هم اکنون 01:11 صبح است.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 1389, Jelsoft Enterprises Ltd.
خدمات میزبانی این سایت تحت پوشش شرکت ایران هاست می باشد.