Programmcode ausführen während das Programm läuft

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Gonger96.

    Programmcode ausführen während das Programm läuft

    Hi

    Also wenn ich im Editor schreibe:

    VB.NET-Quellcode

    1. MsgBox("Sie haben Post! XD")

    Dann wird ja die Msgbox ausgeführt geht das aber auch während das Programm läuft (schlechte Ausdrucksweise :)) Ich meine ich habe eine Textbox und wenn jetzt der Benutzer in die TBox "MsgBox("Sie haben Post!") schreibt und dann auf den Button klickt das das Programm dann den Text in der TBox ausführt?

    Geht das irgendwie?

    MFG
    PhoenixBlaster :)
    1. MessageBox.Show bitte.
    2. Gehört das ins Grundlagenforum, denn das sollte man allmählich wissen, wenn man hier im Forum schon länger angemeldet ist und 164 Beiträge hat.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Am einfachsten wäre wohl wenn du Schlüsselworte deffinierst.

    if text.contains("msgbox") then
    mesagebox.show(text.split(""""c)(1))
    end if

    So könntest du verschiedene Inhalte abprüfen und die dann in den Code einbauen.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Ach jetzt verstehe ich es. Du willst dann den Befehl ausführen?! In so einem Fall wäre die Lösung von @Schamash: keine gute Idee, da es dann abhängig von der Anwendung läuft bzw. damit ja nur das möglich wäre. Was du suchst ist ein Kompiler. Google mal CodeDom.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Wie, er hat recht? Was willst du denn nun? Du willst doch dann den Befehl ausführen. Dann legst du dir bitte eine saubere Lösung zu Füßen. Die Lösung von ihm klappt zwar, ist aber, wie gesagt, von deinem Programm abhängig, da das bei dem im Quellcode vorgegeben wurde und somit den Nutzer teils einschränkt, wenn du z. B. was aufwändigeres mit MessageBoxen machst.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Genau.

    Eigentlich müsstest du nur Codedom benutzen um den Code zu kompilieren
    und dann einfach die exe lokal abspeichern und ausführen.

    So ungefähr:
    Imports System.CodeDom
    Private Sub Button1(...) ...
    WriteCode("MsgBox("Beispiel")")
    End Sub
    Hört sich nicht so an als hättest du nur im Ansatz den Link gelesen...

    MfG

    Edit://

    Hier mal ein Ansatz (kannst ja ne Klasse draus zaubern :) )

    VB.NET-Quellcode

    1. Dim Compiler As ICodeCompiler = New VBCodeProvider().CreateCompiler 'Compiler erstellen
    2. Dim Parameters As New CompilerParameters 'Parameter
    3. Dim cResults As CompilerResults 'Für Exception und co. cResults.Errors <-- da stehen alle Exceptions in nem Array.
    4. Parameters.GenerateExecutable = True
    5. Parameters.OutputAssembly = "" 'Wohin solls gespeichert werden.
    6. Parameters.ReferencedAssemblies.Add("System.dll") 'Um Verweise zu setzen
    7. Parameters.CompilerOptions = "" 'Hier steht mehr dazu: http://msdn.microsoft.com/en-us/library/w95cx9k1.aspx
    8. cResults = Compiler.CompileAssemblyFromSource(Parameters, Source) 'source = VBcode


    MfG

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „schockerjo“ ()

    Muss ja keine Exe sein. Ne DLL die man danach lädt und dann eine Funktion davon aufruft geht glaube ich besser.