مشاهده نسخه کامل
: کمک در مورد Visual C++ .net
ebicross
21-02-2011, 10:38
سلام دوستان.
من قبلا در محیط خود Turbo C++ مینوشتم ولی الان مجبورم با V C++ .net بنویسم.
Visual Studio 2010 دارم ولی اصلا نمیدونم چطوری باید شروع کنم.
برنامه هام رو کامپایل نمیکنه و انواع و اقسام خطا میده.
نکته ی دیگه اینکه با توجه به اینکه ویندوز من 64 بیتی هستش؛ برنامه ی من در ویندوزهای دیگه هم اجرا میشه یا نه مشکلی نیست؟ آخه برنامه های Turbo C++ توی 64 بیت اجرا نمیشه.
ممنون میشم کمک کنید.
MosaferJade
21-02-2011, 15:23
سلام
دوست من ویژال C++.net با Turbo c++ 0 فرق میکنه
اینجا محیط گرافیکی هستش و برنامه به صورت اوتوماتیک برات فرم درست میکنه
کنترل هایی که تو قسمت toolbox هست رو می ریزی رو ی فرم و ظاهرش رو می سازی
البته کد هایی مثل دستور if یا for یا خیلی چیزای دیگه رو میشه اینجا نوشت و اجرا هم میشه
اما بعضی کد های دیگه مثل دستور cin یاcout و بعضی چیزای دیگه رو نمیشه اینجا استفاده کرد
اینم بگم که برنامه به طور اتوماتیک برات تابع main رو درست میکنه واصلا لازم نیست نا راحت باسی که چرا
تابع main رو ننوشتم
اگه سوالی داشتی همینجا مطرح کن اگه بتونم حتما جواب میدم
راستی اگه بتونی یه PDF آموزشی پیدا کنی بد نیست
من خودم C# ;hv ld;kl اما زیاد با هم فرق ندارن بیشتر کد هاشون مثل هم هست
مرسی
ebicross
22-02-2011, 16:02
با تشکر.
ببینید من این رو برای نوشتن برنامه به صورت حرفه ای نمیخوام.
اصلا بزارید راحت تر بگم که زودتر به نتیجه برسیم.
فرض کنید یک برنامه ی کامل در محیط Turbo C++ نوشتم. حالا میخوام این برنامه که مثلا میدونم سالمه و کامپایل میشه رو در محیط VC++ .net کامپیال و اجرا کنم.
باید دقیقا چه تغییراتی بدم یا چیکار کنم؟
MosaferJade
23-02-2011, 21:50
سلام
اگه بدونم چه کدی هست شاید بهتر بدونم کمکتون کنم
اون صفحه سیاهی که در turbo برای اجرا بالا می اومد در اینجا فکر نکنم اصلا وجود داشته باشه
ولی شاید اینجور براتون بگم به دردتون بخوره
شما مثلا در turbo نوشتید که
main()0
{0
int x;0
cin>>x;0
if(x==2)0
cout<<"OK";0
}0
این برنامه رو در اینجا به این صورت بنویسید که(البته به روش های مختلف می شه نوشت) ابتدا روی فرم یک عدد
textbox یک عدد button ویک عدد label به صورت شکل قرار دهید
2- روی button دابل کلیک کنید
3- در صفحه کدی که باز می شود و در جایی که اشاره گر متن چشمک می زند این کد را وارد کنید
if(TextBox1.Text=="2")0
Label1.Text="OK";0
و برنامه را اجرا کنید
در textbox عدد 2 را وارد کنید و button را بزنید
عبارت OK را بر روی label برای شما چاپ می کند
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
موفق باشید
ebicross
24-02-2011, 14:05
ممنون برای وقتی که میزارید.
ببینید منظور من برنامه های بسیار ساده ای هستند که مثلا اجرا میشن و یک ورودی میگیرن و مثلا فاکتوریل اون عدد رو حساب میکنند و نمایش میدن.
ببینید یه همچین برنامه ی ساده ای رو در نظر بگیرید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این در Turbo C++ کامپایل میشه و فایل اجراییش برای استفاده های بعدی ایجاد میشه.
اما همین برنامهدر محیط Visual Studio کلی خطا میده.
من از Visual Studio 2010 استفاده میکنم.
میخوام بدونم دقیقا باید چه کارهایی برای شروع برنامه نویسی در VC++ .net باید انجام بدم. یعنی محیطش آماده بشه تا بنویسم. مشکلم هم اینه که با Turbo C مشکلی ندارم ولی بنا به دلایلی بدون آموزش قبلی و دانسته های قبلی مجبورم از VC++ .net استفاده کنم.
بازم تشکر میکنم از راهنمایی هاتون.
MosaferJade
25-02-2011, 01:39
بازم سلام
دوست عزیز مثل اینکه اصلا متوجه نشدید چی گفتم . می گم که تو turbo یه صفحه ساده هست (فایل اجرا شده) که باز میشه وشما اطلاعاتتون رو وارد میکنید و با Enter اون دستور اجرا می شه ولی اینجا محیط کاملا فرق می کنه اینجا تابع main رو خود برنامه می سازه و درون این تابع توابع دیگری تعریف می کند و کلا فرم ها رو به صورت گرافیکی کد هاش رو می نویسد تنها کاری که شما انجام می دهید این است که کلاس فرم را کامل کنید که شامل همین تابع button1_click و دیگر توابعی که در این کلاس تعریف میکنید حتی اینکه این تابع را کجا ی برنامه فراخوانی کنیم هم توسط برنامه وبه صورت اتوماتیک و در جای مناسب فراخوانی می شود
اما بریم سراغ برنامه ای که شما نوشتید
این برنامه به وسیله حلقه for آرایه a با 10 خانه را مقدار دهی می کند و در مقدار دهی هر خانه یک واحد به متغییر c می افزاید
(برنامه ای بهتر از این نمی توانستید مثال بزنید) و در آخر عبارت داخل متغیر c را به خروجی می فرستد(چاپ می کند)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید من فکر می کنم شما در Turbo C++0 هم مبتدی هستید بگذریم این برنامه در ویژال به صورت های مختلفی می تواند نوشته شود
که در پیام قبلی در باره چگونه نوشتن آن با مثال تو ضیح دادم
حالا اگر شما متوجه حرفهای من نمی شوید به این خاطر هست که شما از این زبان چیزی نمی دانید و همچنین بنده احتمال می دهم که شما فلوچارت ها را حوب یاد نگرفته اید
راستی این رو هم بگم که عبارت include که Turbo می نوشتید در اینجا (تا آنجا که من دیدم) کار بردی ندارد و به جای آن ار using استفاده می شود و اشیا را (همان کلاس )بر اساس نوع کار کردشان در یک namespace قرار داده شده اند که برای استفاده از آن شی باید یا آن را با دستور using برای برنامه تعریف کنید یا اینکه در کد نویسی صورت کامل آن را تایپ کنید
در آخر هم اینکه این اگه وقت کنم برنامه معادلش را کامل می نویسم برایتان آپلود می کنم و لینکش رو برایتان می گذارم
فقط این نکته رو هم بگم که من باVisual Studio 2008 این برنامه رو واستون می نویسم
ولی زیاد فرقی ندارد و قابل اجرا خواهد بود
شما کلا می خواهید با ویژال برنامه بنویسید یا اینکه کد های نوشته شده قبلی را در ویژال کامپایل و امتحان کنید
اگر می خواهید برنامه نوشته شده به زبان c++0 را به کد ویژال تبدیل کنید همان توضیحاتی که گفتم و البته بهتر است این زبان را تا حدودی بلد باشید
اما اگر می خواهید کد c++0 را بدون هیچ تغییری در ویژال کامپایل کنید با اینکه فکر می کنم چنین چیزی امکان ندارد ولی یه کچولو تحقیق می کنم بهتون خبر می دم والبته بازم بگم که فکر می کنم حداقل حداقل اون قسمت include را با دستور using جابجا و هیدر فایل ها را کلا باید عوض کنید تا جواب بده به هر حال کلا براتون تو یه فایل زیپ قرار می دم تا دانلودش کنید
اگه بازم سوالی باشه در خدمتیم
ebicross
25-02-2011, 10:38
بازم تشکر میکنم.
بله من توی برنامه نویسی مبتدی هستم همونطور که گفتم.
بابت توضیحاتتون ممنونم.
متوجه اصل قضیه شدم. من فکر میکردم اساس کار شبیه همه ولی الان میبینم نمیشه.
راستش مشکل اینه که استاد قبلیمون توی Turbo c++ آموزش میداد و این استاد جدیده بدون هیچ مقدمه ای گفته باید (شدیدا اجبار) که توی VC++ .net برنامه هاتون رو بنویسید. هیچ آموزشی هم نمیده چون به دانشجوهای خودش قبلا توضیح داده میگه برین از اونها بپرسید. خلاصه داره زیر فشار ما رو له میکنه.
منم به شدت از برنامه نویسی متنفرم...
خلاصه ممنون بابت راهنمایی هاتون.
hamedvahedi
25-02-2011, 12:29
زياد سخت نگيريد. برنامه هاي TC هم در VS اجرا ميشه؛ البته يه تغييرات کوچکي بعضا نياز داره.
پروژه جديد ايجاد کنيد از نوع Console W32 و پروژه رو بصورت empty ايجاد کنيد.
حال يه فايل main.cpp ايجاد کنيد و برنامه رو درون آن copy/past کنيد و براي اجرا F5 بزنيد.
MosaferJade
25-02-2011, 13:05
سلام
ببخشید آقای واحدی میشه درباره آنچه گفتید واضح تر توضیح بدید؟
مرسی
ebicross
25-02-2011, 14:08
ممنون از هر دوی شما عزیزان؛
دوست عزیز hamedvahedi خطای زیر رو چطوری رفع کنم؟ من همون کاری که گفتید کردم ولی این خطا مانع میشه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توی اینترنت روشهایی گفته ولی همه برای ورژن 2005 بودن و توی 2010 عوض شده.
ebicross
27-02-2011, 19:36
ممنون از هر دوی شما عزیزان؛
دوست عزیز hamedvahedi خطای زیر رو چطوری رفع کنم؟ من همون کاری که گفتید کردم ولی این خطا مانع میشه:
کد:
1>LINK : error LNK2001: unresolved external symbol _mainCRTStartup
توی اینترنت روشهایی گفته ولی همه برای ورژن 2005 بودن و توی 2010 عوض شده.
کمک کنید لطفا.
فکر نمیکنم سخت باشه ولی من هیچی از Visual نمیدونم و در کل مبتدی هستم در زمینه ی برنامه نویسی.
MosaferJade
27-02-2011, 22:40
سلام
حقیقتا من خودم هم تو این قسمت موندم
ولی دوست من حتما باید از فایل های cpp استفاده کنی ؟
اگه شی گرا کار کنی بهتره
البته اگه راحلی گیر اوردم حتما خبرت می کنم
ببخشید
مرسی
ebicross
27-02-2011, 23:22
سلام
حقیقتا من خودم هم تو این قسمت موندم
ولی دوست من حتما باید از فایل های cpp استفاده کنی ؟
اگه شی گرا کار کنی بهتره
البته اگه راحلی گیر اوردم حتما خبرت می کنم
ببخشید
مرسی
ممنون.
بله مجبورم توی کنسول باشه برنامه ها.
راستش کلی از این Helpهای خود مایکروسافت رو خوندم و مو به مو انجام دادم ولی هر دفعه یک خطای جدید.
یک نفر بیاد خواهشا بگه چطوری یک برنامه ی کنسولی Turbo c++ رو توی VC++.net کامپیال و اجرا کنم.
نکنه ویندوزم 64 بیتیه مربوط میشه؟ ولی فکر نمیکنم.
بازم ممنون از همگی. ولی اگر کسی این کار رو کرده که حتما کرده لطفا راهمایی کنید یک جماعت رو نجات دادین. :دی
hamedvahedi
28-02-2011, 18:33
ممنون از هر دوی شما عزیزان؛
دوست عزیز hamedvahedi خطای زیر رو چطوری رفع کنم؟ من همون کاری که گفتید کردم ولی این خطا مانع میشه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توی اینترنت روشهایی گفته ولی همه برای ورژن 2005 بودن و توی 2010 عوض شده.
تا جايي که من ميدونم خطاي شما نبايد بابت اجراي برنامه تون در .Net باشه. من برنامه شما رو در .Net 2010 اجرا کردم و کار هم کرد.
براي اينکه پاسخ محبوبه رو هم داده باشم اين توضيح رو ميدم که:
1- پس از اجراي VS2010 از منوي فايل گزينه New و Project رو انتخاب کنيد
2- در قسمت Installed Template زبان Visual C++ رو پيدا کنيد و انتخاب کنيد. پس از انتخاب در پنجره وسط، گزينه Win32 Console Application را انتخاب کنيد و در پايين ديالوگ، اسمي براي برنامه و مسيري انتخاب کنيد. در پايان گزينه Ok را کليک کنيد.
3- در پنجره بعدي، گزينه Next و در پنجره پس از آن، در بخش Additional option، گزينه Empty project را انتخاب کنيد.
4- در انتها، دکمه Finish را کليک کنيد.
5- پس از لحظه اي پروژه ساخته مي شود و مي توانيد از منوي Project گزينه Add new item را انتخاب کنيد.
6- در اين ديالوگ قالب، C++ File را انتخاب کنيد و اسمي براي فايل در پايين صفحه وارد کنيد و دکمه Ok را بزنيد.
7- حال در پنجره برنامه اي که برايتان نمايش داده شد برنامه تان را past کنيد.
8- برنامه تان پس از اصلاح چيزي شبيه زير خواهد شد. قسمت هاي بولد شده همانهايي است که من تغيير داده ام.
#include <iostream>
#include <conio.h>
void main ()
{
int a[10], x, c=0;
for (int i=0; i<10; ++i)
{
std::cin>>a[i];
std::cin>>
x;
for (i=0; i<10; ++i)
{
if (x==a[i])
c=c+1;
}
}
std::cout<<c;
getch ();
}
MosaferJade
28-02-2011, 21:23
توضیحتون کامل بود رو VS2008 هم کار کرد
ولی بنظر من کدی که نوشتین مشکل داشته باشه
چون الان قبل از اینکه آرایه کامل مقدار دهی بشه داره
توش عمل جستجو انجام میشه اونم کل آرایه نه
قسمت مقدار دهی شده به هر حال فهمیدم چی
شد ممنون از توضیح کاملتون البته مشکل من همون
قسمتهایی بود که تغییر داده شد
لازم میدونم یه چیزی رو بگم و اونم این که در بعضی جا ها مجبور میشیم
کاراکتر هایی رو تایپ کنیم که باعث میشن عبارات ما به هم بریزن مثل:
for(int i=0;i<10;i++)
الان با اینکه من عبارت رو حروف به حروف کامل نوشتم اما یه جور دیگه نمایش داده
ولی اینجا رو دقت کنید
for(int i=0;i>10;i++)0
اینجا اگر دقت کنید یک 0 اضافه باعث شد عبارت درست نمایش داده بشه اما
این 0 هم بعضی مواقع گمراه کننده است برای رفع این اشکال همین 0 رو به رنگ
سفید تغییر رنگ بدهید تا همه چی درست بشه مثل
for(int i=0;i<10;i++)0
باز هم ازتون تشکر می کنم آقای واحدی
واقعا مرسی
ebicross
01-03-2011, 18:50
یه دنیا ممنون از دوست عزیز Hamedvahedi؛
اما یک سوال،
چرا باید std بزنم اول کدهای مربوط به iostream؟ آیا فقط کدهای مربوط به هدر iostream باید اینطوری باشه؟
یعنی چرا نمیشه همون برنامه ای رو که Turboc++ کامپایل میکنه اینجا هم کامپایل کرد؟
hamedvahedi
01-03-2011, 20:56
یه دنیا ممنون از دوست عزیز Hamedvahedi؛
اما یک سوال،
چرا باید std بزنم اول کدهای مربوط به iostream؟ آیا فقط کدهای مربوط به هدر iostream باید اینطوری باشه؟
یعنی چرا نمیشه همون برنامه ای رو که Turboc++ کامپایل میکنه اینجا هم کامپایل کرد؟
در VS و مباحث OO ، چيزي تحت عنوان فضاي نام(name space) مطرح شده است و در واقع std هم يک فضاي نام است که شامل يکسري کتابخانه ها و متدهاي ورودی و خروجی هست و اگر اين فضاي نام را فراخواني نکنيم عملا به دستورات موجود در iostream دسترسي نخواهيم داشت. و حتما بايد اعلام کنيد که مثلا به دستور cin که در فضاي نام std وجود دارد نياز داريم.
البته مي توان بجاي اينکه به ازاي هر دستور اين فضاي نام را فراخواني کرد، يکبار در ابتداي کلاس يا برنامه دستور using namespace std را فراخواني کنيم. و پس از آن مي توانيم از std:: صرفنظر کنيم.
MosaferJade
01-03-2011, 22:20
مي توان بجاي اينکه به ازاي هر دستور اين فضاي نام را فراخواني کرد، يکبار در ابتداي کلاس يا برنامه دستور using namespace std را فراخواني کنيم. و پس از آن مي توانيم از std:: صرفنظر کنيم.
آره این قسمت تو c++0 بود
ebicross
02-03-2011, 10:06
از شما دو دوست خوبم ممنونم.
به جوابم رسیدم.
موفق باشید.
MosaferJade
02-03-2011, 11:51
یه سوال
در turbo c یه هیدر فایلی بود به نام اگه اشتباه نکنم (که تحت داس هم اجرا می شد) geraphic.h که توابعی مثل line, . . . رو شامل می شد
در اینجا میگه چنین فایلی وجود ندارد . اگه میشه راهنمایی کنید
مرسی
hamedvahedi
02-03-2011, 17:26
یه سوال
در turbo c یه هیدر فایلی بود به نام اگه اشتباه نکنم (که تحت داس هم اجرا می شد) geraphic.h که توابعی مثل line, . . . رو شامل می شد
در اینجا میگه چنین فایلی وجود ندارد . اگه میشه راهنمایی کنید
مرسی
graphics.h جزو هدرفايل هاي استاندارد C++ نيست و در TC++ بود. براي همين در کامپايلرهاي ديگر نيست و بايد از OpenGL یا Glut استفاده کنيد. من اطلاعاتم در اين زمينه زياد نيست اما فکر کنم بتونيد با سرچ همين عنوان ها به مطالب خوبي برسيد
یه سوال
در turbo c یه هیدر فایلی بود به نام اگه اشتباه نکنم (که تحت داس هم اجرا می شد) geraphic.h که توابعی مثل line, . . . رو شامل می شد
در اینجا میگه چنین فایلی وجود ندارد . اگه میشه راهنمایی کنید
مرسی
خیلی ساده است چون تو ویندوز پنجره کنسول مثل هر پنجره دیگه غیر کنسول است از نظر گرافیک. مثلا اگر GDI API های ویندوز را بلد باشی می تونی از این برنامه اینجا استفاده کنی:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگر هم نخواهی اینقدر سطح پایین برنامه نویسی کنی می تونی از کتابخانه هایی مثل Cairo احتمال زیادی بتونی استفاده کنی (هنوز باید چند ویندوز ای پی آی بلد باشی که تو اون لینک به کار رفته). مثلا این رو ببین برای استفاده MFC و Cairo:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
MosaferJade
05-03-2011, 13:39
حالا بگذریم
اونو برای اینکه مشکل یکی رو حل کنم می خواستم
زینب خانم من کلا یکی دو روزی هست که با این xna آشنا شدم
میگن میشه ازش برای تولید برنامه های گرافیکی مثل بازیها استفاده کرد دوستمون _H2_ هم در این باره تایپیک هایی رو داره
ولی مثل اینکه سرش خیلی شلوغه دیر به دیر به این تایپیکش و کلا به p30world سر میزنه
می خواستم بدونم شما که ماشاا.. اطلاعات خوبی در زمینه سخت افزاری و نرم افزاری دارید لینکی برای دانلودش سراغ ندارید
یه لینکی که اینجا (توی ایران) هم بشه بازش کرد(فیل-- نباشه)
مرسی
من چند سال پیش که MS اولین ورژن XNA را بیرون داد باهاش کار کردم. آره چیزه جالبی است مخصوصا که می شود راحت روی XBOX هم منتقل کرد برنامه ها را. ولی از آن به بعد نمی دانم چقدر تغییر کرده است. و نمی دانم نقشه Microsoft برای آیینده آن چیست.
من نمی دانم چه وب سایت هایی در ایران فیتیله شان را پایین کشیده اند. سایت رسمی XNA در Microsoft قابل دسترس نیست؟ اگر بهم بگویی چه وب سایتی برایت خوب است می توانم آنجا آپلودش کنم اینترنت من اینجا سریع است.
MosaferJade
07-03-2011, 13:23
یک فیل--شکن دارم ولی سرعت اینترنتم را خیلی پایین می آورد
هر سایتی باشد مشکلی نیست فقط نیاز نباشد در آن عضو شوم تا بتوانم دانلود کنم
(این لحن فقط بخاطر زینب خانم )مرسی
سلام. من یک کتاب آموزش XNA برای #Visual C را اینجا آپلود کردم می شود تست کنی که می توانی دانلود کنی از آنجا؟
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگر نمی شود من یک جای دیگر هم کتاب را هم فایل اینستال را می گذارم. فقط یکی سوال شما dot Net 4 را روی سیستمت دارید؟ این به آن نیاز دارد.
MosaferJade
07-03-2011, 15:17
من VS2008 روی سیستمم نصب است .
آدرسی که در بالا داده بودید را دارم دانلود می کنم
باسرعت 12.5KB/S دانلود میشه (بخاطر فیل--شکن)
سرعت اصلی دانلودم هم 25KB/S تا 40KB/S متغیر هست
ممنون دوست عزیز
بخاطر بدقولی هم معذرت می خوام(گفتم که چی شد)
مرسی
اشکالی ندارد عزیزم. چون که VS2008 دارید نمی شود از XNA4.0 استفاده کرد ولی XNA3.1 برای ورژن VS2008 است.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این لینک را فکر کنم راحت مسقیم بتوانی دانلود کنی. لطفا وقتی دانلود کردی به من بگوید تا فایل را دیلیت کنم.
(این یک سرور شخصی است می توانم فایل را تا زمانی که شما کامل دانلود کنی نگه دارم ولی نمی خواهم دیگران از آن دانلود کنند و پهناباند سرور را استفاده کنند.)
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.