ฟอรั่มของบล็อก http://pssix.blogspot.com


รบกวนดู code ให้หน่อครับ [ทำเกือบเสร็จแล้ว]

Share

Pochi
PSsix Member Class III
PSsix Member Class III


จำนวนข้อความ : 66
ความนิยม : 1
เข้าร่วมเมื่อ : 22/10/2010

รบกวนดู code ให้หน่อครับ [ทำเกือบเสร็จแล้ว]

ตั้งหัวข้อ by Pochi on 09/07/12, 05:31 am

ผมเอา code มารวมๆ กันครับ จะทำไปใช้งานแค่มันกด key เองไล่ตามวินาทีวนทำงานไปเรื่อยๆ

เริ่มทำงาน >> กด key A >> 3 วิ แล้วค่อยกด key B >> 5 วิ แล้วค่อยกด key C >> วนไปถึง key J แล้วกลับมา key A

เหมือนมันไม่ไล่ Check ที่ละอันครับ ที่ติกไว้มันกดพร้อมกันเองหมดเลย บ้างครั้งก็ไม่กด งง มากครับ

em228

Code:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $times = TimerInit()

$Form1 = GUICreate("ขอบคุณ Code จาก คุณ POS, Fast, aut และ Hiewsound", 360, 380, 192, 124)

;============================================================Check=

$Checkbox1 = GUICtrlCreateCheckbox("", 5, 9, 15, 17)
$Checkbox2 = GUICtrlCreateCheckbox("", 5, 41, 15, 17)
$Checkbox3 = GUICtrlCreateCheckbox("", 5, 73, 15, 17)
$Checkbox4 = GUICtrlCreateCheckbox("", 5, 105, 15, 17)
$Checkbox5 = GUICtrlCreateCheckbox("", 5, 137, 15, 17)
$Checkbox6 = GUICtrlCreateCheckbox("", 5, 169, 15, 17)
$Checkbox7 = GUICtrlCreateCheckbox("", 5, 201, 15, 17)
$Checkbox8 = GUICtrlCreateCheckbox("", 5, 233, 15, 17)
$Checkbox9 = GUICtrlCreateCheckbox("", 5, 265, 15, 17)
$Checkbox10 = GUICtrlCreateCheckbox("", 5, 297, 15, 17)

;==============================================================KEY=

$Combo1 = GUICtrlCreateCombo("A", 28, 8, 35, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "B|C|D|E|F|G|H|I|J")
$Combo2 = GUICtrlCreateCombo("B", 28, 40, 35, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "A|C|D|E|F|G|H|I|J")
$Combo3 = GUICtrlCreateCombo("C", 28, 72, 35, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "A|B|D|E|F|G|H|I|J")
$Combo4 = GUICtrlCreateCombo("D", 28, 104, 35, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "A|B|C|E|F|G|H|I|J")
$Combo5 = GUICtrlCreateCombo("E", 28, 136, 35, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "A|B|C|D|F|G|H|I|J")
$Combo6 = GUICtrlCreateCombo("F", 28, 168, 35, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "A|B|C|D|E|G|H|I|J")
$Combo7 = GUICtrlCreateCombo("G", 28, 200, 35, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "A|B|C|D|E|F|H|I|J")
$Combo8 = GUICtrlCreateCombo("H", 28, 232, 35, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "A|B|C|D|E|F|G|I|J")
$Combo9 = GUICtrlCreateCombo("I", 28, 264, 35, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "A|B|C|D|E|F|G|H|J")
$Combo10 = GUICtrlCreateCombo("J", 28, 296, 35, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "A|B|C|D|E|F|G|H|I")

;===============================================================Deley=

