Hi,
grad nochmal ne Frage:
gibt es eine Möglichkeit, dass ein Programm Quellcode aus einer Textdatei liest und ihn dann ausführt?
MfG
Rodario
Hi,
grad nochmal ne Frage:
gibt es eine Möglichkeit, dass ein Programm Quellcode aus einer Textdatei liest und ihn dann ausführt?
MfG
Rodario
Hi,
Hallo,
ja die Möglichkeit gibt es. Aber das ist mal eben nicht auf die schnelle gemacht. Wie es geht, habe ich mal irgendwo gelesen.
grad nochmal ne Frage:
gibt es eine Möglichkeit, dass ein Programm Quellcode aus
einer Textdatei liest und ihn dann ausführt?MfG
Rodario
MfG Alex
Hallo,
Hi,
ja die Möglichkeit gibt es. Aber das ist mal eben nicht auf
die schnelle gemacht. Wie es geht, habe ich mal irgendwo
gelesen.
Schade… Dann muss ich mir was neues ausdenken^^
MfG Alex
MfG Rodario
Moin, Rodario,
gibt es eine Möglichkeit, dass ein Programm Quellcode aus
einer Textdatei liest und ihn dann ausführt?
das wäre ein Interpreter. So wird zB VBA-Code (oder fast jeder Basic-Quellcode) ausgeführt, solange er nicht kompiliert wurde.
Ich kenne allerdings keine Möglichkeit, einen Interpreter aus einem anderen Programm heraus aufzurufen.
Gruß Ralf
gibt es eine Möglichkeit, dass ein Programm Quellcode aus
einer Textdatei liest und ihn dann ausführt?
ja die Möglichkeit gibt es. Aber das ist mal eben nicht auf
die schnelle gemacht. Wie es geht, habe ich mal irgendwo
gelesen.
Hallo Alex,
erstmal, ich ich gehe bei 4 Bytes mit einem Vorzeichenbit immer noch von 31 und nicht 30 restlichen verwertbaren Bits aus
Jetzt kenne ich mich in Vb nicht aus obwohl ich seit kurzem VB5.0 installert habe, naja, eine exe die hello world auf dem Bildschirm schreibt konnte ich noch nicht basteln *kicher* aber das wächst.
Jedenfalls in Excel-Vba ist die Anfrage m.E. leicht lösbar.
Die Textdatei einlesen, ein Modul erzeugen, dort den Prozedurtext einfügen, dann mit „Run“ diese Prozedur starten.
Geht das in VB nicht daß zur Laufzeit einer Prozedur durch diese Prozedur in einem Modul eine andere Prozedur erstellt wird und dann gestartet?
Gruß
Reinhard
Hallo Reinhard,
erstmal, ich ich gehe bei 4 Bytes mit einem Vorzeichenbit
immer noch von 31 und nicht 30 restlichen verwertbaren Bits
aus
Genau da lag unser Verstaendnis Problem. ich hatte zugegriffen mit
2 ^Bit was 2 hoch Bit entspricht. Dabei begann das Bit mit 0 zu zaehlen. Zurueckgesetzt hatte ich das Bit mittels.Ueber Count hatte ich die Durchlaeufe gezaehlt und mit "If Count Mod 31 =0 then Bit=0
das Bit auf zurueckgesetzt! Somit habe ich das höchst datierte Bit zugegriffen. Ich musste abfragen mit IF Count Mod 30
Jetzt kenne ich mich in Vb nicht aus obwohl ich seit kurzem
VB5.0 installert habe, naja, eine exe die hello world auf dem
Bildschirm schreibt konnte ich noch nicht basteln *kicher*
aber das wächst.
Öhm neues Project erstellen. Dann auf die Form ein Label ziehen. Dort unter Caption einfach „Hello World“ eintragen und dann starten *grins*
Jedenfalls in Excel-Vba ist die Anfrage m.E. leicht lösbar.
Die Textdatei einlesen, ein Modul erzeugen, dort den
Prozedurtext einfügen, dann mit „Run“ diese Prozedur starten.
Und genau das geht nicht unter VB! Da die Dateien compiliert werden und dann dann dort sturr der vorgeschriebene Source ausgefuehrt wird!
ok, es kommt darauf an, was man machen möchte. Alternativ koennte man das was angegeben wurde in ein Batch File packen und dann ausführen oder halt dann ein VBS Script erstellen und das wiederrum starten.
Auch habe ich mal irgendwo etwas gelesen, wie sowas zu realisieren waere, aber das habe ich schnell wieder verworfen, da sowas in meinen Augen keinen Sinn ergibt! Wozu brauch man sowas? Weisst du wie man dann die Daten manipulieren koennte etc. ?
MfG Alex
Geht das in VB nicht daß zur Laufzeit einer Prozedur durch
diese Prozedur in einem Modul eine andere Prozedur erstellt
wird und dann gestartet?
siehe oben
Gruß
Reinhard
Hi,
ich habe das Problem jetzt !selbstständig! @ Alex gelöst!
Es ging mir darum, dass ich in ein Programm später updates einbinden kann, die dann (so der ursprüngliche Plan) aus Update.txt gelesen werden.
Jetzt nimm ich einfach Shell (App.Path & „\update.exe“)
Das wollte ich nur mal loswerden
MfG
Rodario
Hallo Rodario,
ich habe das Problem jetzt !selbstständig! @ Alex
gelöst!
das ist ja nicht böse gemeint. Im gegenteil. Wir wollen doch das auch du verstehst wie man etwas löst
Es ging mir darum, dass ich in ein Programm später updates
einbinden kann, die dann (so der ursprüngliche Plan) aus
Update.txt gelesen werden.
Haettest du gleich geschrieben das du ein Update machen willst, so haette ich dir einen anderen sicheren Weg ausweisen koennen!
ich weiss ja nicht, wie du das nun realisierst.
Aber lege einfach auf einen Server ein TextFile mit der aktuellen Version, dazu das neue Exe File. Beim start, prüfst du die Version, dann noch ob der Rechner Online ist. Wenn ja dann textFile laden, Version vergleichen und wenn sie unterschiedlich ist, dann als *.bak speichern. Ein Batch File erstellen, wo du in einer Schleife versuchst das exe File zu löschen. Als Aussprung nimmst du das erfolgreiche löschen. Danach benennst du nur das *.bak File um nach *.exe und volla beim naechsten Start liegt die aktuelle version vor
Hört sich kompliziert an, ist es aber nicht
Bei deiner version solltest du bedenken, das a das textfile sich an einen anderen Ort befinden kann!
Der Source der im TXT File steht, fehlerhaft sein kann!
Der Inhalt des TextFiles von Hand durch unerfahrene Benutzer geaendert werden kann!
MfG Alex
Jetzt nimm ich einfach Shell (App.Path & „\update.exe“)
Und was ist wenn App.Path sich im Root Laufwerk befindet?
Dann geht genau die version nicht!
Besser waere es so zu lösen
dim sFile as String
sFile=IIF(right(app.path,1)="\",app.path,app.path & "\") & "update.exe"
Shell(sfile)
Das wollte ich nur mal loswerden
Ich auch
MfG Alex