(VB) Een vb script starten vanuit vb

Pagina: 1
Acties:
  • 127 views sinds 30-01-2008
  • Reageer

  • Icingdeath
  • Registratie: Augustus 2001
  • Laatst online: 29-04 20:23
Hoe kan ik een vb script starten vanuit vb 6.0? Het programma IntelliBot (www.mess.be), maakt hier gebruik van. Je kan dan zelf scripts toevoegen en functies aanroepen uit dat programma. Hoe krijg ik dat in vb???

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Je kan toch gewoon shellen naar dat script.

Of wil je hem echt in je code geinclude hebben. Denk dat dat wat moelijker wordt, omdat je natuurlijk al met een gecompiled programma werkt.

  • Helmet
  • Registratie: Januari 2002
  • Laatst online: 29-04 12:54
code:
1
shell "wscript hierisjescript.vbs"

Icons are overrated


  • Icingdeath
  • Registratie: Augustus 2001
  • Laatst online: 29-04 20:23
Maar met shell kan je geen functies aanroepen uit het vb programma en dit is eigenlijk wat ik bedoel

Verwijderd

Je bedoeld dat de grbuiker zelf een soort macro kan programmeren? Volgens mij kan dat op de volgende manier. Moet maar ff uitpoberen

Je voegd Microsoft Script Control toe aan je programma.
Je tekend een tekstbox waar je de code in kan voeren.
Je tekend twee knoppen en je voegt dit toe

Private Sub Command1_Click()
ScriptControl1.AddCode Text1.Text
End Sub

Private Sub Command2_Click()
naam = InputBox("Voer procedurenaam in:")
ScriptControl1.Run naam
End Sub

Moet je maar een beetje mee stoeien

  • Icingdeath
  • Registratie: Augustus 2001
  • Laatst online: 29-04 20:23
Bedankt voor de moeite, maar dat bedoel ik ook niet. Als je bijvoorbeeld een spel programmeerd kunnen de gebruikers zelf units toevoegen met een script in een tekstbestandje. Vanuit dat script kan je functies aanroepen (bijv dealdamage) in het programma. Ik weet zeker dat dat kan, want in Intellibot hebben ze dat ook gemaakt.

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 23:18

Sponge

Serious Game Developer

Je eigen script taal maken en dat laten parsen, is dat een idee?

Op www.pscode.com staan wel een aantal nette script talen eventueel

  • JohanDM
  • Registratie: Augustus 2002
  • Laatst online: 16-07-2021

JohanDM

Optimist

De ScriptControl bevat ook mogelijkheden om eigen methods aan de scriptengine toe te voegen, deze functies/subs/properties moeten dan wel in een class module gedefinieerd worden. Een voorbeeld:

Class Module clsFunctions:
Visual Basic:
1
2
3
4
5
6
7
8
9
Option Explicit

Public Sub DoIt()
    Randomize
End Sub

Public Function GetIt()
    GetIt = Round(Rnd * 20)
End Function


Form met ScriptControl ScriptControl1 en CommandButton Command1:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Explicit

Private Sub Form_Load()
    ScriptControl1.AddObject "TheFunctions", New clsFunctions, True
End Sub

Private Sub Command1_Click()
Dim strCode As String

    strCode = "Sub TheMacro()" & vbCrLf _
            & " DoIt" & vbCrLf _
            & " MsgBox GetIt" & vbCrLf _
            & "End Sub" & vbCrLf

    ScriptControl1.AddCode strCode
    ScriptControl1.Run "TheMacro"

End Sub


De macro in VBScript code roept in dit voorbeeld de sub DoIt en de functie GetIt uit de class module clsFunctions op. Met als resultaat dat er een messagebox komt met een random nummertje in.

"Two things are infinite: the universe and stupidity. And the former I'm not so sure about." -- Albert Einstein


  • Icingdeath
  • Registratie: Augustus 2001
  • Laatst online: 29-04 20:23
JohanDM schreef op 24 december 2002 @ 17:41:
De ScriptControl bevat ook mogelijkheden om eigen methods aan de scriptengine toe te voegen, deze functies/subs/properties moeten dan wel in een class module gedefinieerd worden. Een voorbeeld:

Class Module clsFunctions:
Visual Basic:
1
2
3
4
5
6
7
8
9
Option Explicit

Public Sub DoIt()
    Randomize
End Sub

Public Function GetIt()
    GetIt = Round(Rnd * 20)
End Function


Form met ScriptControl ScriptControl1 en CommandButton Command1:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Explicit

Private Sub Form_Load()
    ScriptControl1.AddObject "TheFunctions", New clsFunctions, True
End Sub

Private Sub Command1_Click()
Dim strCode As String

    strCode = "Sub TheMacro()" & vbCrLf _
            & " DoIt" & vbCrLf _
            & " MsgBox GetIt" & vbCrLf _
            & "End Sub" & vbCrLf

    ScriptControl1.AddCode strCode
    ScriptControl1.Run "TheMacro"

End Sub


De macro in VBScript code roept in dit voorbeeld de sub DoIt en de functie GetIt uit de class module clsFunctions op. Met als resultaat dat er een messagebox komt met een random nummertje in.
bedankt

[ Voor 6% gewijzigd door Icingdeath op 24-12-2002 22:16 ]

Pagina: 1