GUICtrlCreateLabel("Deley Key >", 70, 10, 62, 17)
$Input1 = GUICtrlCreateInput("1", 135, 8, 73, 21)
GUICtrlCreateLabel("Deley Key >", 70, 42, 62, 17)
$Input2 = GUICtrlCreateInput("2", 135, 40, 73, 21)
GUICtrlCreateLabel("Deley Key >", 70, 74, 62, 17)
$Input3 = GUICtrlCreateInput("3", 135, 72, 73, 21)
GUICtrlCreateLabel("Deley Key >", 70, 106, 62, 17)
$Input4 = GUICtrlCreateInput("4", 135, 104, 73, 21)
GUICtrlCreateLabel("Deley Key >", 70, 138, 62, 17)
$Input5 = GUICtrlCreateInput("5", 135, 136, 73, 21)
GUICtrlCreateLabel("Deley Key >", 70, 170, 62, 17)
$Input6 = GUICtrlCreateInput("6", 135, 168, 73, 21)
GUICtrlCreateLabel("Deley Key >", 70, 202, 62, 17)
$Input7 = GUICtrlCreateInput("7", 135, 200, 73, 21)
GUICtrlCreateLabel("Deley Key >", 70, 234, 62, 17)
$Input8 = GUICtrlCreateInput("8", 135, 232, 73, 21)
GUICtrlCreateLabel("Deley Key >", 70, 266, 62, 17)
$Input9 = GUICtrlCreateInput("9", 135, 264, 73, 21)
GUICtrlCreateLabel("Deley Key >", 70, 298, 62, 17)
$Input10 = GUICtrlCreateInput("10", 135, 296, 73, 21)

;===============================================================User=

GUICtrlCreateLabel("สั่งโปรแกรมทำงาน/หยุดทำงาน = ปุ่ม F5", 16, 328, 230, 30)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
GUICtrlCreateLabel("ออกจากโปรแกรม = ปุ่ม F6", 16, 350, 150, 30)
GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
GUISetState(@SW_SHOW)

;===============================================================Command=
Global $Paused
Global $times = TimerInit()
HotKeySet("{F5}", "TogglePause")
HotKeySet("{F6}", "Terminate")
;=================================================================Check=
Sleep(500)
;===============================================================Run&Stop=
TogglePause()
Func TogglePause()
  $Paused = NOT $Paused
  While $Paused
      Sleep(100)
      ToolTip(">> หยุดทำงาน >> กด F5 ทำงาน <<",226,39)
  WEnd
  ToolTip(">> กำลังทำงาน >> กด F6 หยุดทำงาน <<",226,39)
      Sleep(100)
EndFunc
Func Terminate()
  Exit 0
EndFunc

;=================================================================Run=

While 1
  $nMsg = GUIGetMsg()
  Switch $nMsg
      Case $GUI_EVENT_CLOSE
        Exit

      Case $Paused
          Global $times = TimerInit()
            While Sleep(100)
      If GUIGetMsg() = -4 Then Exit
      $Diff = Int(TimerDiff($times)/1000)
      If Mod($Diff, GUICtrlRead($Input1)/1) = 0 and GUICtrlRead($Checkbox1)=1 Then send ("{"& GUICtrlRead($Combo1 )&"}")
      If Mod($Diff, GUICtrlRead($Input2)/1) = 0 and GUICtrlRead($Checkbox2)=1 Then send ("{"& GUICtrlRead($Combo2 )&"}")
      If Mod($Diff, GUICtrlRead($Input3)/1) = 0 and GUICtrlRead($Checkbox3)=1 Then send ("{"& GUICtrlRead($Combo3 )&"}")
     If Mod($Diff, GUICtrlRead($Input4)/1) = 0 and GUICtrlRead($Checkbox4)=1 Then send ("{"& GUICtrlRead($Combo4 )&"}")
     If Mod($Diff, GUICtrlRead($Input5)/1) = 0 and GUICtrlRead($Checkbox5)=1 Then send ("{"& GUICtrlRead($Combo5 )&"}")
     If Mod($Diff, GUICtrlRead($Input6)/1) = 0 and GUICtrlRead($Checkbox6)=1 Then send ("{"& GUICtrlRead($Combo6 )&"}")
      If Mod($Diff, GUICtrlRead($Input7)/1) = 0 and GUICtrlRead($Checkbox7)=1 Then send ("{"& GUICtrlRead($Combo7 )&"}")
      If Mod($Diff, GUICtrlRead($Input8)/1) = 0 and GUICtrlRead($Checkbox8)=1 Then send ("{"& GUICtrlRead($Combo8 )&"}")
     If Mod($Diff, GUICtrlRead($Input9)/1) = 0 and GUICtrlRead($Checkbox9)=1 Then send ("{"& GUICtrlRead($Combo9 )&"}")
     If Mod($Diff, GUICtrlRead($Input10)/1) = 0 and GUICtrlRead($Checkbox10)=1 Then send ("{"& GUICtrlRead($Combo10 )&"}")

  WEnd
  EndSwitch
