ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
1095
1095
EMPFEHLEN
-
06.01.07 22:37 #1
Kann man wie bei PHP auch einen Code aus einer Datei includen lassen? Das soll Dazu dienen Variablen durch Inhalte einer Datei festzulegen. Wie ein Template theoretisch.
Es soll ungefähr so funktionieren:
Code :1 2 3 4 5 6 7 8 9
Private Sub cmdTemplateLoad_Click() Dim Variable1imTemplate As Boolean Dim Variable2imTemplate As Boolean Dim Variable3im Template As String Include template.tmp txtTest.ForeColor = Variable1imTemplate txtTest.BackColor = Variable2imTemplate txtTest.Font = Variable3imTemplate End Sub
Ich hoffe ihr habt mich damit verstanden und wisst bescheid worauf ich hinaus möchte....Geändert von Darkhell (06.01.07 um 22:40 Uhr)
Gruß
Darkhell
---------------------
-
jain...
funktioniert allerdings nur in VB6!
du kannst in deinem Programm keine weitere EXE Includen allerdings kannst du mit der Funktion EbExecuteLine Code währen dein Programm läuft ausführen.
Code :1 2 3 4 5 6 7 8 9
Private Declare Function EbExecuteLine Lib "vba6.dll" ( _ ByVal StringToExec As Long, _ ByVal Any1 As Long, _ ByVal Any2 As Long, _ ByVal CheckOnly As Long) As Long Private Function VBExecute(VBCode As String) As Boolean VBExecute = (EbExecuteLine(StrPtr(VBCode), 0&, 0&, 0&) = 0) End Function
jetzt kannst du den code z.B. aus einer TextBox(oder aus einer externen Datei) ausführen:
Code :1
VBExecute "MsgBox " & Chr(34) & "hallo Welt" & Chr(34)
so hoff, das dir das da was bringt...
mfg
JonasIch distansiere mich hiermit ausdrücklich von allen Postings mit unsinnigen, ironischen oder einfach falschen Inhalten !
-
Hallo Darkhell,
Du kannst mit dem Menü ‚Projekt/Modul hinzufügen’ -> Tab ‚Vorhanden’ ein VB-Modul in Dein Projekt einbinden. Alles was in diesem Modul als Public deklariert ist steht Dir dann zur Verfügung.
Der Inhalt von diesem Modul könnte z. B. so aussehen:
Code :1 2 3 4 5 6 7 8 9 10 11
Option Explicit Public Variable1imTemplate As Boolean Public Variable2imTemplate As Boolean Public Variable3imTemplate As String Public Sub IniVariable() Variable1imTemplate = True Variable2imTemplate = False Variable3imTemplate = "Inhalt von Variable3imTemplate" End Sub
Du musst nur die Sub IniVariable an geeigneter Stelle aufrufen (Form_Load() bietet sich da an).
Viel Erfolg
Walter Gutermann
Jetzt noch eine Bitte an Jonas.
Kennst Du eine Quelle in der ich eine Beschreibung der Function EbExecuteLine finden kann? Da scheinen sich ungeahnte Möglichkeiten aufzutun.
Im voraus Besten Dank.
Grüße
Walter
-
@WaGutSo nee ne Beschreibung kenn ich dazu nicht... hab des auch nur aus meinen Notizen noch gehabt aba wenn Probleme auftauchen sollten kannst du ja mal Fragen...
Ich distansiere mich hiermit ausdrücklich von allen Postings mit unsinnigen, ironischen oder einfach falschen Inhalten !
-
Nochmal kurz zu Function EbExecuteLine
Ich habe inzwischen erfahren, dass die Funktion nur in der Entwicklungsumgebung läuft. Das habe ich mit dem Beispiel von oben getestet. Dass es in einem kompilierten Programm nicht funktionieren kann ist eigentlich auch logisch. Der Inhalt von StringToExec müsste ja auch kompiliert werden.
Grüße
Walter Gutermann
-
jo da hast du wohl recht...
Mit der Funktion könnt ich ja eine Anwendung schreiben, die den Code aus einer externen Datei ausliest und diesen dann ausführt...
Man muss dann zwar einiges einbüßen, wenn man aber die EXE und die entsprechenden DLLs hat, dann kann man eigentlich komplett auf VB6 verzichten..
Ich bin mir sicher, dass so ein Progg bei Codern die nicht genug Geld für Visual Basic haben - speziell Schüler - extrem gut angekommen wär...
aber ich denk mal, dass des nicht im Interesse vom Billy und seinem Softwareteam wär
ich zum Glück hab mein VB6 geerbt
da musst ich recht wenig ausgeben...
kp ob des jetzt wirklich gewollt war aber des könnt ich mir gut vorstellen, dass Microsoft da nix herschenken möchte...
tut mir leid nochmal ... hab das auch erst jetzt erfahren, dass das nicht geht
mfg
Jonas
PS:
dazu nochmal soweit ich weiß benutzt Visual Basic selbst die vba6.dll für den Run-Modus.Dass es in einem kompilierten Programm nicht funktionieren kann ist eigentlich auch logisch. Der Inhalt von StringToExec müsste ja auch kompiliert werden.
weil der Quelltext im Code-Fenster ist ja letztendlich auch ein String, der dann durch den klick auf den Run-Button ausgeführt wird....
ich werd aber noch ein bissl googeln weil des interessiert mich jetzt schon irgendwieGeändert von der jonas (13.01.07 um 22:52 Uhr)
Ich distansiere mich hiermit ausdrücklich von allen Postings mit unsinnigen, ironischen oder einfach falschen Inhalten !
-
20.01.07 16:47 #7
Hallo zusammen,
WaGutSo, deine Lösung kann aber auch nicht im kompilierten modus funktionieren. Ich wollte die Sachen aus einem template (einer Datei) holen und dann includen und zum funktionieren bringen.Gruß
Darkhell
---------------------
-
also ich hab nochmal deine Frage durchgelesen... also ich hab mich bisher ausschließlich auf
bezogen...Kann man wie bei PHP auch einen Code aus einer Datei includen lassen?
aber von dem "Code-Includen" mal abgesehn würde es dein Problem auch lößen, wenn du in einer INI-Datei alle Attribute wie die Hintergrundfarbe von deiner Textbox speicherst?
da Link
JonasGeändert von der jonas (20.01.07 um 17:22 Uhr)
Ich distansiere mich hiermit ausdrücklich von allen Postings mit unsinnigen, ironischen oder einfach falschen Inhalten !
-
Hallo,
ich habe wohl etwas nicht richtig verstanden da ich PHP nicht kenne.
Ich bin davon ausgegangen, dass durch die Programmzeile Include template.tmp der Kompiler angewiesen wird die Datei template.tmp einzubinden und im Bedarfsfall zu kompilieren. Nichts anderes geschieht bei meinem Vorschlag, nur nicht durch eine Kompiler-Anweisung sondern durch ein paar Mausklick und wenn Variable initiiert werden müssen durch Aufruf der entsprechenden Prozedur. Ich praktiziere diese Methode schon lange mit meiner Sammlung von verschiedene, immer wieder benötigten Funktionen und Konstanten.
Grüße
Walter Gutermann
-
21.01.07 18:38 #10
danke Jonas du hast es gefunden was ich wollte
Gruß
Darkhell
---------------------
Ähnliche Themen
-
Dankbankabfrage per Code in Visual Basic 2005 Express Edition
Von Des Tiny im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 17.03.07, 23:48 -
Visual Studio 2003.net = Visual Basic.net?
Von T1-Fox im Forum .NET ArchivAntworten: 2Letzter Beitrag: 17.01.05, 13:32 -
Visual Basic Code in Visual Basic generieren
Von NBOne im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 16.01.05, 15:51 -
Mit Visual Basic c++ Code ausführen?
Von forsterm im Forum .NET ArchivAntworten: 2Letzter Beitrag: 16.12.04, 13:51 -
Eine Frage im zusammenhang von Visual BASIC und Visual STUDIO
Von CodeControl im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 29.09.04, 09:20





Zitieren
Login





