# Native Code > برنامه نویسی با C > برنامه نویسی با MFC و ++Visual C > خبر: كتاب الكترونيكي آموزش مقدماتي VC++‎2008 ويرايش اول (MFC)

## Jenab4372

*سلام**از آنجايي كه كتاب الكترونيك خوبي به زبان فارسي در زمينه ويژوال سي پلاس پلاس در دست نيست تصميم گرفتم تا در كنار يادگيري اين زبان آموخته هاي خودم را به صورت يك كتاب درآمورم تا علاقه مندان به برنامه نويسي مانند خودم بتوانند از آن براي يادگيري اين زبان استفاده كنند. اميدوارم اين كار شروعي باشه براي اساتيد اين سايت در آموزش و نشر تجربه و علمشون به ديگران.* 
*من در تهيه اين كتاب از سه منابع زير استفاده كرده ام**.*

*كتاب آموزش ويژوال* *C++‎ 6** در 21 روز ديويس چاپمن انتشارات نص**كتاب* *Beginning**Visual C++‎**2008** نوشته* *Ivor Horton**سايت* *www.barnamenevis.org**با تشكر*
*بهزاد جناب*



*براي دانلود ويرايش اول كتاب كه شامل چهار فصل مي باشد بر روي عكس آن كليك نماييد* 
**

----------


## emadfa

دوست عزیز 
حرکت زیبایی است! به واقع تلاش برای پیشرفت و گسترش علم برنامه نویسی ( به خصوص برای کابران فارسی زبان ) حرکتی دوست داشتنی و قابل احترام است. برای آغاز این حرکت به شما تبریک می گویم. *اما* اگر به داشته ها بسنده کنیم پیشرفت هیچ گاه میسر نخواهد داشت بنابراین لازمه پیشرفت انتقاد است! من کتاب شما را به شکل سریع بررسی کردم و با توجه به این که به این زبان نه در سطح پیشرفته بلکه تا حد زیادی آشنایی دارم چند انتقاد دارم:
1) در تمام دنیا چه برای آموزش .Net و چه برای آموزش ++C ( که به حق زبان ظریف و زیبایی است! ) برای آموزش از برنامه های کنسولی و در سطوح پیشرفته از برنامه های تحت ویندوز استفاده می شود! درست است که برنامه نویسی ویندوز برای بسیاری لذت بخش! است اما فراموش نکنیم که برای یادگیری اصل یک زبان باید به شکل خالص بدان پرداخته شود! توصیه من به شما این است که در نگارش های آینده اکثریت کتاب را به برنامه نویسی کنسولی اختصاص دهید ( شیوه مرسوم در دنیا ) و سپس به شکل پایه برنامه نویسی تحت ویندوز را آموزش دهید. البته شاید این روش برای برنامه نویسی .Net چندان ضروری نباشد اما برای زبان بسیار وسیع و قدرتمندی هم چون C++‎ یک باید است!

2) مفاهیم C++‎ بسیار وسیع است بنابراین توصیه می کنیم که مباحث به شکل دقیق مطرح شوند. یک کتاب برنامه نویسی زمانی موفق است که فرض کند کاربر از برنامه نویسی چیزی نمی داند و اکنون می خواهد در سطح متوسط آن را بیاموزد! رمز موفقیت کتاب هایی نظیر کتاب آقای Ivor Horton  دقیقا همین است!

البته قصد من تنها برطرف کردن نواقص بود! امیدوارم با گسترش این گونه مقالات و کتاب ها نقاط ضعف آن نیز برطرف گردد!
با آرزوی موفقیت برای شما دوست عزیز
موفق باشید.

----------


## ...StacK...

اگه استاندارد ها جدید زبان هم لحاظ بشه عالیه

----------


## Jenab4372

سلام به دوست عزيز emadfa من تجربه كمي در C ويندوز دارم فقط دو سال C داس كار كردم.اين مقاله هم را در هنگام يادگيري نوشتم و نظر بنده اين است كه اين روش باعث ايجاد علاقه و انگيزه بيشتري مي شود و خواننده زود خسته نمي شود. چون برنامه هاي عملي آن سريع به نتيجه مي روسد. و كلا نظر من علاقه مند كردن افراد به برنامه نويسي و آشنايي آنها براي ادامه آن است نه صرفا از طريق يك چنين كتاب كوچكي چيز زيادي ياد بگيرند. 

