Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: [VB] MSScriptControllin pysäyttäminen

JussiR [15.01.2007 00:17:58]

#

Olen tehnyt macron scriptaus ohjelman ja jos siihen kirjoittaa vaikka

Sub Main()
Color = 32749
Do Until Laskuri = 100
Mmouse 302,230,4
RandWait 100,200
LeftClick
RandWait 50,100
RndMTC (Color)
WaitS 1
Laskuri = Laskuri + 1
Loop
End Sub

se tekee tuon 100 kertaa ja olisi hyvä jos voisi lopettaa aikaisemmin, jos haluaa, eli miten ihmeessä saisin stoppi nappulan toimimaan kun tuossa scriptcontrollissa ei ole mitään "Stop" tai "Terminate" komentoa?

neau33 [15.01.2007 08:42:28]

#

Moikka JussiR!

Tässä olis hirvee, mutta toimiva viritelmä...

script.txt:

Sub Main()
Do Until Laskuri = 100
Laskuri = Laskuri + 1
Text1.Text = Laskuri
If terminate Then
terminated = True
Exit Sub
End if
viivytys 1
Loop
End Sub

En viitsi kommentoida koodia sen enempää, joten tutki itseksesi...

'formiin

Public sc As New MSScriptControl.ScriptControl
Public terminate As Boolean, terminated As Boolean

Private Sub Command1_Click()
 terminate = True
End Sub

Private Sub Form_Load()
terminate = False: terminated = False
Open "C:\script.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, strLineInput
 strCode = strCode & strLineInput & vbCrLf
Loop
Close #1
 With sc
   .Language = "VBScript"
   .AddObject "UserForm1", Me, True
   .AllowUI = True
   .AddCode strCode
   .Run "Main"
  End With
End Sub

Private Sub Form_Unload()
 terminate = True
 Do While terminated = False: DoEvents: Loop
End Sub

Public Function viivytys(viive) As Single
 viive = Timer() + viive
 Do While viive > Timer()
  xev& = DoEvents()
  If terminate Then
   Exit Do
  End If
 Loop
End Function

neau33 [16.01.2007 09:04:16]

#

Oops!

Pikku lisäys siihen scriptiin...

'.............
Loop
terminated = Not terminated
End Sub

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta