tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
1095
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Darkhell
    Darkhell Darkhell ist offline Mitglied Gold
    Registriert seit
    Jun 2006
    Ort
    unter deinem Bett
    Beiträge
    186
    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
    ---------------------

  2. #2
    Avatar von der jonas
    der jonas der jonas ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Beiträge
    124
    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
    Jonas
     
    Ich distansiere mich hiermit ausdrücklich von allen Postings mit unsinnigen, ironischen oder einfach falschen Inhalten !

  3. #3
    WaGutSo WaGutSo ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    63
    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
     

  4. #4
    Avatar von der jonas
    der jonas der jonas ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Beiträge
    124
    @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 !

  5. #5
    WaGutSo WaGutSo ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    63
    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
     

  6. #6
    Avatar von der jonas
    der jonas der jonas ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Beiträge
    124
    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:
    Dass es in einem kompilierten Programm nicht funktionieren kann ist eigentlich auch logisch. Der Inhalt von StringToExec müsste ja auch kompiliert werden.
    dazu nochmal soweit ich weiß benutzt Visual Basic selbst die vba6.dll für den Run-Modus.
    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 irgendwie
    Geä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 !

  7. #7
    Avatar von Darkhell
    Darkhell Darkhell ist offline Mitglied Gold
    Registriert seit
    Jun 2006
    Ort
    unter deinem Bett
    Beiträge
    186
    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
    ---------------------

  8. #8
    Avatar von der jonas
    der jonas der jonas ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Beiträge
    124
    also ich hab nochmal deine Frage durchgelesen... also ich hab mich bisher ausschließlich auf
    Kann man wie bei PHP auch einen Code aus einer Datei includen lassen?
    bezogen...

    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

    Jonas
    Geä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 !

  9. #9
    WaGutSo WaGutSo ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    63
    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
     

  10. #10
    Avatar von Darkhell
    Darkhell Darkhell ist offline Mitglied Gold
    Registriert seit
    Jun 2006
    Ort
    unter deinem Bett
    Beiträge
    186
    danke Jonas du hast es gefunden was ich wollte
     
    Gruß
    Darkhell
    ---------------------

Ähnliche Themen

  1. Dankbankabfrage per Code in Visual Basic 2005 Express Edition
    Von Des Tiny im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 17.03.07, 23:48
  2. Visual Studio 2003.net = Visual Basic.net?
    Von T1-Fox im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 17.01.05, 13:32
  3. Visual Basic Code in Visual Basic generieren
    Von NBOne im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 16.01.05, 15:51
  4. Mit Visual Basic c++ Code ausführen?
    Von forsterm im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 16.12.04, 13:51
  5. Eine Frage im zusammenhang von Visual BASIC und Visual STUDIO
    Von CodeControl im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 29.09.04, 09:20