به هر حال از اساتيدي كه در اين سايت فعاليت دارند تقاضا دارم تا اگر مي توانند آموخته هاي خود را به صورت چنيين مقالاتي در آورند تا هم وقط خودشان و ديگران در سئوال كردن و جواب دادن گرفته نشود و كابران پس از مطالعه اين مقالات يا كتابهاي كوچك اگر سوالي داشتند بپرسد.
اگر اين همه كاربري كه اين سايت دارد هر كدام ده صفه مقاله از تجربيات برنامه نويسي مي نوشتند تا حالا ده هزار مقاله مفيد داشتيم. البته تقازاي بنده اين است كه از دوباره كاري پرهيز شود.

----------


## Nima_NF

ضمن تشکر بابت وقتی که گذاشتید، لازم دیدم یک نکته را ذکر کنم.

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



> ++C فایلهاي متکی به خود می سازد. همین که برنامه تان را کامپایل و لینک کردید دیگر می توانید فایل exe را بدون هیچ دغدغه اي به دیگران بدهید.


این موضوع برای کامپایلرهای 10 سال قبل ++VC صادق هست. در کامپایلرهای جدید همواره نسخه C run-time library که برای کتابخانه های استاندارد زبان ++C/C هستند (تحت عنوان visual C++‎ libraries) باید در سیستم کاربر نصب شوند یا dll های مورد نیاز در کنار فایل اجرایی کپی شوند. (در هر حال این موارد کمتر از 3MB است )
 اطلاعات بیشتر در FAQ شماره 4 (که قبلا خودتان همین سوال را پرسیده بودید)

امیدوارم این مقاله ادامه داشته باشد و چه بهتر که در بخش های مختلف، اشتباهات مرسوم که برخی از آن ها را  در بخش FAQ قرار داده ام، تذکر داده شوند.

ضمنا از نظر بنده با وجود این همه کتاب فارسی برای زبان ++C/C در سطح کنسول نیازی نمی بینم که به خود آموزش زبان در مقاله پرداخته شود، اگر محدود به موارد برنامه نویسی پیشرفته MFC باشد و تنها تغییرات مورد نیاز ذکر شوند کفایت می کند.

توصیه می کنم فایل مقاله را در بخش دانلود فایل ها قرار دهید.

موفق باشید

----------


## nelhami1

آقای بهزاد سلام و مرسی از مطلب خوبتون.امیدوارم سریعتر تکمیل بشه. من برای پروژه خودم که با vC++‎ باید بنویسم از روی کتاب ویژوال C++‎ در 21 روز درس 10 را  که ایجاد مدرک sdi و طراحی برنامه نقاشی است کامل در محیط 2008 نوشتم ولی هنگام اجرا نمی توانم با کمک موس هیچ شکلی روی صفحه باز شده بکشم .خواهش میکنم کمکم کنید و بگین ایراد کار کجاست؟ بسیار سپاسگزارم

----------


## Jenab4372

> آقای بهزاد سلام و مرسی از مطلب خوبتون.امیدوارم سریعتر تکمیل بشه. من برای پروژه خودم که با vC++‎ باید بنویسم از روی کتاب ویژوال C++‎ در 21 روز درس 10 را که ایجاد مدرک sdi و طراحی برنامه نقاشی است کامل در محیط 2008 نوشتم ولی هنگام اجرا نمی توانم با کمک موس هیچ شکلی روی صفحه باز شده بکشم .خواهش میکنم کمکم کنید و بگین ایراد کار کجاست؟ بسیار سپاسگزارم


سلام
  من خودم تازه برنامه نويسي با VC رو شروع كردم و تازه تا فصل 4 كتاب كه در مورد تايمر هست بيشتر نخوندم. تا به اونجا برسم كار داره.
شما سئوالتون رو در بخش به طور كامل بيان بفرماييد كه دقيقا چه خطايي از چه خطي ميگيرد تا مديران شما را راهنمايي كنند.
به اين كتاب گاه نكنيد، من هنوز خودم در حال آموزش هستم. :گریه:

----------


## nelhami1

