การสร้างโปรแกรมย่อยเพื่อทำให้เกิดการรอคอยเป็นระยะเวลาตามที่ต้องการ (Delay Time)

Category »  VB 6/VB.Net
โดย : Webmaster เมื่อ 5/11/2549 11:12:00
(อ่าน : 17791) 

บทความนี้ผมจะขอนำเสนอวิธีในการสร้างโพรซีเยอร์ (หรือ โปรแกรมย่อย) สำหรับทำให้เกิดการรอคอย หรือ หน่วงเวลา เป็นระยะเวลาตามที่ต้องการ (Delay Time) ได้ ซึ่งเราสามารถทำได้อย่างไม่ยากเย็นนัก โดยการนำเอา คอนโทรล Timer มาใช้งาน (อีกวิธีหนึ่ง ก็ไม่จำเป็นต้องใช้คอนโทรลตัวนี้ก็ได้) โดยจะทำการทดสอบหลังจากกดปุ่ม Command แล้วให้หน่วงเวลาเอาไว้ 2 วินาที จากนั้นให้แสดงผลอยู่ 2 แห่ง ก็คือ Caption ของฟอร์ม (ล็อกเวลาสุดท้ายเอาไว้) และ อีกที่หนึ่งก็คือ Shape เพื่อเปลี่ยนสีจากสีเขียว ไปเป็นสีแดง


เมื่อพร้อมแล้ว ก็เริ่มต้นกันได้เลยครับ เริ่มจากการสร้าง Project ใหม่ ให้เป็น Standard --> Exe โดยนำเอา Control หรือ Object พื้นฐาน 3 ตัว คือ Timer (ชื่อ Timer1), Shape (ชื่อ Shape1) และ Command Button (ชื่อ Command1) นำมาวางไว้บนฟอร์ม (Form1) ดังรูปภาพประกอบ


Option Explicit
Private Sub Command1_Click()
     Me.Caption = Time$
     Shape1.BackColor = vbGreen
     DelayTime 2 ' กำหนดการหน่วงเวลาที่ 2 วินาที
     Me.Caption = Time$
     Shape1.BackColor = vbRed
End Sub

Public Sub DelayTime(Sec As Long)
' กำหนดให้ Sec เป็นพารามิเตอร์เพื่อรับค่าการหน่วงเวลาเข้ามา

     ' Turn Timer1 On
     Timer1.Enabled = True
     Timer1.Interval = 1000 * Sec

     While Timer1.Interval > 0
         DoEvents
     Wend
     ' Turn Timer1 Off
     Timer1.Enabled = False
End Sub

Private Sub Form_Load()

    ' กำหนดคุณสมบัติ (Properties) ให้กับคอนโทรล Shape1 ก่อน
     Shape1.BackStyle = 1 ' Opaque
     Shape1.BackColor = vbGreen
End Sub Private Sub Timer1_Timer()
    ' ปิดการทำงานของ Timer1
     Timer1.Enabled = False
     Timer1.Interval = 0
End Sub

    สุดท้ายก็ลองทดสอบการทำงานของโปรแกรม โดยการกด "F5" ดูผลลัพธ์ที่ได้น่ะครับ หวังว่าคงพอจะเห็นแนวทางแล้ว ก็คงจะสามารถนำไปประยุกต์ใช้งานอื่นๆได้บ้างน่ะครับทุกท่าน