سلام،
یک متغییر رشته ای دارم که محتوای مثلا :
a="msgbox("Test")"
ویا هر دستور و فرمان دیگه ای سوال اینجاست که چطوری میتونم این متغییر رشته ای رو اجرا کنم؟
با تشکر
سلام،
یک متغییر رشته ای دارم که محتوای مثلا :
a="msgbox("Test")"
ویا هر دستور و فرمان دیگه ای سوال اینجاست که چطوری میتونم این متغییر رشته ای رو اجرا کنم؟
با تشکر
System.Diagnostics.Process Start(string fileName)
مثال:
System.Diagnostics.Process.Start("c:\...\MyTextFil e.txt")
System.Diagnostics.Process.Start("c:\test.exe")
يا
Dim myProcess As Process = System.Diagnostics.Process.Start("c:\...\MyTextFil e.txt")
MessageBox.Show(myProcess.ProcessName)
موفق باشيد
دوست عزیز از پاسختون ممنونم اما منظورم این نبود.
همانطور که در پست اولم عرض کردم میخوام دستور متغییر رشته ای متغیر a رو اجرا کنم یعنی پنجره msgbox اجرا و نمایش داده بشه.
باید به این شکل بنویسید :
msgbox("text")
فقط همین باید در زیر هندلر قرار بگیره...
سلام ببین این بدردت میخوره:
Dim A AsString = MessageBox.Show("Test")
Return
نمیدونم شاید منظور شما رو درست نفهمیده باشم ،ولی چرا از راه های دیگه استفاده نمیکنید.مثلا کلمه "Test" رو برای a تعریف کنید و هر جا نیاز داشتید فراخوانی کنید:
Dim A AsString = "test"
MessageBox.Show(A)
یا اگر براتون خیلی مهمه که وقتی a را فراخواندید پنجره MessageBox نمایش داده بشه از Sub یا Function استفاده نمیکنید.
PrivateSub A()
Dim StrA AsString = MessageBox.Show("test")
Return
EndSub
.................................................. ......................
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
A()
EndSub
در هر حال کد اول کار خودش رو میکنه ولی فکر نکنم در برنامه های خیلی گسترده بشه استفاده کرد.
آخرین ویرایش به وسیله morteza_261 : جمعه 31 خرداد 1387 در 00:47 صبح
دوستان اجرا msgbox در متغییر فوق فقط یک مثال است.
بنده در حال نوشتن یک قفل نرم افزاری (برای برنامه ام) هستم که در این قفل مجبورم یک سری دستوراتی رو در یک متغییر رشته ای مقدار دهی کنم و بعد اون متغییرها رو در چندین جاهای برنامه فرخوانی رو اجرا کنم از توابع و ... هم در این قفل استفاده میکنم منتها یجایی گیر کردم و اون هم اینکه نمیتونم محتوای متغییر رشته ای که حاوی یکسری دستورات VB است رو اجرا کنم.
در زبانهای برنامه نویسی دیگه مثلا کارکتر & جلوی نام متغییر رشته که حاوی دستورات اون زبان باشد باعث اجرای متغییر خواهد شد ولی در VB.net چون شی گرا است نمیدونم.
با تشکر
با اجازه ناظم عزیز بخش این پست رو ارسال میکنم تا تاپیک در صفحه اول نمایش داده بشه.
دوستان کسی هست در این زمینه کمک کنه ؟
با تشکر
میتونید یه شی از کلاس فاکس پرو ایجاد کنید و از متد DoCmd() اون استفاده کنید
این روش مستلزم آشنایی با دستورات فاکس پرو و همین طور وجود کتابخانه Dll زمان اجرای فاکس روی سیستم شماست
ولی من تست کردم به هرحال جواب داده
Dim a AsNew VisualFoxpro.FoxApplication
a.DoCmd("Create Table TestTable(Field1 Char(10))")
البته باید رفرنس ویژوال فاکس پرو رو به برنامت اضافه کنی
ممنون از شما دوست عزیز نکته جالبی رو مطرح کردین
ولی متغییر و یا عبارت رشته ای که حاوی دستور Vb است میخوام اجرا بشه نه دستورات فاکس پرو.
من که قبلا عرض کردم
باید با زبان فاکس آشنا باشید
منظورم این بود که کاری که میخواهید انجام بدید با فاکس انجام بدید
دوست عزیز بنده فاکس پرو کارم اون چیزی که میخوام فقط دستورات Vb.net هستند نه Foxpro
اگه میخواستم از فاکس پرو استفاده کنم نمیرفتم سراغ Vb.net
قبلا هم عرض کردم که درحال نوشتن قفل نرم افزاری برای class هایم هستم که کسی نتونه از اونها استفاده کنه.
بهرحال از راهنمایتون سپاسگزارم.
امید وارم موفق باشید
منظورم این نبود که از فاکس استفاده کنید
ولی به هر حال هر دستوری در vb یک معادلی در فاکس داره
چون هر دو محصولات Microsoft هستند
بازم امیدوارم موفق باشید
مي توني به اين روش عمل كني:
Dim a As String = "Msgbox(""Test"")"
If a = "Msgbox(""Test"")" Then
MsgBox("Test")
End If
امیدم به دستان زیبای اوست . آنکه می آید . همان که نامش منجی ست ....
به راستی اگر غرق نبودیم چرا مارا به منجی ای نیازمند کرده اند؟ ... دنیا دریاست ....
دلنوشته های من
ِبرنامه بالا دقیقاً چی کار می کنه ؟Dim a As String = "Msgbox(""Test"")"
If a = "Msgbox(""Test"")" Then
MsgBox("Test")
End If
فکر کنم ایشون چیزی شبیه تابع eval در vba میخوان. eval تقریبا در همه زبانهای اسکریپتی هست چون پیاده سازیش راحت هست ولی در دات نت (مثل بقیه زبانها که کامپایل میشن) بصورت متعارف نیست و برای پیاده سازیش باید کامپایلر در حین اجرای برنامه اجرا بشه.
احتمال میدم اگر vb.net eval رو گوگل کنین نمونه کد پیدا بشه!