> سلام
> من خودم تازه برنامه نويسي با VC رو شروع كردم و تازه تا فصل 4 كتاب كه در مورد تايمر هست بيشتر نخوندم. تا به اونجا برسم كار داره.
> شما سئوالتون رو در بخش به طور كامل بيان بفرماييد كه دقيقا چه خطايي از چه خطي ميگيرد تا مديران شما را راهنمايي كنند.
> به اين كتاب گاه نكنيد، من هنوز خودم در حال آموزش هستم.


1>------ Build started: Project: online, Configuration: Release Win32 ------
1>Compiling...
1>onlineView.cpp
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(46) : error C2146: syntax error : missing ';' before identifier 'm_nColor'
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(46) : error C4430: missing type specifier - int assumed. Note: C++‎ does not support default-int
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(46) : error C4430: missing type specifier - int assumed. Note: C++‎ does not support default-int
1>.\onlineView.cpp(57) : error C2660: 'ConlineDoc::GetLineCount' : function does not take 0 arguments
1>onlineDoc.cpp
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(46) : error C2146: syntax error : missing ';' before identifier 'm_nColor'
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(46) : error C4430: missing type specifier - int assumed. Note: C++‎ does not support default-int
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(46) : error C4430: missing type specifier - int assumed. Note: C++‎ does not support default-int
1>.\onlineDoc.cpp(76) : error C2661: 'CLine::CLine' : no overloaded function takes 2 arguments
1>.\onlineDoc.cpp(84) : error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument types
1> H:\vC++‎\atlmfc\include\afxwin.h(5372): could be 'int AfxMessageBox(LPCTSTR,UINT,UINT)'
1> H:\vC++‎\atlmfc\include\afxwin.h(5374): or 'int AfxMessageBox(UINT,UINT,UINT)'
1> while trying to match the argument list '(const char [14], long)'
1>.\onlineDoc.cpp(96) : error C2511: 'void ConlineDoc::GetLineCount(void)' : overloaded member function not found in 'ConlineDoc'
1> c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(9) : see declaration of 'ConlineDoc'
1>online.cpp
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(41) : error C2143: syntax error : missing ';' before '*'
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(41) : error C4430: missing type specifier - int assumed. Note: C++‎ does not support default-int
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(41) : error C4430: missing type specifier - int assumed. Note: C++‎ does not support default-int
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(41) : warning C4183: 'AddLine': missing return type; assumed to be a member function returning 'int'
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(43) : error C2143: syntax error : missing ';' before '*'
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(43) : error C4430: missing type specifier - int assumed. Note: C++‎ does not support default-int
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(43) : error C4430: missing type specifier - int assumed. Note: C++‎ does not support default-int
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(43) : warning C4183: 'GetLine': missing return type; assumed to be a member function returning 'int'
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(46) : error C2146: syntax error : missing ';' before identifier 'm_nColor'
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(46) : error C4430: missing type specifier - int assumed. Note: C++‎ does not support default-int
1>c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\onlineDoc.h(46) : error C4430: missing type specifier - int assumed. Note: C++‎ does not support default-int
1>Line.cpp
1>.\Line.cpp(14) : error C2512: 'CLine' : no appropriate default constructor available
1>.\Line.cpp(18) : error C2511: 'CLine::CLine(void)' : overloaded member function not found in 'CLine'
1> c:\documents and settings\elhami\my documents\visual studio 2008\projects\online\online\Line.h(6) : see declaration of 'CLine'
1>.\Line.cpp(55) : fatal error C1004: unexpected end-of-file found
1>Build log was saved at "file://c:\Documents and Settings\elhami\My Documents\Visual Studio 2008\Projects\online\online\Release\BuildLog.htm"
1>online - 22 error(s), 2 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped 
==========
اینا لسیت خطاهایی که برنامم داره. خیلیاش از نظر من بی منطق و خیلیاش هم قابل درک نیست.بازم شما یه نگاه بندازین امیدوارم بتونید کمکم کنید. اگه بتونم برنامه درس 3 رو هم طوری کامل کنم که نقاشی کشیده شده رو ذخیره کنم میتونم پروژمو ادمه بدم.اگه راهشو میدونید راهنمایی کنید. باز هم بسیار سپاسگذارم از توجه و پاسخگویی تان.موفق باشید :خجالت:

----------


## متخصص بورس

