ความรู้เพิ่มเติมเกี่ยวกับคำสั่ง Control Loop แบบต่างๆ เช่น Do Loop , While Loop และ For Loop โดยไม่ต้องใช้ Timer ช่วย
ลองดาวน์โหลด Sample Project ไปศึกษากันดูนะครับ
Size:134.2 KB
Download:http://upload.one2car.com/download.a...MY3BT6OEDCIW78

ความรู้เกี่ยวกับ ProgressBar Percentage(Timer)
เป็นการประยุกต์ใช้งานไฟล์สคริ๊ป Control Properties สร้าง Fontตัวเลข % ขึ้นมาบน progressbar ดังรูป
Download Project:http://upload.one2car.com/download.aspx?pku=416A0D38A52[SZU5FVGCJJO9BC6Y1F


--------------------------------------------------------
อันนี้เป็นการเขียนโค๊ดเพิ่มเติม เพื่อที่จะนำไปประยุกต์ใช้ สั่งติดตั้งโปรแกรมต่างๆแบบอัตโนมัติ

---------------------------------------------------------------------------------------------------

ความรู้เกี่ยวกับ Timer Component

ลักษณะการทำงานของ Timer ก็คล้ายๆกับการใช้คำสั่ง Loop ..ปกติ Timer จะอยู่ในตำแหน่ง Off ..เมื่อต้องการให้ Timer เริ่มทำงาน(ON) ก็ใช้คำสั่ง.. Timer.Enable = True ..ตรงกันข้าม เมื่อต้องการให้ Timer หยุด ก็ใช้คำสั่ง.. Timer.Enable = False 
Timer สามารถกำหนดอัตราความเร็วด้วยคำสั่ง.. Interval ..ปรับได้ใน Properties ของ Timer ..ซึ่งปกติถูกตั้งไว้ที่ 100 หรือจะเขียนเป็นคำสั่งลงไปก็ได้ เช่น Timer.Interval = 150 เป็นต้น

---------------------------------------------------------------------------------------------------

ขยายความเรื่องคำสั่งControl Loop แปลเป็นไทยก็หมายความว่า.. ทำซ้ำๆกันหลายๆครั้งวนไปวนมา
คำสั่ง Loop บางคำสั่ง ก็มีจุดสิ้นการทำงาน เช่น คำสั่ง For Next
และบางคำสั่ง ก็ไม่มีจุดสิ้นสุดการทำงาน ทำไปเรื่อยๆ จนกว่าเราจะสร้างเงื่อนไขให้หยุด 
เช่น คำสั่ง While หรือ DO เป็นต้น ..ถ้าเราหัดใช้คำสั่งLoopให้เป็น จะมีประโยชน์อย่างมากในการเขียนโปรแกรม
-----------------------------------------------------------------
การเขียนคำสั่งต่างๆ ให้สามารถทำงานได้นั้น ขั้นแรกเราจะต้องทำความเข้าใจ ในรูปแบบคำสั่งต่างๆเหล่านั้นเสียก่อน
ไม่งั้นก็จะเขียนกันผิดๆ ..เมื่อเขียนผิด ก็จะเกิดข้อผิดพลาด(Error!)ตามมา 
หลักการก็ง่ายๆขอให้ท่านจำไว้ ดังนี้
1.ถ้ามีการใช้ 'ตัวแปร' ก็ต้องมีการ 'ประกาศ' ตัวแปร ทุกครั้งให้ถูกต้อง
2.จำรูปแบบคำสั่งต่างๆไว้ให้ได้ว่า.. เขียนอย่างไร? จึงไม่เกิด Error!
3.จัดลำดับคำสั่งที่เขียนให้ถูกต้อง เพราะถ้าจัดวางไว้ผิด แต่เขียนได้ครบถูกต้อง ก็เป็นสาเหตุให้เกิด Error! ได้เช่นกัน

เพื่อความกระจ่างชัด ใน Control Loop แบบต่างๆดังที่กล่าวมา ผมจะอธิบายให้ท่านเข้าใจ ในความหมายของรูปแบบอีกครั้ง
ตัวอย่างแรก: For...Next Statements
รูปแบบ:
โค๊ด:

For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next

-----------------------------------------------------------
คำอธิบาย:
counter คือตัวแปรที่เรากำหนดขึ้น ส่วนมากจะใช้ตัวอักษร i หรือ x หรือตัวอักษรใดๆก็ได้ที่ต้องไม่ตรงกับคำที่สงวนไว้เป็นคำสั่ง
statements คือคำสั่งที่ถูกควบคุมการทำงานโดย Loop
----------------------------------------------------------------------

ยกตัวอย่างจากการสั่งให้ Progressbar ทำงาน เขียนได้ดังนี้
เริ่มต้นด้วยการประกาศตัวแปร เพราะเราจำเป็นต้องใช้ตัวแปร
Dim x As Interger
รูปแบบการประกาศก็มีให้เลือกประกาศได้หลายแบบ เช่น
For x As Interger = 1 To 100
Dim x As Interger = 0
------------------------------------------------
ต่อไปก็ใส่คำสั่ง statements ลงไป ถ้าเป็น Progressbar เขียนได้ดังนี้
ProgressBar1.Value += 1
ProgressBar1.Value = ProgressBar1.Value + 1
-------------------------------------------------------
ถ้าเป็นตัวแปร ซึ่งเป็นเงื่อนไขใน statements มักจะใช้สัญญลักษณ์ต่างๆเป็นตัวดำเนินการ จะไม่มีการประกาศตัวแปรใดๆ เช่น
= หมายถึง เท่ากับ
< " น้อยกว่า
> " มากกว่า
<= " น้อยกว่าเท่ากับ
>= " มากกว่าเท่ากับ
-------------------------------------------------------
การใช้งานตัวดำเนินการ ก็ต้องใช้ให้เหมาะสมกับโค๊ดคำสั่งนั้นๆ บางตัวถ้าใส่ไว้ไม่เหมาะสม ก็จะทำให้เกิด Error! ได้

