CountDown Control Loop
เห็นตามเว็บที่ให้บริการฝากไฟล์ต่าง เวลาจะดาวน์โหลด เขาจะหน่วงเวลา ด้วยการทำตัวเลข นับถอยหลัง
เพื่อให้เราหยุดดูโฆษณาของเขาก่อน แลกกับการอัพไฟล์และดาวน์โหลดไฟล์
เพื่อบางท่านจะนำไปประยุกต์ใช้งาน ผมเลยนำความรู้เกี่ยวกับเรื่องนี้มาฝาก
-------------------------------------------------------------------------------
ลองดีไซด์ตัว CountDown ด้วย โปรแกรม Autoit3 กันดูครับ จากนั้นก็ลองทำจากภาษาอื่นๆกันบ้าง
ก่อนที่จะเขียนโค๊ดคำสั่ง เราก็ต้องมาคำนวณว่า เราจะใช้เวลา CountDown เท่าไหร่?
ในกรณีย์นี้ ผมจะใช้เวลานับถอยหลัง 1 นาที
คำสั่งที่ใช้ในการหน่วงเวลา ที่ต้องเขียนลงไปในสคริ๊ปคำสั่ง คือ Sleep()
ถ้าเขียน Sleep(1000) จะหมายถึง หน่วงเวลา 1 วินาที
เขียน Control Loop ใช้คำสั่ง For Next แค่ 60 To 0 Step -1 (นับถอยหลังเสต็ปละ 1 วินาที จำนวนทั้งหมด 60 เสต็ป)
----------------------------------------------------------------------------------
เห็นตามเว็บที่ให้บริการฝากไฟล์ต่าง เวลาจะดาวน์โหลด เขาจะหน่วงเวลา ด้วยการทำตัวเลข นับถอยหลัง
เพื่อให้เราหยุดดูโฆษณาของเขาก่อน แลกกับการอัพไฟล์และดาวน์โหลดไฟล์
เพื่อบางท่านจะนำไปประยุกต์ใช้งาน ผมเลยนำความรู้เกี่ยวกับเรื่องนี้มาฝาก
-------------------------------------------------------------------------------
ลองดีไซด์ตัว 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

Comment