من قصد یادگیری زبان برنامه نویسی ++c رو داشتم به نظرتون اگه با vC++‎ 2008کارکنم با  ++c تفاوت زیادی داره؟ من جزوه دیتلو گرفتم ولی نتونستم برنامه ای پیدا کنم که توابع کتاب در اون برنامه اجرا بشه و ارور های مختلفی میداد. ولی فکر کنم کار با visual C++‎ 2008  راحتتر و محیطش هم مناسبتر باشه برای برنامه نویسی.
نظرتون درباره اینکه یک مبتدی با این برنامه شروع کنه چیه؟

----------


## هانی oyama

سلام من هر چه قدر کد++ c رو  در ویجوال میزانم eroor میده

----------


## ...StacK...

سوسای  
1-بهتره یه تاپیک جداگانه واسه سوالت ایجاد کنی(تو بخش -c-C++‎)
2-وقتی سوال میکنی ...تمام مراحلی رو که انجام میدی و error میگیری رو اینجا بنویس تا بشه
مشکل رو برسی کرد...و پاسخ داد.

3-قبل از سوال کمی در سایت مطالعه و جستوجو انجام بده ,تا موارد تکراری دوباره باعث spam نشه...

بیچاره این مدیرا گناهی ندارن که ما فرهنگ استفاده از فروم را نداریم...(شامل خودم)

----------


## Jenab4372

> من قصد یادگیری زبان برنامه نویسی ++c رو داشتم به نظرتون اگه با vC++‎ 2008کارکنم با ++c تفاوت زیادی داره؟ من جزوه دیتلو گرفتم ولی نتونستم برنامه ای پیدا کنم که توابع کتاب در اون برنامه اجرا بشه و ارور های مختلفی میداد. ولی فکر کنم کار با visual C++‎ 2008 راحتتر و محیطش هم مناسبتر باشه برای برنامه نویسی.
> نظرتون درباره اینکه یک مبتدی با این برنامه شروع کنه چیه؟


سلام
    در واقع تفاوتي بين اين دو نيست فقط محيط Visual C++‎ 2008 خيلي از كدها رو براي شما مينويسه و كار شما رو راحتتر ميكنه. شما با همين كتاب از MFC شروع كنيد و ادامه بديد.

----------


## arlan001

سلام من میخوام ویژال C++‎2008 یاد بگیرم وقبلا با c و C++‎ کار کردم الان میخوام به صورت حرفه ای کار کنم.
ولی مشکلی که دارم اینه که 1) آیا در ویژال بدون تعریف کلاس میشه برنامه نویسی کرد؟ 2) برای درک بهتر مفهوم کلاس چه روشی رو پیشنهادی می کنین؟

----------


## __Genius__

سلام ؛
کار جالبي انجام دادين ممنون ولی اگه بيشتر روش کار ميکردين بهتر بود ...
به هر صورت ارزشمند هست .

----------


## متخصص بورس

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

----------


## hosseinkhsoravi

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

----------


## Jenab4372

> دوستان عزیز شما را به خدا رعایت حال زبان فارسی را هم بکنید. 
> آقای بهزاد جناب: متغییر اشتباهه، متغیر درسته
> آقای بهزاد جناب: مرعی اشتباهه، مرئی درسته
> سایر دوستان: ویجوال اشتباهه، ویژوال درسته (هرچند فارسی نیست)
> سپاسگذار اشتباهه، سپاسگزار درسته
> فارسی را پاس بداریم


بخاطر اينه كه توي ابتدايي مشقامو نمينوشتم و هميشه ديكتمو با نمره ده قبول مي شدم بود. :گریه: 
زمان خدمت توي دبيرخانه كه بودم يادمه هميشه نامه هاي فرمانده رو كه تايپ مي كردم و به دستش مي دادم اول مي خوند و غلط گيري ميكرد و مجبور بودم دوباره چاپ كنم تا اينه غلت ياب فارسي روي Word نصب كردم. :قهقهه:

----------


## Jenab4372

سلام
ويرايش دوم كتاب آموزش مقدماتي MFC به اتمام ريسده و به زودي در سايت قرار ميگريد.

----------


## abdlink

سلام
من هنوز اين كتاب رو با دقت نخوندم. ولي فكر مي كنم خيلي به دردم بخوره...
به هر جهت خيلي ازتون ممنونم كه تجربيات و دانسته هاتون رو در اختيار ديگران قرار مي دين. :تشویق:

