السلام عليكم و رحمه الله و بركاته ..
احتاج الكود الذي ينفذ الكود الذي مكتوب في textbox
أقصد ان مثلا قمت بإضافة textbox
و أضفت Button
و كتبت في الText box مثلاً End
و عندما أضغط علي الـ Button يقوم بتنفيذ الكود و هو "End"
أقصد ان مثلا قمت بإضافة textbox
و أضفت Button
و كتبت في الText box مثلاً End
و عندما أضغط علي الـ Button يقوم بتنفيذ الكود و هو "End"
يمكنك الاطلاع على هذا الرابط
ومن حيث المثال لما تحتاج اليه ( المثال منقول ) ....
كود :
Imports System.IO
Imports System.Reflection
Imports System.CodeDom
Imports System.CodeDom.Compiler
Imports Microsoft.VisualBasic
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' read code from textbox
Dim Code As String = TextBox1.Text
' clear output textbox
TextBox2.Clear()
' create fully functional assembly string
Code = ("Imports System" & vbCrLf &
"Imports System.Windows.Forms" & vbCrLf &
"Imports Microsoft.Visualbasic" & vbCrLf &
"Public Class TempClass" & vbCrLf &
"Public Sub MyCode(ByVal Textbox2 As TextBox)" & vbCrLf &
Code & vbCrLf &
"End Sub" & vbCrLf &
"End Class")
' create the compiler
Dim vbProv = New VBCodeProvider()
' create parameters to pass to the compiler
Dim vbParams = New CompilerParameters()
' add referenced assemblies.
vbParams.ReferencedAssemblies.Add("System.dll")
vbParams.ReferencedAssemblies.Add("System.Windows.Forms.dll")
vbParams.ReferencedAssemblies.Add("Microsoft.VisualBasic.dll")
' generate an assembly in memory
vbParams.GenerateExecutable = False
vbParams.GenerateInMemory = True
' give it a name
vbParams.OutputAssembly = "MyCode"
' compile the code and get the compiler results
Dim compResults = vbProv.CompileAssemblyFromSource(vbParams, Code)
' check for compile errors
If compResults.Errors.HasErrors Then
Dim ErrorMsg As String = compResults.Errors.Count.ToString & " Errors:"
For x As Integer = 0 To compResults.Errors.Count - 1
ErrorMsg = ErrorMsg & vbCrLf & "Line: " & compResults.Errors(x).Line.ToString & " - " + compResults.Errors(x).ErrorText
Next
TextBox2.Text = ErrorMsg & vbCrLf & vbCrLf + Code
Else
' create instance of the temporary compiled class
Dim obj As Object = compResults.CompiledAssembly.CreateInstance("TempClass")
' use textbox 2 for output
Dim args() As Object = {Me.TextBox2}
Try
' execute the code
Dim result As Object = obj.GetType().InvokeMember("MyCode", BindingFlags.InvokeMethod, Nothing, obj, args)
Catch Oops As Exception
' oops
MessageBox.Show(Oops.Message)
End Try
End If
End Sub
End Class
الامر ليس من السهل لاتمام شرحه فى بعض الجمل
لكن اذا كنت جيداً فى اللغة الانجليزية يمكنك البحث اكثر على الموضوع والتعمق فى
تحياتى لك
هذا مثال جميل لكنه بلغة الفيجول 6
ممكن احد الاخوان يساعدك بكتابته الى الدت نت
اجل شئ مثل هذا ..
لكن احتاج الأكواد بلغة الفيجوال بيسك 2010
و شكرا لجهودك
(29-05-18, 05:36 AM)YousefOkasha كتب : [ -> ]مو شغال !
احتاج حل ..
المشروع يعمل اخى خاص الاخ عبد الرؤوف
فقط قم بكتابة التالى لاختبار عمل البرنامج
أو قم بكتابة التالى
كود :
MsgBox("عمل الاختبار بنجح")
يمكنك تشغيل البرنامج من خلال
فتح المجلد والدخول على المسار التالى
تحياتى لك
وتمنياتى لك التوفيق