# Native Code > برنامه نویسی با C > برنامه نویسی با MFC و ++Visual C >  سوالاتی پیرامون ویژال سی!

## hector2000

با سلام
من دانشجوی فوق دانشگاه ازاد در رشته نرم افزار هستم.تاکنون زبانهای زیادی را به ارائه دادند که الزاما همگی انها مورد قبول بازار کار و دنیای امروز برنامه نویسی نبودند.بهرحال تا به امروز تخصصم طراحی صفحات وب با asp.net و از طریق vb.net و همچنین ساخت Application از طریق Vb.net  بود.اما همیشه فکر می کردم که یک چیزی در زندگیم کمه و با من جور نیست.یعنی همیشه وقتی کامپیوتر را روشن می کردم میل و رغبت انچنانی برای باز کردن ویژال استودیو نداشتم ولی ناچارن این کار را می کردم.
تصمیم دارم که یک رویه مشخص را دنبال کنم و برای همیشه با as.net و vb.netخداحافظی کنم و برم سراغ چیزی که برای اجرای برنامه هایش  *نیازی به فریم ورک نداشته باشد*،*سطح دسترسی به منابع در حد بسیار خوبی باشد*،*سرعت اجرای برنامه هایش یک سر و گردن  از vb.net بالاتر باشد* و.. چیزی که بهش رسیدم همان ویژال سی بود که البته در قالب MFC. اول تصمیم داشتم به سراغ دلفی برم و پشیمان شدم چون واقعا حتی سینتکس این برنامه را نمیدانم(از زمانی که پاسکال را پاس کردم زمان زیادی می گذرد)
و اعتقاد دارم که سی از ان قوی تر است(نمرات و استعداد بسیار خوبی در درسهای سی دارم)حال این تاپیک را باز کردم که از دوستان برای حل مشکلاتم در ویژال سی کمک بگیرم
امیدوارم که دوستان من را تنها نگذارند.
ممنون

----------


## hector2000

خوب دوباره سلام
بعنوان اولین سوال :ایا شما یک گرید(همان دیتا گرید معروف)پیشرفته با امکانات خوب که قابلیت وصل شدن به adodc را داشته باشد را سراغ دارید؟
من مثلا پیشرفته ترینش را که پیدا کردم IDC_MSHFLEXGRID2  بود که زیاد هم کامل نیست

----------


## hector2000

هیچ پاسخی؟

----------


## حسین محمدی

با سلام

بنده به برنامه نویسی علاقه خاصی دارم و با دیتابیس نیز کار کرده ام. من نیز vb کار کرده ام و کمی با C#‎ .Net کار کرده ام. پاسکال را نیز مدتها پیش به صورت تقریبا کامل کار کرده بودم. ولی هیچکدام از این زبانهای برنامه نویسی قانع کننده نبود و یک جوری سینتکس آنها راضی کننده نبود. بالاخره بعد از مدتها کار کردن با آنها گمشده خود را در C++‎ پیدا کردم و با استفاده از کلاسهای MFC و ATL راه بسیار روشنی را در جلوی خود دیدم. 

در مورد grid هایی که شما قبلا در .net استفاده می کردید باید بگویم در mfc قضیه مشابه صورت قبل نیست که شما یک component یا یک control را در سی استفاده کنید و به راحتی به دیتابیس وصل شوید و کارتان را ادامه دهید.

در سی کار کمی طولانی تر است و خودتان جزئیات کار را درست خواهید کرد. مثلا من خودم یک برنامه با سی نوشته ام که با دیتابیس کار می کند و به جای استفاده از component ها و کنترلهای .net از CListCtrl سی استفاده کرده ام.

هرچند امکان استفاده از component ها و کنترهای .net نیز وجود دارد ولی محدودیتهای آنها بسیار زیاد است.

----------


## mehrzad007

> هیچ پاسخی؟


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

----------


## hector2000

componet بهتری سراغ ندارید؟

----------


## حسین محمدی

خیر ولی اگر دنبال کمپوننت خوبی می گردید حتما به سایت http://www.componentone.com یک سری بزنید.

----------


## linux

> با سلام
> من دانشجوی فوق دانشگاه ازاد در رشته نرم افزار هستم.تاکنون زبانهای زیادی را به ارائه دادند که الزاما همگی انها مورد قبول بازار کار و دنیای امروز برنامه نویسی نبودند.بهرحال تا به امروز تخصصم طراحی صفحات وب با asp.net و از طریق vb.net و همچنین ساخت Application از طریق Vb.net بود.اما همیشه فکر می کردم که یک چیزی در زندگیم کمه و با من جور نیست.یعنی همیشه وقتی کامپیوتر را روشن می کردم میل و رغبت انچنانی برای باز کردن ویژال استودیو نداشتم ولی ناچارن این کار را می کردم.
> تصمیم دارم که یک رویه مشخص را دنبال کنم و برای همیشه با as.net و vb.netخداحافظی کنم و برم سراغ چیزی که برای اجرای برنامه هایش *نیازی به فریم ورک نداشته باشد*،*سطح دسترسی به منابع در حد بسیار خوبی باشد*،*سرعت اجرای برنامه هایش یک سر و گردن از vb.net بالاتر باشد* و.. چیزی که بهش رسیدم همان ویژال سی بود که البته در قالب MFC. اول تصمیم داشتم به سراغ دلفی برم و پشیمان شدم چون واقعا حتی سینتکس این برنامه را نمیدانم(از زمانی که پاسکال را پاس کردم زمان زیادی می گذرد)
> و اعتقاد دارم که سی از ان قوی تر است(نمرات و استعداد بسیار خوبی در درسهای سی دارم)حال این تاپیک را باز کردم که از دوستان برای حل مشکلاتم در ویژال سی کمک بگیرم
> امیدوارم که دوستان من را تنها نگذارند.
> ممنون