----------


## navidrtl

برای ساختن Project جدید وارد File->New->Project میشم ولی اونجا MFC نمی بینم چیکار باید بکنم راهنماییم کنید

----------


## Jenab4372

> برای ساختن Project جدید وارد File->New->Project میشم ولی اونجا MFC نمی بینم چیکار باید بکنم راهنماییم کنید


در پنجره اي كه باز ميشه در سمت چپ (Project Types) از شاخه ++Visual C گزينه MFC رو انتخاب كنيد، سپس در سمت راست(Templates) ميتونيد MFC Application رو ببينيد.

----------


## navidrtl

بله منم به همون جایی که شما میگید مراجعه می کنم خودتون در تصویر ضمیمه مشاهده کنید که نیست ، به نظرتون چطور می تونم اضافش کنم؟

----------


## Jenab4372

> بله منم به همون جایی که شما میگید مراجعه می کنم خودتون در تصویر ضمیمه مشاهده کنید که نیست ، به نظرتون چطور می تونم اضافش کنم؟


راستش منم اولين باريه كه همچين موردي رو ميبينم  :متعجب: ، شايد نسخه VS شما اكسپرس هستش يا بد نصب شده و يا اينكه به صورت كامل (Complete) نصب نشده.
شما يك بار ديگه VS رو پاك و از اول نصبش كنيد شايد درست شد.

----------


## Nima_NF

نسخه express امکانات تجاری مانند MFC را ندارد، باید نسخه تجاری را تهیه کنید.

----------


## navidrtl

عذر می خوام دوستان اگر کسی لینک دانلود نسخه تجاری ویژوال بیسیک 2008 رو داره لطف کنه بزاره تا استفاده کنیم (داخل سایت گشتم ولی نتونستم یه همچین لینکی پیدا کنم)

----------


## Jenab4372

> عذر می خوام دوستان اگر کسی لینک دانلود نسخه تجاری ویژوال بیسیک 2008 رو داره لطف کنه بزاره تا استفاده کنیم (داخل سایت گشتم ولی نتونستم یه همچین لینکی پیدا کنم)


حجمش خيلي زياده مگه ADSL داري؟ تازه اگرم داشته باشي ترافيكتو بي خودي حروم نكن برو DVD يش رو بخر.

بعدشم ويرايش دوم كتابم حاظر شده دانلود كردي؟ حتما از دومي استفاده كن چون خيلي كاملتره و ايرادات قبلي هم گرفته شده.

به اين تاپيك برو

https://barnamenevis.org/showthread.php?t=185403

----------


## navidrtl

ADSL دارم ولی فکر کنم سی دی شو بخرم بهتر باشه ، بله نسخه دوم رو دانلود کردم بسیار عالی بود و استفاده کردم .
ممنون

----------


## habibetaheri

> *سلام**از آنجايي كه كتاب الكترونيك خوبي به زبان فارسي در زمينه ويژوال سي پلاس پلاس در دست نيست تصميم گرفتم تا در كنار يادگيري اين زبان آموخته هاي خودم را به صورت يك كتاب درآمورم تا علاقه مندان به برنامه نويسي مانند خودم بتوانند از آن براي يادگيري اين زبان استفاده كنند. اميدوارم اين كار شروعي باشه براي اساتيد اين سايت در آموزش و نشر تجربه و علمشون به ديگران.* 
> *من در تهيه اين كتاب از سه منابع زير استفاده كرده ام**.*
> 
> *كتاب آموزش ويژوال* *C++‎‎ 6** در 21 روز ديويس چاپمن انتشارات نص**كتاب* *Beginning**Visual C++‎‎**2008** نوشته* *Ivor Horton**سايت* *www.barnamenevis.org*
> *با تشكر*
> *بهزاد جناب*
> 
> 
> 
> ...


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

----------


## Nima_NF

> من که عکس کتاب نمی بینم 
> میشه بفرمایید چه طور میشه دانلود کرد؟


به اعلان های بخش مراجعه کنید، ایشان ویرایش دوم را آماده کرده اند، لذا دیگر این نسخه در دسترس نیست و باید نسخه 2 را دانلود کنید.

این تاپیک قفل می شود.

----------

