PDA

View Full Version : تیدیل رشته به دستور!



hamedAdmin
دوشنبه 02 بهمن 1391, 11:28 صبح
سلام.
ساده ترین راه تبدیل یه string به دستور قابل اجرا چیه؟
مثلا بصورت ساده داریم:

string Cmnd="form1.show()";

و میخوایم Cmnd اجرا بشه!

vaheeed
دوشنبه 02 بهمن 1391, 11:39 صبح
با داشتن اسم فرم من قبلا مشکل داشتم که چجوری به متداش و خصوصیاتش دسترسی پیدا کنم که با کمک دوستان فهمیدم اگه اینجوری خواستی بگو تا بگم چیکار کنی ولی اینکه کل دستور رو بدی فکر نکنم بشه !

the king
دوشنبه 02 بهمن 1391, 18:48 عصر
سلام.
ساده ترین راه تبدیل یه string به دستور قابل اجرا چیه؟
مثلا بصورت ساده داریم:

string Cmnd="form1.show()";

و میخوایم Cmnd اجرا بشه!

اگه منظورتون یک قالب عمومی باشه که بشه هر رشته ای رو بصورت کد اجرا کرد، باید از CSharpCodeProvider استفاده کنید،
امکانات اش فوق العاده زیاده اما عیب بزرگی هم داره، برای اجرای نرم افزار تون فقط نصب بودن Net Framework. کافی نیست،
باید اجزاء مرتبط با کامپایلر #C (خود ویژوال استدیو) نصب باشه. یعنی اگر بخواهید فایل اجرایی نرم افزار تون رو روی سیستم دیگری
اجرا کنید مشکل ساز میشه.

اما در این حد که یک اسم شیء و اسم یک متد رو بگیره و اون متد رو روی اون شیء اجرا کنه با امکانات ابتدایی System.Reflection
هم میسره.

رجوع شود به :
ساخت dll برای رسم توابع در #C (http://forum.majidonline.com/threads/177697)

RED-C0DE
دوشنبه 02 بهمن 1391, 22:38 عصر
سلام.
ساده ترین راه تبدیل یه string به دستور قابل اجرا چیه؟
مثلا بصورت ساده داریم:

string Cmnd="form1.show()";

و میخوایم Cmnd اجرا بشه!

چیزی ک دوستان گفتن درسته اما شما دقیقا میخواین چیکار کنید ک می گین باید این رشته رو اجرا کنید؟
مثلا ممکنه شما اسم فرمهاتون در بانک هست و منوهای برنامه رو می سازین و Tag هر منو اسم یک فرم هست . حالا می خواین با کلیک روی منو اون فرم باز بشه. ایا ی همچین چیزی می خواین؟ (یجورایی منوهای داینامیک داشته باشین. مثلا یک TreeView)
اگه "آره" بگین تا راهکارشو بگم من یا بقیه

danialafshari
دوشنبه 02 بهمن 1391, 23:29 عصر
سلام.
ساده ترین راه تبدیل یه string به دستور قابل اجرا چیه؟
مثلا بصورت ساده داریم:

string Cmnd="form1.show()";

و میخوایم Cmnd اجرا بشه!

سلام
من فکر می کنم که الگوریتم کارتون اشتباه شما بگید دلیلتون برای این کار چیه تا دوستان الگوریتم بهینشو بهتون بگن
چون Form1 یک نوع Object هست لزومتون برای تبدیل به String چیه؟ اصلا String به کجا قراره ارسال بشه؟
موفق باشید

hamedAdmin
سه شنبه 03 بهمن 1391, 11:23 صبح
کلا دارم میپرسم
همونطوری که میشه صفحات html رو دینامیک نوشت و گذاشت تو فایل سورس برنامه و اجرا بشه آیا راهی هست که بشه دستورات را درست کنیم تا یه زمانی اجرا بشه
مثلا یه مثال ساده این کدی که نوشتم یا هر دستور دیگه ای مثل این یکی:

int i=1;
int j=2;
int k=i+j;
label1.text=k.tostring();

همه این هارو بذاریم داخل یه string و بعد بخوایم اجرا بشه

RED-C0DE
سه شنبه 03 بهمن 1391, 12:16 عصر
کلا دارم میپرسم
همونطوری که میشه صفحات html رو دینامیک نوشت و گذاشت تو فایل سورس برنامه و اجرا بشه آیا راهی هست که بشه دستورات را درست کنیم تا یه زمانی اجرا بشه
مثلا یه مثال ساده این کدی که نوشتم یا هر دستور دیگه ای مثل این یکی:

int i=1;
int j=2;
int k=i+j;
label1.text=k.tostring();

همه این هارو بذاریم داخل یه string و بعد بخوایم اجرا بشه

اره. همونطور ک تو پست شماره 3 (http://barnamenevis.org/showthread.php?380160-%D8%AA%DB%8C%D8%AF%DB%8C%D9%84-%D8%B1%D8%B4%D8%AA%D9%87-%D8%A8%D9%87-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1!&p=1682237&viewfull=1#post1682237)گفتن..یه جورایی دارین از امکانات کامپایلر خود زبان استفاده می کنید و این ک می گین کار یک کامپایلر هست در واقع