View Full Version : سوال: معادل این کدها به زبان ویژوال ++C چی میشه؟
حسین شهریاری
چهارشنبه 12 بهمن 1390, 19:14 عصر
سلام!
1-مشتق کردن شیئی از کلاس بصورتی که در همان فرم و در فرمهای دیگه بشه اون شیئ را بهش دسترسی داشت.ضمنا قبل از تمامی روال ها و در یک سطر باشه!
مثلا در #C اینطوریه:
Public TextBox tb=new TextBox();
2-در پروژه های چندفرمی چگونه میتوان به فرمی دیگر دسترسی داشت و آنرا صدا زد؟
مثلا در #C اینطوریه:
form2 f2=new form2();
f2.Show();
pe32_64
پنج شنبه 13 بهمن 1390, 00:06 صبح
جواب سوالاتون رو در مثالی که گذاشتم می تونید پیدا کنید.
مثال در MFC نوشته شده و در Microsoft Visual Studio 2010 قابل اجراست.
دو موردی که بیان کردید ، در C++ با تغییر کمی قابل اجراست.
حسین شهریاری
جمعه 14 بهمن 1390, 11:27 صبح
سلام!
ممکنه معادل دستورات را قرار بدین، چون من VS2010 ندارم.
ممنون
pe32_64
جمعه 14 بهمن 1390, 13:20 عصر
اقا کد دانلود کن ،توشو بخون
VS2010 نمی خواد
حسین شهریاری
جمعه 14 بهمن 1390, 20:40 عصر
عزیزم من تموم فایلها را خوندم(به صورت متنی) ، کدومش اونی هست که به درد من میخوره؟
من به نتیجه ای نرسیدم.
pe32_64
جمعه 14 بهمن 1390, 22:41 عصر
public:
CEdit m_wndInput;
و
public:
CEdit m_wndInput;
#include "Dlg.h"
و
private:
CDlg *m_pDlg;
CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CTestDlg::IDD, pParent),m_pDlg(NULL)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CTestDlg::OnBnClickedButton2()
{
if(!m_pDlg)
{
m_pDlg = new CDlg;
if(!m_pDlg) return;
m_pDlg->Create(IDD_DIALOG1,this);
m_pDlg->m_wndInput.SetWindowTextW(_T("PEYMAN ESMAIELY"));
}
m_pDlg->ShowWindow(SW_SHOW);
}
void CTestDlg::OnBnClickedButton1()
{
CDlg dlg;
dlg.DoModal();
}
void CTestDlg::PostNcDestroy()
{
if(m_pDlg)
delete m_pDlg;
CDialogEx::PostNcDestroy();
}
وفایلهای dlg.h dlg.cpp
حله؟!!
حسین شهریاری
شنبه 15 بهمن 1390, 22:50 عصر
سلام
ممنون دوست عزیز، انگار خیلی هم #C++ , C به هم ربطی ندارن؟
حسین شهریاری
شنبه 15 بهمن 1390, 22:54 عصر
راستی ببخشید مگه شما از کلاسهای دات نت توی ویژوال ++C استفاده نمیکنید؟
توی این زمینه که تمام سینتکسهایی که روی سکوی دات نت هستند مگه مشترک نیستند؟
آخه من نه تنها با #C بلکه با VB.Net و Delphi Prism هم کدنویسی کردم ولی انگار توی این سینتکس موضوع فرق میکنه؟
pe32_64
یک شنبه 16 بهمن 1390, 14:02 عصر
انگار خیلی هم #C++ , C به هم ربطی ندارن؟
تا حدی
راستی ببخشید مگه شما از کلاسهای دات نت توی ویژوال ++C استفاده نمیکنید؟
نه
توی این زمینه که تمام سینتکسهایی که روی سکوی دات نت هستند مگه مشترک نیستند؟
syntax مشترک نیست، محیط اجرا مشترک هستش
خه من نه تنها با #C بلکه با VB.Net و Delphi Prism هم کدنویسی کردم ولی انگار توی این سینتکس موضوع فرق میکنه؟
بله فرق میکنه.
من این کد رو با زبان ++c خارج از محیط net . یا native و با کتابخانه ی Microsoft Foundation Class Library (http://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Library)نوشتم.
حسین شهریاری
دوشنبه 17 بهمن 1390, 19:51 عصر
با سلام
من این کد رو با زبان ++c خارج از محیط net . یا native و با کتابخانه ی Microsoft Foundation Class Library (http://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Library)نوشتم.
میشه خواهش کنم، کد را روی سکوی دات نت بنویسید؟ آخه منظور من همون بحث دات نت هست.
syntax مشترک نیست، محیط اجرا مشترک هستش
منظورم این بود که روی سکوی دات نت فقط شکل ظاهری سینتکسها هستش که فرق میکنه، و تا اونجایی که به دات نت مربوط میشه() مشترک هست، یعنی همه سینتکسهای رایج از کلاسهای اشتراکی استفاده میکنند.
ممنون
pe32_64
سه شنبه 18 بهمن 1390, 20:07 عصر
میشه خواهش کنم، کد را روی سکوی دات نت بنویسید؟ آخه منظور من همون بحث دات نت هست.
نه،چون منNET. بلد نیستم.
منظورم این بود که روی سکوی دات نت فقط شکل ظاهری سینتکسها هستش که فرق میکنه، و تا اونجایی که به دات نت مربوط میشه() مشترک هست، یعنی همه سینتکسهای رایج از کلاسهای اشتراکی استفاده میکنند.
بله
حسین شهریاری
پنج شنبه 20 بهمن 1390, 20:09 عصر
با سلام!
با تشکر از دوست عزیز جناب pe32_64 بابت عنایاتشان به این سوال.
از سایر دوستان که در زمینه Visual C++.Net کار کرده اند خواهشمندیم لطفا به این مورد جواب بدهند.
ممنون
returnx
سه شنبه 25 بهمن 1390, 17:19 عصر
معادل کد شما با استفاده از کتابخانه های دات نت به این شکل میشه:
C#:
Public TextBox tb=new TextBox();
Visual C++/CLR:
System::Windows::Forms::TextBox^ tb=gcnew System::Windows::Forms::TextBox();
this->Controls->Add(tb);
C:#
form2 f2=new form2();
f2.Show();
VisualC++/CLR:
form2^ frm=gcnew form2();
frm->Show();
البته برای نمایش فرم دوم باید فرم 2 رو با استفاده از Include به فرم 1 معرفی کنید...
حسین شهریاری
چهارشنبه 26 بهمن 1390, 12:30 عصر
ممنون عزیزم! لطف کردین.
این تاپیک دیگه داشت فسیل میشد!!!!
حسین شهریاری
چهارشنبه 26 بهمن 1390, 12:33 عصر
راستی اگه قبل از تمامی توابع بنویسمش(مثل #C) کفایت میکنه یا حتما باید جای خاصی باشه؟
آخه من این نمونه کد را قبلا نوشته بودم ولی به من این اجازه را نداد که توی یک سطر باشه.
returnx
پنج شنبه 27 بهمن 1390, 10:30 صبح
باید اول برنامه قبل از تمامی توابع بنویسی یعنی بعد از #pragmaonce...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.