Announcement

Collapse
No announcement yet.

CountDown Control Loop (Autoit3)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • CountDown Control Loop (Autoit3)

    CountDown Control Loop
    เห็นตามเว็บที่ให้บริการฝากไฟล์ต่าง เวลาจะดาวน์โหลด เขาจะหน่วงเวลา ด้วยการทำตัวเลข นับถอยหลัง
    เพื่อให้เราหยุดดูโฆษณาของเขาก่อน แลกกับการอัพไฟล์และดาวน์โหลดไฟล์
    เพื่อบางท่านจะนำไปประยุกต์ใช้งาน ผมเลยนำความรู้เกี่ยวกับเรื่องนี้มาฝาก
    -------------------------------------------------------------------------------
    ลองดีไซด์ตัว CountDown ด้วย โปรแกรม Autoit3 กันดูครับ จากนั้นก็ลองทำจากภาษาอื่นๆกันบ้าง
    ก่อนที่จะเขียนโค๊ดคำสั่ง เราก็ต้องมาคำนวณว่า เราจะใช้เวลา CountDown เท่าไหร่?
    ในกรณีย์นี้ ผมจะใช้เวลานับถอยหลัง 1 นาที
    คำสั่งที่ใช้ในการหน่วงเวลา ที่ต้องเขียนลงไปในสคริ๊ปคำสั่ง คือ Sleep()
    ถ้าเขียน Sleep(1000) จะหมายถึง หน่วงเวลา 1 วินาที
    เขียน Control Loop ใช้คำสั่ง For Next แค่ 60 To 0 Step -1 (นับถอยหลังเสต็ปละ 1 วินาที จำนวนทั้งหมด 60 เสต็ป)
    ----------------------------------------------------------------------------------
    Code:
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 186, 114, 193, 125)
    $Label1 = GUICtrlCreateLabel("CountDown Status", 16, 16, 157, 17, $SS_CENTER)
    $Label2 = GUICtrlCreateLabel("1 :min", 16, 48, 159, 17, $SS_CENTER)
    $Button1 = GUICtrlCreateButton("Start", 56, 80, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUICtrlSetData($Label1, "Please wait!")
    For $i = 60 To 0 Step -1
    GUICtrlSetData($Label2, $i & " :sec")
    Sleep(1000)
    Next
    If $i < 0 Then
    Sleep(500)
    GUICtrlSetData($Label1, "CountDown Completed")
    Sleep(500)
    SoundPlay(@WindowsDir & "\media\tada.wav",1)
    Sleep(500)
    GUICtrlSetData($Label1, "CountDown Status")
    Sleep(500)
    GUICtrlSetData($Label2, "1 :min")
    EndIf
    EndSwitch
    WEnd

  • #2
    อันนี้เป็น CountDown อีกแบบหนึ่ง สร้างด้วยโปรแกรม AutoPlay
    ผมค้นคิดและออกแบบเอง คิดนอกกรอบ ไม่มีในตำรานะครับ
    ใช้คำสั่ง for ซ้อน for จะได้ Loop คอนโทรลลูปด้วยกันเอง
    ลองดาวน์โหลด Project|Size:1.8 MB| [คลิ๊กที่นี่] ไปศึกษากันดูนะครับ

    Last edited by sak2005; 15 Jan 2010, 09:52:23.

    Comment

    Working...
    X