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???
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.
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.
code:
1
| shell "wscript hierisjescript.vbs" |
Icons are overrated
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
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
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.
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
Op www.pscode.com staan wel een aantal nette script talen eventueel
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:
Form met ScriptControl ScriptControl1 en CommandButton Command1:
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.
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
bedanktJohanDM 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.
[ Voor 6% gewijzigd door Icingdeath op 24-12-2002 22:16 ]
Pagina: 1