kostenloser Webspace werbefrei: lima-city


Programm mit Programm machen

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    l******e

    Hi,
    diese Frage habe ich schon bei mehreren Foren gestellt aber jeder sagte: das kannst du vergessen, das ist viel zu schwer.

    Deshalb frag ich hier mal.
    Kann das keiner das ich mit meiner Test.exe eine Test2.exe mit dem Inhalt MsgBox "Hallo",vbOKonyl,"HallO"

    ???
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. w******f

    Willst du jetzt einen Editor coden? Oder willst du eine Vorhandene exe verändern?
  4. ömg... Ich würde dir ja helfen. Aber ich verstehe deine Frage nicht so ganz.
  5. t****y

    Ich kann ihm zwar bei seinem Problem nicht weiterhelfen, aber ich verstehe ihn so:
    Er will eine Datei namens Test.exe ...
    Mit dieser .exe will er eine weitere Datei erstellen namens Test2.exe, welche eine msgbox mit seinem gewünschten Inhalt enthält.
    Somit will er Test2.exe mit Test.exe erstellen lassen.
  6. Sowie ich das verstanden habe, willst du einen Compilrer coden.

    Möglich, aber nicht für dich denke ich, wenn du dich nicht einmal ausdrücken kannst, damit jeder versteht was du möchtest.

    Interessanter Link dazu:
    http://de.wikipedia.org/wiki/Compiler


    Oder meintest du etwas anderes? *zwinker*
  7. l*****u

    ich glaube er meint sowas, wie ein Programm, das wenn man es ausführt eine neue Datei macht. ICh kenn mich mit der Sprache nicht sonderlich aus, aber er will nur den Teil, wo die Datei erzeugt wird und nicht den ganzen Compiler.
  8. Hi @ all,
    im endeffekt möchte er einen editor machen. Also hat er eine datei, in der die codezeile steht, und möchte die ausführen.
    Damit sollte es eigentlich gehen:
    http://www.vbarchiv.net/workshop/workshop55.php

    Viele Grüße
    Philipp Keck
  9. Autor dieses Themas

    l******e

    @Phillip
    soweit war ich auch schon^^

    @adrians
    Genau ich will einen Compilrer erstellen
  10. Ehm... da muss ich mich den anderen Forennutzern anschließen: Das IST zu schwierig.
    Du könntest es aber vielleicht schaffen, einen Editor zu programmieren, der auf vorhandene C oder Java Compiler zugreift und damit die Dateien kompiliert.
    Aber selbst einen Compiler zu schreiben... Nein, das schaffst du innerhalb der nächsten Jahre nicht.
  11. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Anscheinend hat niemand von euch wirklich Ahnung von Visual Basic .Net
    Denn es ist möglich mit einem Programm weitere Programme dynamisch zu erstellen.

    Also die Aufgabe lautet:
    Du möchtest aus deinem .Net-Programm heraus einen Code kompilieren (und eine ausführbare Datei daraus erstellen). Der Code befindet sich in einem Textfeld oder einer Textdatei.

    Lösung:
    Benutze "Microsoft.VisualBasic.VBCodeProvider", um ein "ICodeCompiler"-Objekt zu erstellen.

    Beispiel:
    Deine Anwendung besteht aus einem Button und einer TextBox. In der Textbox steht der Programmcode für das dynamisch erstellbare Programm.
    Der Button erstellt das neue Programm und startet das neue Programm.

    Der Code:

    ' ########## Code für den Button ##########

    Private Sub Button_Anwendung_Erstellen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCompile.Click

    ' Den Compiler erstellen.
    Dim VB As New Microsoft.VisualBasic.VBCodeProvider
    Dim Compiler As System.CodeDom.Compiler.ICodeCompiler = VB.CreateCompiler()

    ' Einige Parameter definieren
    ' In diesem Fall speichern wir die Assembly-Datei in einer Datei.
    Dim Param As New System.CodeDom.Compiler.CompilerParameters
    Param.GenerateExecutable = True
    Param.OutputAssembly = "TestApp.exe"
    Param.IncludeDebugInformation = False

    ' Einige gebräuchliche Assembly-Verweise hinzufügen (basierend auf der gegenwärtig ausgeführten Anwendung).
    Dim Asm As System.Reflection.Assembly
    For Each Asm In AppDomain.CurrentDomain.GetAssemblies()
    Param.ReferencedAssemblies.Add(Asm.Location)
    Next

    ' Den Code kompilieren.
    Dim Results As System.CodeDom.Compiler.CompilerResults = Compiler.CompileAssemblyFromSource(Param, Me.TextBox1.Text)

    ' Fehlerüberprüfung.
    If Results.Errors.Count > 0 Then
    Dim Err As System.CodeDom.Compiler.CompilerError
    Dim ErrorString As String
    For Each Err In Results.Errors
    ErrorString &= Err.ToString()
    Next
    MessageBox.Show(ErrorString)
    Else
    ' Die neue Anwendung starten.
    Dim ProcessInfo As New ProcessStartInfo("TestApp.exe")
    Process.Start(ProcessInfo)
    End If

    End Sub



    ' ########## Text, der in der TextBox stehen könnte ##########

    Option Explicit On
    Option Compare Binary
    Option Strict Off

    Imports System
    Imports Microsoft.VisualBasic 'Benötigt für MsgBox

    Public Module Testanwendung

    Public Sub Main()
    Console.WriteLine("Ich wurde dynamisch erstellt!")
    MsgBox("Hallo",0+48+4096+65536,"Toll")
    Console.ReadLine()
    End Sub

    End Module



    Und das ist auch gar nicht so schwer... :thumb:
    Hab ich mir dafür ein Karma verdient? *gg*
  12. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.


    mach das doch mit einem WINRAR SFX archiv, was test2.exe auspackt!


    Du liest wohl auch nur die Hälfte der Fragen...
    Er will kein vorhandenes Programm irgendwo entpacken sondern er will mit seinem Programm ein weiteres DYNAMISCHES Programm schreiben und erstellen.

    Was ist DYNAMISCH?
    Der Code, der in das neue Programm geschrieben werden soll, ist zur Zeit der Weitergabe unbekannt und wird erst während der Ausführung eingegeben.

    Also ist deine Antwort mit dem SFX Archiv völliger Schwachsinn, sorry!




    wäre hier Visual Basic hilfreich? *duck*

    1. Wir sind hier im Bereich "Visual Basic"
    2. Visual Basic ist eine Programmiersprache, er will den Code für seine Frage wissen!
    3. Ich habe schon eine Lösung geschrieben (siehe vorherigen Beitrag von mir)
  13. Autor dieses Themas

    l******e

    Also danke für die vielen Antworten!
    Also ich habe jetzt meinen eigenen Compiler gemacht ;)

  14. lilwayne schrieb:
    Also danke für die vielen Antworten!
    Also ich habe jetzt meinen eigenen Compiler gemacht ;)

    Zeigen :biggrin: Kannst den Link hier reinschreiben?

    Ansonsten:
    Du könntest ein Programm als Assemblercode mit im Programm abspeichern die Variablen ggf. einsetzen und dann kompilieren lassen ;)
    Das hab ich mal irgendwo gelesen^^

    Beitrag geaendert: 14.1.2007 16:15:26 von andy2309
  15. Autor dieses Themas

    l******e

    Also da ihr alle so braf wart :angel: geb ich euch mal nen Tipp ;-)

    Geht auf www.pscode.com und sucht in Visual Basic 6 nach nem EXE Compiler
  16. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!