شما بازار کار را حتما در نظر بگیرید. کاری که  انجام می دهید باید از نظر اقتصادی هم توجیه داشته باشد.

----------


## Nima_NF

> شما بازار کار را حتما در نظر بگیرید. کاری که  انجام می دهید باید از نظر اقتصادی هم توجیه داشته باشد.


بسیاری از شرکت های قدرتمند در سطح کشور برنامه نویسان ++C می خواهند از جمله مهم ترین آن ها طی ماه های اخیر بود که در حال استخدام چند برنامه نویس MFC برای کارت خوان های بانک ها بودند.
تا برنامه نویسی وجود نداشته باشد نباید انتظار داشته باشید کاری هم برایش باشد، که البته خوشبختانه علی رغم حس راحت طلبانه اکثر برنامه نویسان ما در ایران، هنوز به طور کامل نابود نشده است.

----------


## hector2000

ایا امکان اجرا شدن برنامه های تحت mfc در ویندوز 98 هم هست؟

----------


## Nima_NF

بله برای 98 هم می توانید، به شرط اینکه از جدیدترین SDK که امسال منتشر شده است (نسخه ای که همراه VS2008 می باشد) استفاده نکنید.

----------


## hector2000

> بله برای 98 هم می توانید، به شرط اینکه از جدیدترین SDK که امسال منتشر شده است (نسخه ای که همراه VS2008 می باشد) استفاده نکنید.


چگونه؟
من به هر طریقی که پروژه ام را کامپایل می کنم بازم در 98 اجرا نمی شود

----------


## amir_civil

با سلام
به نظر من اگر dllهای مربوطه همراه برنامتون باشه مشکلی پیش نمیاد

----------


## hector2000

> با سلام
> به نظر من اگر dllهای مربوطه همراه برنامتون باشه مشکلی پیش نمیاد


نه متاسفانه اجرا نمیشه!

----------


## Nima_NF

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

ابتدا باید مشخص کنید که از کدام نسخه کامپایلر استفاده می کنید، آیا dll های مورد نیاز را کپی می کنید، و اینکه پروژه باید به صورت غیر یونیکد برای win98 کامپایل شود مگر با MSLU.

ضمنا برای اینکه برای win98 به بعد کامپایل انجام شود حتما باید در فایل stdafx.h کد های زیر را تعریف کنید:

#ifndef WINVER               
#define WINVER 0x0410         // for win98 and above
#endif

#ifndef _WIN32_WINDOWS       
#define _WIN32_WINDOWS 0x0410
#endif
برای IE نیز به همین ترتیب تعریف کنید.

----------


## hector2000

من از vs2008 استفاده می کنم و گزینه Use MFC in a Static Library را انتخاب کردم
بعد از قرار ادن کد شما کلی ارور بوجود امد و اصلا پروژه کامپایل نشد

----------


## Nima_NF

چند پست بالاتر توضیح اولیه را دادم!



> بله برای 98 هم می توانید، به شرط اینکه از جدیدترین SDK که امسال منتشر شده است (نسخه ای که همراه VS2008 می باشد) استفاده *نکنید*.


در نسخه 2008 ، دیگر ویندوز های زیر 2000 پشتیبانی نمی شود، از طریق کامپایلرهای نسخه های قبل به همراه SDK های قدیمی تر این کار امکان پذیر هست.

----------


## hector2000

با سلام و تشکر
من از vC++‎6 استفاده کردم و یک پروژه بسیار ساده نوشتم و پروژه در ویندوز 98 اجرا شد
حال یک پروژه کوچک دیتابیسی (با بانک اکسس) که شامل datagrid وadodc می شود نوشتم که در ویندوز اکس پی براحتی اجرا می شود اما با وجود اینکه من ocx های این کامپونتهای استفاده شده را در ویندوز 98 کپی کردم ولی اجرا نشد.ایا راهی هست؟

----------


## hector2000

بعنوان سوال دیگر:
من یک list view در برنامه ام گذاشتم و می خواهم که در ان تصاویری که می خواهم نمایش داده شود.برای گذاشتن تصاویر می بایستی از image list استفاده کرد که من این کار را کردم.ولی نمیدانم چرا list view این image list را شناسایی نمی کند(احتمالا یک باگ در ide است)یهر حال می بایستی این کار را توسط کد نویسی انجام دهم.ایا کسی می تواند در این زمینه به من کمک کند؟
(من دقیقا همین مشکل را در toolbar control هم دارم)

----------


## hector2000

هیچ پاسخی نیست؟

----------


## alimahdavi675

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

----------

