Answer» If i press the F1 i get "The MSDN collection does not exist. Please reinstall MSDN. But i cant find MSDN. So i can't install it.
And Sendkeys "{enter}" can i write Sen keys "{u}" instead?? and how do i do to take the information from the text boxes and use that key??
By stop i mean to end the loop And Wait fore the F11 key to be pressed agen.
Both the F10 and F11 i want to be accessed even if i hawnt got my own prog selected. This is what it locks like
Whid this i get a infernal loop when i press the F11 that i hawe to ctrl+alt+delet to get out off
still dont now if i kan stop the loop whid the F10 button but it started whid the F11
Code: (vb) [Select] Dim lop As Integer Dim PS1 As Integer Dim PS2 As Integer Dim AS1 As Integer Dim AS2 As Integer Dim AS1a As Integer Dim AS2a As Integer Dim repetetimes As Integer Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub AS1C_GotFocus() AS1C = "" End Sub
Private Sub AS1T_GotFocus() AS1T = "" End Sub
Private Sub AS2C_GotFocus() AS2C = "" End Sub
Private Sub AS2T_GotFocus() AS2T = "" End Sub
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
start: Debug.Print KeyCode, Shift Select Case KeyCode
Case vbKeyF11
lop = 1 PS1 = CInt(PS1C.Text) PS2 = CInt(PS2C.Text) AS1 = CInt(AS1C.Text) AS2 = CInt(AS2C.Text) AS1a = CInt(AS1T.Text) AS2a = CInt(AS2T.Text) repetetimes = CInt(repet.Text) SendKeys "{u}" ' press the u key Sleep (500) ' wait for 0,5 sek
If PS1C <> "Input" Then 'If the txt box PS1C is not empty then contineu SendKeys PS1 'press the button that is assigned to PS1C ex 1 Sleep (500) ' wait for 0,5 sek End If If PS2C <> "Input" Then 'If the txt box PS2C is not empty then contineu SendKeys PS2 'press the button that is assigned to PS2C ex 2 Sleep (500) ' wait 0,5 sek End If 'Do Until Case vbKeyF10 'stop running the prog when press the F10 button
Do While lop < repetetimes 'run this part the times specified in the "Times to repet" txt box If AS1C <> "Input" Then SendKeys AS1 'press the button that is assigned to PS1C ex 3 Sleep (AS1a) 'wait for the number in mS assigned in AS1T ex 5000 (5 sek) End If If AS2C <> "Input" Then SendKeys AS2 'press the button that is assigned to PS1C ex 4 Sleep (AS2a) 'wait for the number in mS assigned in AS1T ex 3000 (3 sek) End If lop = lop + 1 Loop
SendKeys "{p}" ' press the p key Sleep (10000) 'wait 10 sek lop = 1 ' resett the lop Case vbKeyF10 'DoEvents() ' if i delet the ' before the DoEvents() i get a "syntax error" GoTo start 'Loop End Select End Sub
Private Sub PS1C_GotFocus() PS1C = "" End Sub
Private Sub PS2C_GotFocus() PS2C = "" End Sub
Private Sub repet_GotFocus() repet = "" End Sub You had it right originally:
1. SendKeys "u"
I used a bad example, the curly braces are for keys on the keyboard that do not produce a character (like enter, tab, backspace, etc).
2. Do Until Case vbKeyF10 is ILLEGAL syntax; try Do Until vbKeyF10
Case is part of the Select construct.
3. Try using the DoEvents without the parenthesis. Not sure how helpful DoEvents will actually be; most times it's in a loop so the form can be updated. Hey! you never know.
I probably should have asked this a lot SOONER, but what version of VB are you using? If you're using an IDE, you can set checkpoints and then step into the code line by line to see how the program flows and what VALUES the variables have.
Maybe we should change the title of this post: "Re: Programming Help in VB!! Need 1 tip or 2"
The stop was only to inplement that i want the prog to stop running when the F10 was pressed i kant make the DoEvents to wurk i am using VB 6.0
and i gotten to prog to youst lock fore a few sek then write u12 (in the box i had seleckted) and make the num lock go on and off once
i still can't run the prog in eny other prog (like word)
This is the whole code now
Code: (vb) [Select]Dim lop As Integer Dim PS1 As Integer Dim PS2 As Integer Dim AS1 As Integer Dim AS2 As Integer Dim AS1a As Integer Dim AS2a As Integer Dim repetetimes As Integer Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub AS1C_GotFocus() AS1C = "" End Sub
Private Sub AS1T_GotFocus() AS1T = "" End Sub
Private Sub AS2C_GotFocus() AS2C = "" End Sub
Private Sub AS2T_GotFocus() AS2T = "" End Sub
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'start: Debug.Print KeyCode, Shift Select Case KeyCode
Case vbKeyF11
lop = 1 If PS1C > -1 And PS1C < 10 Then PS1 = CInt(PS1C.Text) End If If PS2C > -1 And PS2C < 10 Then PS2 = CInt(PS2C.Text) End If If AS1C > -1 And PS1C < 1 Then AS1 = CInt(AS1C.Text) End If If AS2C > -1 And AS2C < 10 Then AS2 = CInt(AS2C.Text) End If If AS1T > 0 Then AS1a = CInt(AS1T.Text) End If If AS2T > 0 Then AS2a = CInt(AS2T.Text) End If If repet > 0 Then repetetimes = CInt(repet.Text) Else MsgBox "You hawe to set more then that", vbInformation End If SendKeys "u" ' press the u key Sleep (500) ' wait for 0,5 sek
If PS1C <> "Input" Then 'If the txt box PS1C is not empty then contineu SendKeys PS1 'press the button that is assigned to PS1C ex 1 Sleep (500) ' wait for 0,5 sek End If If PS2C <> "Input" Then 'If the txt box PS2C is not empty then contineu SendKeys PS2 'press the button that is assigned to PS2C ex 2 Sleep (500) ' wait 0,5 sek End If Do Until vbKeyF10 'stop running the prog when press the F10 button
Do While lop < repetetimes 'run this part the times specified in the "Times to repet" txt box If AS1C <> "Input" Then SendKeys AS1 'press the button that is assigned to PS1C ex 3 Sleep (AS1a) 'wait for the number in mS assigned in AS1T ex 5000 (5 sek) End If If AS2C <> "Input" Then SendKeys AS2 'press the button that is assigned to PS1C ex 4 Sleep (AS2a) 'wait for the number in mS assigned in AS1T ex 3000 (3 sek) End If lop = lop + 1 Loop
SendKeys "p" ' press the p key Sleep (10000) 'wait 10 sek lop = 1 ' resett the lop 'Case vbKeyF10 DoEvents 'GoTo start Loop End Select End Sub
Private Sub PS1C_GotFocus() PS1C = "" End Sub
Private Sub PS2C_GotFocus() PS2C = "" End Sub
Private Sub repet_GotFocus() repet = "" End Sub
Im i missing somthing??
If i change the 3 first wait commands it locks fore a longer period of time then write ute the u12 is there a sulution to make it right after line Code: (vb) [Select]SendKeys "u" it uses it not wait untill it hawe done all?You have a set of nested do loops but the outer loop is incomplete unless the Case vbKeyF10 line is commented out. I suspect you'll eventually need that case statement.
I may be missing something, but shouldn't PS1C and PS2C be initialized with values before you check to see if they are > -1 and < 10
The SendKeys "u" is correct syntax but the keystroke is at the cursor position. Where is the cursor? (I don't know either)
Quote i still can't run the prog in eny other prog (like word) I'm not sure where you're going with this but to run this within the Word application you'd need to run it as a macro.
VB is an event driven language which makes it perfect for interactive applications. Your program seems to be acting as both a program and a user in that it's creating the events and then running code in response. I know I'm a little slow on the uptake, but I still have no idea what you're trying to accomplish.
word was just a EXP i want to run it in 9Dragons a MMORPG
tis is what it locks like before i press the F11
Start F11 Stop F10
Skill Slot Time (mS)
Passive Skill 1 / 1 / Passive Skill 2 / 2 /
Active Skill 1 / 3 / / 2000 / Active Skill 2 / 4 / / 3000 /
Times to repeat / 5/
and if the cursor is located at the Times to repetwhen i press F11 it locks like this
Times to repeat /5u12/
if i hawe it at the Active Skill 1 it looks like this
Active skill 1 /1u12/
so the check If PS1C > -1 And PS1C < 10 Then PS1 = CInt(PS1C.Text) End If seems to work
Well i'm going on wecation now so i cant complet it before new year.
but i'l bump this later if i need more help
So werry christmas and a happy new year.Well i'm back and hawe the same problem.
What is does so far.
When i press the F11 button it locks fore about 1-3 sek and then it writes u and what i hawe wrutten in the first 2 text boxes then nothing more.
What i want it to do.
I want to be able to start it in eny program. It wont lock when i press F11.(whrites the u and the first 2 boxes whidout locking) It start writing the 3 and 4 text boxes(like this 3 wait 4 wait 3 wait 4 wait 3 wait 4 wait) The 3 and 4 from the last example can be change to enyting betwene 0 and 9 and the wait can be changed seperatly in the 2 boxes on the right The last box is for how meny times box 3 and 4 SHELL run before the prog press p The F10 button whill stop the loop All this whidout locking the computer betwene the writings.Well i made som changes.
Now it writes the 3 and 4 txt box and the p also but it still locks but i can move the mouse betveen the loops and i still can't start it whidout having it marked.
i think it can be the SendKeys command or the wait command
Code: (vb) [Select]Dim lop As Integer Dim PS1 As Integer Dim PS2 As Integer Dim AS1 As Integer Dim AS2 As Integer Dim AS1a As Integer Dim AS2a As Integer Dim repetetimes As Integer Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Dim bCancel As Boolean
Private Sub AS1C_GotFocus() AS1C = "" End Sub
Private Sub AS1T_GotFocus() AS1T = "" End Sub
Private Sub AS2C_GotFocus() AS2C = "" End Sub
Private Sub AS2T_GotFocus() AS2T = "" End Sub
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Debug.Print KeyCode, Shift Select Case KeyCode
Case vbKeyF11 bCancel = False
PS1C.Enabled = False 'So that you dont change it when it runns lop = 1 If PS1C <> "Input" And PS1C <> "" Then PS1 = CInt(PS1C.Text) End If If PS2C <> "Input" And PS2C <> "" Then PS2 = CInt(PS2C.Text) End If If AS1C <> "Input" And PS1C <> "" Then AS1 = CInt(AS1C.Text) End If If AS2C <> "Input" And AS2C <> "" Then AS2 = CInt(AS2C.Text) End If If AS1T <> "Input" And AS1T <> "" Then AS1a = CInt(AS1T.Text) End If If AS2T <> "Input" And AS2T <> "" Then AS2a = CInt(AS2T.Text) End If If repet <> "Input" And repet <> "" And repet > 0 Then repetetimes = CInt(repet.Text) Else MsgBox "You hawe to set more then that", vbInformation End If SendKeys "u" ' press the u key Sleep (500) ' wait for 0,5 sek
If PS1C <> "Input" And PS1C <> "" Then 'If the txt box PS1C is not empty then contineu SendKeys PS1 'press the button that is assigned to PS1C ex 1 Sleep (500) ' wait for 0,5 sek End If If PS2C <> "Input" And PS2C <> "" Then 'If the txt box PS2C is not empty then contineu SendKeys PS2 'press the button that is assigned to PS2C ex 2 Sleep (500) ' wait 0,5 sek End If DoEvents Do While Not bCancel 'stop running the prog when press the F10 button
Do While lop < repetetimes 'run this part the times specified in the "Times to repet" txt box If AS1C <> "Input" Then SendKeys AS1 'press the button that is assigned to PS1C ex 3 Sleep (AS1a) 'wait for the number in mS assigned in AS1T ex 5000 (5 sek) End If If AS2C <> "Input" Then SendKeys AS2 'press the button that is assigned to PS1C ex 4 Sleep (AS2a) 'wait for the number in mS assigned in AS1T ex 3000 (3 sek) End If lop = lop + 1 DoEvents Loop
SendKeys "p" ' press the p key Sleep (10000) 'wait 10 sek lop = 0 ' resett the lop 'Case vbKeyF10 DoEvents 'GoTo start Loop
Case vbKeyF10 bCancel = True PS1C.Enabled = True End Select
End Sub
Private Sub PS1C_GotFocus() PS1C = "" End Sub
Private Sub PS2C_GotFocus() PS2C = "" End Sub
Private Sub repet_GotFocus() repet = "" End Sub
-:Bump:-
Still need help-:Bump:-
|