19
โโโโโโโโโโโโโ โโโโโโโ

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

  • Upload
    jada

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

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

โพรซี�เยอรและอ�เวนต์ ซี�บโพรซี�เยอรเป็�นชุ�ดคำ��สั่��งที่��ใชุ�ในก�รที่��ง�นอย!�งใดอย!�งหน#�ง สั่!วนม�กม�กเป็�นสั่&�งที่��ต์�องที่��ซี�'�บ!อยๆ ภ�ยในโป็รแกรมน�'น โดยแยกสั่&�งที่��ต์�องที่��ซี�'�ๆ ด�งกล!�วออกม�เป็�นชุ�ดคำ��สั่��งย!อยๆ ต์!�งห�ก เพ*�อให�สั่�ม�รถเร�ยกใชุ�ง�นเฉพ�ะสั่!วนน�'ได�ที่�นที่�เม*�อต์�องก�ร ด�งน�'น ซี�พโพรซี�เยอรจึ#งชุ!วยให�ไม!ต์�องเขี�ยนโป็รแกรมที่��ต์�องที่��สั่&�งเด�ยวก�นซี�'�บ!อยๆ ที่��ให�ป็ระหย�ดเวล�และลดขีน�ดขีองโคำ0ดลงไป็ได� ซี#�งก1จึะสั่!งผลให�โป็รแกรมที่��ง�นได�เร1วขี#'นด�วย ร3ป็แบบพ*'นฐ�นในก�รเขี�ยนซี�บโพรซี�เยอร

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

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

โมด&ฟ�ยเออร Sub ชุ*�อซี�บโพรซี�เยอร (พ�ร�ม&เต์อร) คำ��สั่��ง

End Sub

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

โพรซี�เยอรและอ�เวนต์โมดิ�ฟายเออร์�(modifier) เป็�นระด�บก�รคำวบคำ�มก�รเร�ยกใชุ�ซี�บโพร

ซี�เยอรจึ�กภ�ยนอก(จึ�กคำล�สั่อ*�นๆ) แม�ว!�ไม!จึ��เป็�นต์�องก��หนดโมด&ฟ�ยเออรอะไรเลยก1ได� แต์!เพ*�อให�ถ3กต์�องต์�มหล�ก OOP และเป็�นแนวที่�งเด�ยวก�บต์�วจึ�ดก�รอ�เวนต์ ก��หนดให�โมด&ฟ�ยเออรให�แก!ซี�บโพรซี�เออรเสั่มอ

ชื่ �อซั�บโพร์ซั�เยอร์� ม�หล�กก�รคำล��ยด�บก�รต์�'งชุ*�อต์�วแป็ร สั่��หร�บใน vb น&ยมเขี�ยนชุ*�อซี�บโพรซี�เยอรให�ขี#'นต์�วใหญ่!พ&มพใหญ่! แล�วต์�วถ�ดไป็เป็�นต์�วพ&มพเล1ก ถ��เป็�นก�รน��หล�ยๆ คำ!�ม�รวมก�นก1ได�เขี�ยนต์&ดก�น และคำวรเขี�ยนขี#'นต์�นและแต์!ละคำ��ด�วยต์�วพ&มพใหญ่! เชุ!น FindCircleArea, ShowError, PrintEmployeeData

พาร์าม�เตอร์� คำ*อก�รร�บขี�อม3ลจึ�กภ�ยนอกเขี��ม� เชุ!นซี�บโพรซี�เยอรสั่��หร�บห�พ*'นที่��วงกลมก1อ�จึร�บคำ!�ร�สั่ม�จึ�กภ�ยนอกเขี��ม� เป็�นต์�น แต์!ที่�'งน�'พ�ร�ม&เต์อรอ�จึจึะไม!ม�ก1ได� ขี#'นก�บคำว�มจึ��เป็�น

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

โพรซี�เยอรและอ�เวนต์ Private Sub SayHello() ‘--กรณี�ไม!ม�พ�ร�ม&เต์อร MessageBox.Show(“Hellor”) End Sub

Pravate Sub ShowMessage(ByVal msg As String) ‘--กรณี�ม�พ�ร�ม&เต์อร MessageBox.Show(msg) End Sub

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

โพรซี�เยอรและอ�เวนต์ การ์ก�าหนดิพาร์าม�เตอร์�เบ �องต�น พ�ร�ม&เต์อร(Parameter) คำ*อขี�อม3ลที่��ร �บเขี��ม�จึ�กภ�ยนอกเพ*�อใชุ�ง�นในโพรซี�เยอร ซี#�งพ�ร�ม&เต์อรน�'จึะชุ!วยให�โพรซี�เยอรสั่�ม�รถเป็ล��ยนแป็ลงก�รที่��ง�นไป็ต์�มขี�อม3ลที่��ร �บเขี��ม� และให�ผลล�พธ์ที่��แต์กต์!�งก�นออกไป็ด�วย ด�งน�'น พ�ร�ม&เต์อรจึ#งชุ!วยให�โพรซี�เยอรม�คำว�มย*ดหย�!นในก�รที่��ง�นม�กขี#'น โดยหล�กก�รที่��สั่��คำ�ญ่เก��ยวก�บพ�ร�ม&เต์อร

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