While...End While Statement 
รูปแบบ:

รหัส:
While condition
[ statements ]
[ Exit While ]
[ statements ]
End While

-----------------------------------------------
คำอธิบาย:
condition หมายถึง เป็นคำสั่งที่ให้ statements เริ่มต้นการทำงาน โดยระบุไว้ว่า..ให้ทำไปถึงไหน? แล้ววนกลับมาเริ่มต้นทำใหม่
วนไปวนมาอยู่อย่างนี้ไปเรื่อยๆ เช่น
While < 100 หมายถึง ถ้า statements น้อยกว่า 100 จริง ให้ทำไปจนครบ 100 และเมื่อครบ 100 แล้วก็ให้วนกลับมาเริ่มต้นทำใหม่ ซ้ำไปซ้ำมาอยู่เรื่อยๆ
---------------------------------------------------
ส่วนคำสั่ง Exit เช่น Exit For , Exit While เป็นคำสั่งที่ต้องการให้ statements 
ที่กำลังทำงานอยู่ หยุด หรือ หลุดออกจากการ วน Loop (กระโดด)
---------------------------------------------------
คำแนะนำ: คำสั่งที่เขียนเต็มรูปแบบ ได้ลงไว้ให้ดาวน์โหลดข้างต้นแล้ว ลองนำไปศึกษาเปรียบเทียบดู

 ------------------------------------------------------------------------------

เรามาดูกันซิว่า..เมื่อเราใส่คำสั่ง Exit ลงไปใน Statement แล้วจะเกิดอะไร?ขึ้น ดั่งตัวอย่าง
ตัวอย่าง:

รหัส:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 100
ProgressBar1.Step = 1
ProgressBar1.Value = 0
Dim x As Integer
For x = 1 To 100
x += 1
ProgressBar1.Value += 1
ProgressBar1.PerformStep()
Threading.Thread.Sleep(50)
If x = 50 Then Exit For         '<----คำสั่งที่ใส่เพื่อทดสอบ----<<
Next x
If ProgressBar1.Value >= 100 Then
Threading.Thread.Sleep(500)
MsgBox("Completed.", MsgBoxStyle.Information, "")
ProgressBar1.Value = 0
End If
End Sub
End Class
-----------------------------------
ผลที่ได้ก็คือ.. progressbar วิ่งมาถึงครึ่งทางแล้วหยุดลง

------------------------------------------------------------------------------------------

ถ้าใส่ตัวดำเนินการ ที่เป็นเครื่องหมาย = และตามด้วยจำนวนตัวเลข% ล่ะ! ..จะเกิดอะไร?
-----------------------------------------------------------------------

รหัส:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 100
ProgressBar1.Step = 1
ProgressBar1.Value = 0
Dim x As Integer
For x = 1 To 100
x += 1
ProgressBar1.Value += 1
ProgressBar1.PerformStep()
Threading.Thread.Sleep(50)
If x = 50 Then                        
MsgBox("BarCurrent = 50%", MsgBoxStyle.Information, "")   '<-Message ยืนยันการทำงาน ตามเงื่อนไข-<
End If
Next x
If ProgressBar1.Value >= 100 Then
Threading.Thread.Sleep(500)
MsgBox("Completed.", MsgBoxStyle.Information, "")
ProgressBar1.Value = 0
End If
End Sub
End Class
---------------------------------------------------------
ผลที่ได้..progressbar วิ่งมาถึง 50% ก็จะหยุดวิ่งชั่วคราว แล้วมี Message ขึ้นมาบอกเงื่อนไข% 
ถ้าเราคลิ๊ก ok ยืนยันเงื่อนไข ..progressbar ก็จะวิ่งต่อไปจนครบ 100%

 

อันนี้เป็นการใส่ Counter หรือ Value% ลงบนฟอร์ม ใช้ Timer ควบคุมการทำงาน
Size:64.7 KB
Download:Sample Project
http://upload.one2car.com/download.aspx?pku=17872B285CI8HPINAT7KO9YOH6I6C[



รหัส:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim i As Integer
If ProgressBar1.Value < 100 Then
Label1.Text = "Installing.." & ProgressBar1.Value.ToString() & "%"
ProgressBar1.PerformStep()
i = i + 1
If ProgressBar1.Value >= 100 Then
Timer1.Enabled = False
MsgBox("Completed.", MsgBoxStyle.Information, "")
ProgressBar1.Value = 0
Label1.Text = "Installing..0%"
End If
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer1.Enabled = False
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Close()
End Sub
Private Sub ProgressBar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProgressBar1.Click
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
__________________
 
แทนลิ๊งค์เก่าที่มีปัญหา
D/L:Auto Installer & Silent Mode_Project
คลิ๊กที่นี่

 เครดิต sak2005

Comment

Comment:

Tweet

Buy Cheap Discount Nike http://www.nikerko.com
Cheap Nike Sneakers http://www.nikerko.com
Cheap Nike Shoes http://www.nikerko.com
Wholesale Cheap Nike Shoes http://www.nikerko.com

#2 By Cheap Nike Sneakers (204.12.222.237) on 2011-08-05 12:30

Thank you for sharing this information. The information was very helpful and saved a lot of my time.

#1 By controversial essay (119.155.21.57) on 2011-05-25 14:45