WEnd

;=================================================================End=

Fast
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Program Coder
จำนวนข้อความ : 217
ความนิยม : 52
เข้าร่วมเมื่อ : 19/06/2011

Re: รบกวนดู code ให้หน่อครับ [ทำเกือบเสร็จแล้ว]

ตั้งหัวข้อ by Fast on 10/07/12, 10:36 am

#include
#include
#include
#include
#include

Global $times

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 328, 137, 192, 124)
$Input1 = GUICtrlCreateInput("2", 104, 16, 49, 21)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 8, 16, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 8, 56, 97, 17)
$Combo1 = GUICtrlCreateCombo("a", 176, 16, 81, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "a|b|c")
$Input2 = GUICtrlCreateInput("5", 104, 56, 49, 21)
$Combo2 = GUICtrlCreateCombo("b", 176, 56, 81, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "a|b|c")
$Button1 = GUICtrlCreateButton("Button1", 184, 88, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

Case $Button1

$times = TimerInit()
start()

EndSwitch
WEnd





Func start()
While Sleep(100)
If GUIGetMsg() = -3 Then Exit
$Diff = Int(TimerDiff($times)/1000)
If Mod($Diff, GUICtrlRead($Input1)/1) = 0 and GUICtrlRead($Checkbox1)=1 Then send ("{"& GUICtrlRead($Combo1 )&"}")
If Mod($Diff, GUICtrlRead($Input2)/1) = 0 and GUICtrlRead($Checkbox2)=1 Then send ("{"& GUICtrlRead($Combo2 )&"}")
WEnd

EndFunc

Pochi
PSsix Member Class III
PSsix Member Class III


จำนวนข้อความ : 66
ความนิยม : 1
เข้าร่วมเมื่อ : 22/10/2010

Re: รบกวนดู code ให้หน่อครับ [ทำเกือบเสร็จแล้ว]

ตั้งหัวข้อ by Pochi on 10/07/12, 11:30 pm

Fast พิมพ์ว่า:
Code:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

   Global  $times

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 328, 137, 192, 124)
$Input1 = GUICtrlCreateInput("2", 104, 16, 49, 21)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 8, 16, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 8, 56, 97, 17)
$Combo1 = GUICtrlCreateCombo("a", 176, 16, 81, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "a|b|c")
$Input2 = GUICtrlCreateInput("5", 104, 56, 49, 21)
$Combo2 = GUICtrlCreateCombo("b", 176, 56, 81, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "a|b|c")
$Button1 = GUICtrlCreateButton("Button1", 184, 88, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit

      Case $Button1

 $times = TimerInit()
         start()

   EndSwitch
WEnd





Func start()
            While Sleep(100)
      If GUIGetMsg() = -3 Then Exit
      $Diff = Int(TimerDiff($times)/1000)
      If Mod($Diff, GUICtrlRead($Input1)/1) = 0 and GUICtrlRead($Checkbox1)=1 Then send ("{"& GUICtrlRead($Combo1 )&"}")
     If Mod($Diff, GUICtrlRead($Input2)/1) = 0 and GUICtrlRead($Checkbox2)=1 Then send ("{"& GUICtrlRead($Combo2 )&"}")
  WEnd

   EndFunc
ขอบคุณครับ คุณ Fast

ผมลองเทสโดยกายรันโปรแกรมกับ notepad แล้วติกที่ check 1 กับ 2 โดย A ให้มีดีเลย์ 3 วิ และ B 6 วิ ผลที่ได้คือ

ababababababaaaaaaaaababababababababaaaaaaaaaabababababababaaaaaaaaabababababababaaaaaaaaabababababababaaaaaaaababababababab

แลผมก็ลองอีกครั้ง ติกที่ check 1 กับ 2 โดย A ให้มีดีเลย์ 3 วิ และ B 2 วิ ผลที่ได้คือ

ababababababbbbbbbbbbaaaaaaaabbbbbbbbbababababababababbbbbbbbbaaaaaaaabbbbbbbbbabababababababbbbbbbbbaaaaaaaabbbbbbb

มันเริ่มต้นที่ ababababab แทนที่จะเป็น aaaaaa แล้วก็ตามด้วย bbbbbb แล้่วก็วนมา a อีกครั้งครับ เกิดจากอะไรครับ หรือดีเลย์มันน้อยไปครับ


POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: รบกวนดู code ให้หน่อครับ [ทำเกือบเสร็จแล้ว]

ตั้งหัวข้อ by POS on 12/07/12, 07:35 am

อย่ายึดติดกับโค้ดมากเกินไปครับ ลองคิดแบบไม่ต้องอ้างอิงโค้ด แนวทางที่คุณต้องการเป็นการเรียงค่าการส่งคีย์ธรรมดาที่เรียงลำดับสคริปต์จากบนลงล่างเท่านั้น

Code:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("PSsix Combo", 324, 158, 623, 147)
GUISetBkColor(0x053B77)
$Checkbox1 = GUICtrlCreateCheckbox("1", 16, 24, 41, 17)
$Checkbox2 = GUICtrlCreateCheckbox("2", 16, 56, 41, 17)
$Checkbox3 = GUICtrlCreateCheckbox("3", 16, 88, 41, 17)
$Input1 = GUICtrlCreateInput("1", 152, 24, 65, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
$Input2 = GUICtrlCreateInput("2", 152, 56, 65, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
$Input3 = GUICtrlCreateInput("1", 152, 88, 65, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
$Combo1 = GUICtrlCreateCombo("", 64, 24, 57, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "a|b|c|d")
$Combo2 = GUICtrlCreateCombo("", 64, 56, 57, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "a|b|c|d")
$Combo3 = GUICtrlCreateCombo("", 64, 88, 57, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "a|b|c|d")
$Label1 = GUICtrlCreateLabel(" b", 16, 120, 203, 17)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Button1 = GUICtrlCreateButton("เริ่ม", 232, 16, 75, 25)
GUICtrlSetBkColor(-1, 0x0967C5)
GUISetState(@SW_SHOW)


While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit

      Case $Button1
         combo()
   EndSwitch
WEnd

Func combo()
   While 1
      If GUICtrlRead($Checkbox1) = 1 Then
         Send("{" & GUICtrlRead($Combo1) & "}")
         GUICtrlSetData($Label1, "combo 1 *")
         Sleep(GUICtrlRead($Input1) & "000")
      EndIf

      If GUICtrlRead($Checkbox2) = 1 then
         Send("{" & GUICtrlRead($Combo2) & "}")
         GUICtrlSetData($Label1, "combo 2 **")
         Sleep(GUICtrlRead($Input2) & "000")
      EndIf


      If GUICtrlRead($Checkbox3) = 1 Then
         Send("{" & GUICtrlRead($Combo3) & "}")
         GUICtrlSetData($Label1, "combo 3 ***")
         Sleep(GUICtrlRead($Input3) & "000")
      EndIf

      Sleep(10)
   WEnd

EndFunc


||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
[You must be registered and logged in to see this link.]

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

Pochi
PSsix Member Class III
PSsix Member Class III


จำนวนข้อความ : 66
ความนิยม : 1
เข้าร่วมเมื่อ : 22/10/2010

Re: รบกวนดู code ให้หน่อครับ [ทำเกือบเสร็จแล้ว]

ตั้งหัวข้อ by Pochi on 13/07/12, 11:41 pm

ขอบคุณ admin POR ครับ ที่มาช่วยดูโค้ดและแนะนำครับ

    เวลาขณะนี้ 08/12/16, 02:52 pm