โพรซี�เยอรและอ�เวนต์ เน*�องจึ�กพ�ร�ม&เต์อรก1คำ*อ ต์�วแป็รในอ�กล�กษณีะหน#�ง ด�งน�'น ก�รก��หนดชุ*�อพ�ร�ม&เต์อรก1ใชุ�หล�กก�รเด��ยวก�บก�รก��หนดชุ*�อต์�วแป็ร พร�อมระบ�ชุน&ดขี�อม3ลให�ก�บพ�ร�ม&เต์อรน�'นด�วย และที่��สั่��คำ�ญ่คำ*อต์�องระบ�คำ�ยเว&รด ByVal แที่น Dim เชุ!น

Private Sub Test(ByVal a As Integer) ….. End Sub

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

โพรซี�เยอรและอ�เวนต์ ถ��ม�พ�ร�ม&เต์อรม�กกว!� 1 ต์�ว ก1ให�คำ��นด�วยเคำร*�องหม�ย Private Sub Test(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer) ….. End Sub

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

โพรซี�เยอรและอ�เวนต์ กรณี�ที่��ม�พ�ร�ม&เต์อรม�กว!� 1 ต์�ว ต์�วที่��ขี�อม3ลเป็�นชุน&ดเด�ยวก�น เร�ไม!สั่�ม�รถน��ม�เขี�ยนรวมก�นไว�ในคำ�ยเว&รด ByVal เด�ยวก�นได� ต์�องแยกเขี�ยนที่�ละต์�ว ด�งเชุ!นในก�รต์!อไป็น�' ผ&ด

Private Sub Test(ByVal a, b, c As Integer) ….. End Sub

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

โพรซี�เยอรและอ�เวนต์ ขี�อม3ลที่��ร �บผ!�นพ�ร�ม&เต์อรเขี��ม�ในโพรซี�เยอร ไม!จึ��เป็�นต์�องเป็�นชุน&ดพ*'นฐ�น(เชุ!น ต์�วเลขี สั่ต์ร&ง บ3ล�น) แต์!สั่�ม�รถเป็�นชุน&ดออบเจึ1กต์ขีองคำอนโที่รลได�ๆ ก1ได�

Private Sub Test(ByVal a As Button, ByVal b As TextBox) ….. End Sub

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

โพรซี�เยอรและอ�เวนต์พ�ร�ม&เต์อรที่��ก��หนดเป็�นต์�วแป็รขีองโพรซี�เยอร สั่�ม�รถเร�ยกใชุ�ง�นได�

Private Sub Test(ByVal data As Double, ByVal txt As TextBox) Data +=1 txt.Text=data End Sub

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

โพรซี�เยอรและอ�เวนต์ก�รเร�ยกใชุ�ซี�บโพรซี�เยอร ก�รเร�ยกใชุ�ง�นซี�บโพรซี�เยอรให�ระบ�ชุ*�อซี�บโพรซี�เยอร พร�อมก��หนดคำ!�อ�รก&วเมนต์(ถ��ม�) ณี ต์��แหน!งที่��ต์�องก�รใชุ�ซี�บโพรซี�เยอร

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

โพรซี�เยอรและอ�เวนต์ ก�รเร�ยกใชุ�โพรซี�เยอรขี�อม3ลที่��จึะสั่!งไป็ให�แก!โพรซี�เยอร จึะเร�ยกว!� Actual Parameter หร*อเร�ยกอ�กอย!�งว!� อ�รก&วเมนต์ (Argument) แต์!ร3ป็แบบก�รร�บขี�อม3ลที่��ก��หนดไว�ที่��โพรซี�เยอร จึะเร�ยกว!� Formal Parameter หร*อเร�ยกสั่��นๆ ว!� พ�ร�ม&เต์อร(parameter)

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

โพรซี�เยอรและอ�เวนต์ สั่&�งสั่��คำ�ญ่ในก�รก��หนดขี�อม3ลขีองสั่!วนอ�รก&วเมนต์ต์�องต์รงก�บร3ป็แบบพ�ร�ม&เต์อรที่��ก��หนดไว�ที่��โพรซี�เยอรที่�'ง จึ��นวน ชุน&ดขี�อม3ล และล��ด�บต์�องต์รงก�น

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

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

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

โพรซี�เยอรและอ�เวนต์ ก�รสั่ร��งฟ:งกชุ��น(Function) ฟ:งกชุ� �นโพรซี�เยอร(Function Procedure) หร*อ ฟ:งกชุ� �น จึ�ดเป็�นโพรซี�เยอรอ�กร3ป็แบบหน#�ง แต์!ม�ก�รที่��ง�นแต์กต์!�งคำ*อ ฟ:งกชุ� �นจึะต์�องสั่!งผลล�พธ์กล�บม�ย�งสั่!วนที่��เร�ยกใชุ�ง�นเสั่มอ

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

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

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

โพรซี�เยอรและอ�เวนต์ก�รหย�ดก�รที่��ง�นขีองโพรซี�เยอร

คำ�าสั่��ง Return โดยไม!ต์�องระบ�ขี�อม3ลใดๆ ต์!อที่��ย สั่�ม�รถใชุ�ได�ก�บที่�'งซี�บโพรซี�เยอรและฟ:งกชุ� �น

คำ�าสั่��ง Exit ถ��ต์�องก�รออกจึ�กซี�บโพรซี�เยอรให�ก��หนดเป็�น Exit Sub แต์!ห�กต์�องก�รออกจึ�กฟ:งกชุ� �นให�ก��หนดเป็�น Exit Funtion

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

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