PDA

View Full Version : سوال: دریافت پارامترهای (command) ارسالی به برنامه



#target
جمعه 16 مرداد 1388, 11:41 صبح
در C++Builder2009 پارامترها و کامند ها ارسالی به برنامه در چه تابعی قرار میگیره
( معادل تابع Command() در ویژوال بیسیک )

مثلا مقدار -Start را چگونه در برنامه استفاده کنیم
C:\Myprogram.exe -start

Nima_NF
جمعه 16 مرداد 1388, 12:14 عصر
اگر منظورتان دستورات کنسول هست با تابع system در stdlib.h



system("C:\\Myprogram.exe -start" );

ali.2566
جمعه 16 مرداد 1388, 13:01 عصر
جناب نيما استفاده از اين دستور در MFC هم به همين صورت است؟
آيا امكانش هست برنامه كنسول رو داخل برنامه خودمان مخفي كنيم و اين دستورات رو بهش بديم؟

Saeed_m_Farid
جمعه 16 مرداد 1388, 13:22 عصر
مثلا مقدار -Start را چگونه در برنامه استفاده کنیم
C:\Myprogram.exe -start
سلام
جسارتاً، فكر كنم منظور دوستمون نحوه استفاده از پارامتر ارسالي به برنامه خودشون بوده :

واسه اين كار (مديريت پارامترهاي ارسال شده به برنامه)، داخل برنامه تون ميتونيد از ParamCount و ParamStr استفاده كنيد؛ بايد توجه كنيد كه پارامتر اول هميشه مسير برنامه اي هست كه اجرا شده و از طريق خود سيستم عامل تنظيم شده و براي برنامه ما ارسال ميشه :

http://www.barnamenevis.org/forum/attachment.php?attachmentid=31386&d=1243541799


و بقيه، پارامترهايي هستن كه برنامه دريافت كرده، بعنوان نمونه كد زير رو ميتونيد در نظر بگيريد :


//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
AnsiString resStr = EmptyStr;
if (ParamCount() > 0)
//DoSomethingWith(ParamStr(1)); اولين پارامتر
for (int i=0; i<ParamCount(); i++)
resStr = resStr + "Param[" + IntToStr(i) + "] = " + ParamStr(i) + "\n\r";
ShowMessage(resStr);
}
//---------------------------------------------------------------------------