1 / 19

โพร ซี เยอร์ และอี เวนต์

โพร ซี เยอร์ และอี เวนต์. โพร ซี เยอร์ และอี เวนต์.

jada
Download Presentation

โพร ซี เยอร์ และอี เวนต์

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. โพรซีเยอร์และอีเวนต์

  2. โพรซีเยอร์และอีเวนต์ ซับโพรซีเยอร์เป็นชุดคำสั่งที่ใช้ในการทำงานอย่างใดอย่างหนึ่ง ส่วนมากมักเป็นสิ่งที่ต้องทำซ้ำบ่อยๆ ภายในโปรแกรมนั้น โดยแยกสิ่งที่ต้องทำซ้ำๆ ดังกล่าวออกมาเป็นชุดคำสั่งย่อยๆ ต่างหาก เพื่อให้สามารถเรียกใช้งานเฉพาะส่วนนี้ได้ทันทีเมื่อต้องการ ดังนั้น ซัพโพรซีเยอร์จึงช่วยให้ไม่ต้องเขียนโปรแกรมที่ต้องทำสิ่งเดียวกันซ้ำบ่อยๆ ทำให้ประหยํดเวลาและลดขนาดของโค๊ดลงไปได้ ซึ่งก็จะส่งผลให้โปรแกรมทำงานได้เร็วขึ้นด้วย รูปแบบพื้นฐานในการเขียนซับโพรซีเยอร์

  3. โพรซีเยอร์และอีเวนต์ โมดิฟายเออร์Sub ชื่อซับโพรซีเยอร์ (พารามิเตอร์) คำสั่ง End Sub

  4. โพรซีเยอร์และอีเวนต์ โมดิฟายเออร์(modifier)เป็นระดับการควบคุมการเรียกใช้ซับโพรซีเยอร์จากภายนอก(จากคลาสอื่นๆ) แม้ว่าไม่จำเป็นต้องกำหนดโมดิฟายเออร์อะไรเลยก็ได้ แต่เพื่อให้ถูกต้องตามหลัก OOP และเป็นแนวทางเดียวกับตัวจัดการอีเวนต์ กำหนดให้โมดิฟายเออร์ให้แก่ซับโพรซีเออร์เสมอ ชื่อซับโพรซีเยอร์ มีหลักการคล้ายดับการตั้งชื่อตัวแปร สำหรับในvbนิยมเขียนชื่อซับโพรซีเยอร์ให้ขึ้นตัวใหญ่พิมพ์ใหญ่ แล้วตัวถัดไปเป็นตัวพิมพ์เล็ก ถ้าเป็นการนำหลายๆ ค่ามารวมกันก็ได้เขียนติดกัน และควรเขียนขึ้นต้นและแต่ละคำด้วยตัวพิมพ์ใหญ่ เช่น FindCircleArea, ShowError, PrintEmployeeData พารามิเตอร์ คือการรับข้อมูลจากภายนอกเข้ามา เช่นซับโพรซีเยอร์สำหรับหาพื้นที่วงกลมก็อาจรับค่ารัสมีจากภายนอกเข้ามา เป็นต้น แต่ทั้งนี้พารามิเตอร์อาจจะไม่มีก็ได้ ขึ้นกับความจำเป็น

  5. โพรซีเยอร์และอีเวนต์ Private Sub SayHello() ‘--กรณีไม่มีพารามิเตอร์ MessageBox.Show(“Hellor”) End Sub PravateSub ShowMessage(ByValmsg As String) ‘--กรณีมีพารามิเตอร์ MessageBox.Show(msg) End Sub

  6. โพรซีเยอร์และอีเวนต์ การกำหนดพารามิเตอร์เบื้องต้น พารามิเตอร์(Parameter) คือข้อมูลที่รับเข้ามาจากภายนอกเพื่อใช้งานในโพรซีเยอร์ ซึ่งพารามิเตอร์นี้จะช่วยให้โพรซีเยอร์สามารถเปลี่ยนแปลงการทำงานไปตามข้อมูลที่รับเข้ามา และให้ผลลัพธ์ที่แตกต่างกันออกไปด้วย ดังนั้น พารามิเตอร์จึงช่วยให้โพรซีเยอร์มีความยืดหยุ่นในการทำงานมากขึ้น โดยหลักการที่สำคัญเกี่ยวกับพารามิเตอร์

  7. โพรซีเยอร์และอีเวนต์ เนื่องจากพารามิเตอร์ก็คือ ตัวแปรในอีกลักษณะหนึ่ง ดังนั้น การกำหนดชื่อพารามิเตอร์ก็ใช้หลักการเดี่ยวกับการกำหนดชื่อตัวแปร พร้อมระบุชนิดข้อมูลให้กับพารามิเตอร์นั้นด้วย และที่สำคัญคือต้องระบุคีย์เวิร์ด ByValแทน Dim เช่น Private Sub Test(ByVal a As Integer) ….. End Sub

  8. โพรซีเยอร์และอีเวนต์ ถ้ามีพารามิเตอร์มากกว่า 1 ตัว ก็ให้คั่นด้วยเครื่องหมาย Private Sub Test(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer) ….. End Sub

  9. โพรซีเยอร์และอีเวนต์ กรณีที่มีพารามิเตอร์มากว่า 1 ตัว ตัวที่ข้อมูลเป็นชนิดเดียวกัน เราไม่สามารถนำมาเขียนรวมกันไว้ในคีย์เวิร์ด ByValเดียวกันได้ ต้องแยกเขียนทีละตัว ดังเช่นในการต่อไปนี้ ผิด Private Sub Test(ByVala, b, c As Integer) ….. End Sub

  10. โพรซีเยอร์และอีเวนต์ ข้อมูลที่รับผ่านพารามิเตอร์เข้ามาในโพรซีเยอร์ ไม่จำเป็นต้องเป็นชนิดพื้นฐาน(เช่น ตัวเลข สตริง บูลีน) แต่สามารถเป็นชนิดออบเจ็กต์ของคอนโทรลได้ๆ ก็ได้ Private Sub Test(ByVal a As Button, ByVal b As TextBox) ….. End Sub

  11. โพรซีเยอร์และอีเวนต์ พารามิเตอร์ที่กำหนดเป็นตัวแปรของโพรซีเยอร์ สามารถเรียกใช้งานได้ Private Sub Test(ByVal data As Double, ByVal txt As TextBox) Data +=1 txt.Text=data End Sub

  12. โพรซีเยอร์และอีเวนต์ การเรียกใช้ซับโพรซีเยอร์ การเรียกใช้งานซับโพรซีเยอร์ให้ระบุชื่อซับโพรซีเยอร์ พร้อมกำหนดค่าอาร์กิวเมนต์(ถ้ามี) ณ ตำแหน่งที่ต้องการใช้ซับโพรซีเยอร์

  13. โพรซีเยอร์และอีเวนต์ การเรียกใช้โพรซีเยอร์ข้อมูลที่จะส่งไปให้แก่โพรซีเยอร์ จะเรียกว่า Actual Parameter หรือเรียกอีกอย่างว่า อาร์กิวเมนต์ (Argument) แต่รูปแบบการรับข้อมูลที่กำหนดไว้ที่โพรซีเยอร์ จะเรียกว่า Formal Parameter หรือเรียกสั่นๆ ว่า พารามิเตอร์(parameter)

  14. โพรซีเยอร์และอีเวนต์ สิ่งสำคัญในการกำหนดข้อมูลของส่วนอาร์กิวเมนต์ต้องตรงกับรูปแบบพารามิเตอร์ที่กำหนดไว้ที่โพรซีเยอร์ทั้ง จำนวน ชนิดข้อมูล และลำดับต้องตรงกัน

  15. โพรซีเยอร์และอีเวนต์ ตัวอย่าง

  16. โพรซีเยอร์และอีเวนต์ การสร้างฟังก์ชั่น(Function) ฟังก์ชั่นโพรซีเยอร์(Function Procedure) หรือ ฟังก์ชั่น จัดเป็นโพรซีเยอร์อีกรูปแบบหนึ่ง แต่มีการทำงานแตกต่างคือ ฟังก์ชั่นจะต้องส่งผลลัพธ์กลับมายังส่วนที่เรียกใช้งานเสมอ

  17. โพรซีเยอร์และอีเวนต์ ตัวอย่าง

  18. โพรซีเยอร์และอีเวนต์ การหยุดการทำงานของโพรซีเยอร์ คำสั่ง Return โดยไม่ต้องระบุข้อมูลใดๆ ต่อท้าย สามารถใช้ได้กับทั้งซับโพรซีเยอร์และฟังก์ชั่น คำสั่ง Exit ถ้าต้องการออกจากซับโพรซีเยอร์ให้กำหนดเป็น Exit Sub แต่หากต้องการออกจากฟังก์ชั่นให้กำหนดเป็น Exit Funtion

  19. โพรซีเยอร์และอีเวนต์

More Related