56
บบบบบ 1 บบบบบบบบบบบบบบบบบ โโโโโโโ Visual Basic (VB) โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโ โโโโโโโ Visual Basic โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโ โโโโโโโ(Controls) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ Graphic User Interface (GUI) โโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Event - Driven Programming โโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ (Event) โโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โโโ โโโโโโโโโโโโโโ โโโโโโโ โโโโโโโโโโ โโโโ โโโโโโโ โโโโ โ โโโ Visual Basic โโโโโโโโโโโโโโโ โโโโโโโโโโโโ Form TextBox Label โโโ โโโโโโโโโโโโโโโ (Object โโโโโโโโโโโโโโโโโโโ โโโ โโโโโโ) โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โ โโ Visual Basic โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโโโโ โโโโโโโโโโโโโโโโโโโโโโ (properties) โโโโโโโโ (Methods) โโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Visual Basic โโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโ โโโโโโโโโโ (procedure) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ

การเขียนโปรแกรมด้วยVb 6.0

  • Upload
    -

  • View
    3.870

  • Download
    4

Embed Size (px)

DESCRIPTION

การเขียนโปรแกรมด้วย VB6

Citation preview

Page 1: การเขียนโปรแกรมด้วยVb 6.0

บทท 1เรมตนการใชงาน

โปรแกรม Visual Basic (VB) เปนโปรแกรมสำ หรบพฒน โปรแกรมประยกตทกำ ลงเปนท นยมใชอยในปจจบน โปรแกรม Visual Basic เปนโปรแกรมทไดเปลยนรปแบบก รเขยนโปรแกรมใหม โดยมชดคำ สงม สนบสนนก รทำ ง น มเครองมอต ง ๆ ทเรยกกนว คอนโทรล(Controls) ไวสำ หรบชวยในก รออกแบบโปรแกรม โดยเนนก รออกแบบหน จอแบบกร ฟฟก หรอทเรยกว Graphic User Interface (GUI) ทำ ใหก รจดรปแบบหน จอเปนไปไดง ย และในก รเขยนโปรแกรมนนจะเขยนแบบ Event - Driven Programming คอ โปรแกรมจะทำ ง นกตอเมอเหตก รณ (Event) เกดขน ตวอย งของเหตก รณไดแก ผใชเลอนเม ส ผใชกดปมบนคยบอรด ผใชกดปมเม ส เปนตน

เครองมอ หรอ คอนโทรล ต ง ๆ ท Visual Basic ไดเตรยมไวให ไมว จะเปน Form TextBox Label ฯลฯ ถอว เปนวตถ (Object ในทนขอใชคำ ว ออบเจกต) นนหม ยคว มว ไมว จะเปนเครองมอใด ๆ ใน Visual Basic จะเปนออบเจกตทงสน ส ม รถทจะควบคมก รทำ ง น แกไขคณสมบตของออบเจกตนนไดโดยตรง ในทกๆ ออบเจกตจะมคณสมบต (properties) และเมธอด (Methods) ประจำ ตว ซงในแตละออบเจกต อ จจะมคณสมบตและเมธอดทเหมอน หรอต งกนกได ขนอยกบชนดของออบเจกต

ในก รพฒน โปรแกรมประยกตดวย Visual Basic ก รเขยนโคดจะถกแบงออกเปนสวนๆ เรยกว โพรซเดอร (procedure) แตละโพรซเดอรจะประกอบไปดวย ชดคำ สงทพมพเข ไปแลว ทำ ใหคอนโทรลหรอออบเจกตนน ๆ ตอบสนองก รกระทำ ของผใช ซงเรยกว ก รเขยนโปรแกรมเชงวตถ (Object Oriented Programming-OOP) แตตวภ ษ Visual Basic ยงไมถอว เปนก รเขยนโปรแกรมแบบ OOP อย งแทจรง เนองจ กขอจำ กดหล ยๆ อย งท Visual Basic ไมส ม รถทำ ได

Page 2: การเขียนโปรแกรมด้วยVb 6.0

เขาสโปรแกรม Visual Basicเมอเข สโปรแกรม Visual Basic จะแสดงกรอบโตตอบสำ หรบเลอกชนดของโปรแกรมประยกต ทตองก ร

รปท 1-1 กรอบโตตอบเมอเรมเปด Visual Basic

  ใชพฒน โปรแกรมประยกตทว ๆ ไป

  ใชพฒน โปรแกรมประยกตทส ม ระใชง นและเชอมโยงกบโปรแกรมประยกตอน ๆ ทสนบสนนเทคโนโลย ActiveX

2

Page 3: การเขียนโปรแกรมด้วยVb 6.0

  เปนโปรแกรมประยกตชนดเดยวกนกบ ActiveX.EXE แตจะเกบเปนไฟลไลบร ลไมส ม รถประมวลผลไดดวยตวมนเอง จะตองถกเรยกใชง นจ กโปรแกรมประยกตอน ๆ

  ใชสร งคอนโทรล ActiveX ขนม ใชง นเอง

  เปนเครองมอทชวยใหส ม รถสร งโปรแกรมประยกตไดอย งรวดเรว โดยจะสร งองคประกอบเบองตนหลก ๆ ของโปรแกรมประยกต จ กขนตอนทไดเลอกไว  ใชสำ หรบสร งโปรแกรมก รจดก รต ง ๆ เชน ก รตดตอกบฐ นขอมล เปนตน

  เปนชนดโปรเจกตทเปนแบบฟอรม เพอตดตอกบฐ นขอมลโดยผ นท งคอนโทรล ADO Data Control

  โปรแกรมประยกตชนดทใชกบ Web Server

  ใชสำ หรบเพมเตม utility เข ไปใน Visual Basic เพอเพมคว มประสทธภ พ  ใชสร งโปรแกรมประยกตทประมวลผลบน Internet จะเกบอยในรปไฟล .dll ไมส ม รถประมวลผลไดดวยตวมนเอง ตองใหโปรแกรมประยกตอน ๆ ทสนบสนนเทคโนโลย ActiveX เรยกใชง น เชน Internet Explorer เปนตน  ใชสร งโปรแกรมประยกตชนดทประมวลผลบน Internet เชนกน แตจะเกบอยในรปไฟล .exe ส ม รถประมวลผลไดดวยตวเอง แต server จะตองสนบสนนเทคโนโลย ActiveX ดวยเชนกน เชน Internet Explorer เปนตน

  ใชพฒน โปรแกรมประยกตรปแบบของเอกส ร Dynamic HTML ซงจะเปนม ตรฐ นใหมของก รแสดงผลบน web

3

Page 4: การเขียนโปรแกรมด้วยVb 6.0

  ใชสำ หรบโหลด Visual Basic ในรปแบบทใชพฒน โปรแกรมประยกตในระดบ Enterprise ซง Visual Basic จะเพมคอนโทรล ActiveX อกจำ นวนหนงขนม โดยอตโนมต

สำ หรบ แทป Existing ใชสำ หรบเปดโปรเจกตทคณมอยแลว แตยงไมเคยเปดใช             แทป Recent จะแสดงร ยชอโปรเจกตทเคยเรยกใชแลว

เมอเลอกชนดของโปรแกรมประยกตเปนแบบ Standard EXE จะเข สหน ต งของ Visual Basic ดงรปท 1- 2

4

Page 5: การเขียนโปรแกรมด้วยVb 6.0

รปท 1-2 หน ต งของ Visual Basic เมอเรมโปรแกรม ในแตละสวนของ Visual Basic จะมหน ทแตกต งกนไป ซงในระหว งก รพฒน โปรแกรมประยกต จะตองใชสวนต ง ๆ เหล น ในก รพฒน โปรแกรมประยกต

ทลบาร (Toolbars) เปนแถบสญลกษณทใชสำ หรบเข ถงชดคำ สงของ Visual Basic ไดทนท โดยจะนำ คำ สงทถกใชง นบอย ๆ ม แสดง

รปท 1-3 Toolbars ทลบ รส ม รถแบงออกไดเปน 4 กลมใหญ ๆ คอ1. Standard Toolbars เปนทลบ รม ตรฐ นประกอบดวยคำ สงทเกยวกบก รจดก ร Project2. Edit Toolbars เปนทลบ รทประกอบไปดวยคำ สงทใชสำ หรบชวยในก รเขยนโคดใน code editor3. Debug Toolbars เปนทลบ รทประกอบไปดวยคำ สงทใชสำ หรบตรวจสอบก รทำ ง นก รประมวลผลโปรแกรม

5

Page 6: การเขียนโปรแกรมด้วยVb 6.0

4. Form Editor Toolbars เปนทลบ รทประกอบไปดวยคำ สงทใชสำ หรบชวยในก รปรบขน ด, ย ย, เปลยนตำ แหนงคอนโทรลต ง ๆ ทอยบนฟอรม

Toolboxs คอแถบสญลกษณ Controls ต ง ๆ ทใชสำ หรบพฒน โปรแกรมประยกต แบง เปน 2 กลม คอ

รปท 1-4 Toolboxs

 

1. คอนโทรลภายใน (Intrinsic controls)   เปนชดคอนโทรลม ตรฐ นของ Visual Basic ทก ๆ ครงทมก รเรยกใช Form เพอสร งโปรแกรมประยกต คอลโทรลชดนจะถกเรยกขนม อตโนมต ส ม รถเลอกใชง นคอลโทรลกลมนไดทนท

รปท 1-5 แสดงร ยก รคอนโทรล ActiveX เพม

 

2. คอนโทรล ActiveX (ActiveX controls) เปนชดคอนโทรลเพมเตมทไมโครซอฟทจดเตรยมไว เพอเพมขดคว มส ม รถในก รพฒน โปรแกรมประยกต ก รเพมคอนโทรลกลมนเข ม ในทลบอกซทำ โดยเลอกเมน Project/Components (หรอ

6

Page 7: การเขียนโปรแกรมด้วยVb 6.0

เตมคลกขว ตรงแถบทลบอกซเลอกคำ สง

Form Designer เปนสวนทใชออกแบบก รแสดงผลสวนทใชตดตอกบผใช ฟอรมเปนออบเจกตแรกทถกเตรยมไวใหใชง น คอลโทรลทกตวทตองก รใชง นจะตองนำ ไปบรรจไวในฟอรม นำ คอลโทรลม ประกอบกนขนเปนโปรแกรมประยกต ทกครงทเปด Visual Basic ขนม หรอ สร ง Project ใหมจะมฟอรมว ง 1 ฟอรมถกสร งเตรยมไวเสมอ

รปท 1-6 Form Designer

Project Explorer Project Explorer ใชสำ หรบบรห รและจดก รโปรเจกซ โดยจะแสดงองคประกอบของแตละโปรเจกตแบบโครงร งตนไม (tree-view)ตวโปรเจกตจะหม ยถงโปรแกรมประยกตซงจะอยสวนบนสด ถดม จะแสดงสวนประกอบต ง ๆ ของโปรเจกตนน ๆ ว ประกอบดวยอะไรบ ง เชน ฟอรมโมดล ร ยง น เปนตน ถ ม 2

7

Page 8: การเขียนโปรแกรมด้วยVb 6.0

โปรเจกตขนไป กจะแสดง แยกออกเปนสวนต งห กอกโปรเจกต ถ ตองก รใชง นสวนใด ของโปรเจกตไหนกส ม รถคลกเลอกไดทนท

                รปท 1-7 Project Explorer แบบโปรเจกตเดยว และ แบบหล ยโปรเจกต

สวนประกอบของโปรเจกต

Project(n)   คอโปรแกรมประยกตทพฒน อย มน มสกล .vbp

Form(n)   เปนฟอรมทมอยในโปรเจกตนน ๆ ใน 1 โปรเจกตอ จมม กกว 1 ฟอรมกได มน มสกล .frm

Modules  เปนทเกบชดคำ สงทคณเขยนขนม โดยจะเกบชดคำ สงทใชบอย ๆมน มสกล .bas

Class Modules

  เปนโมดลชนดพเศษทมลกษณะเปนออบเจกต ทส ม รถสร งขนม ได จะมน มสกล .cls

User controls   เปนสวนทเกบคอนโทรล ActiveX ทคณสร งขนม มน มสกล .ctlDesigners   เปนสวนของร ยง นทถกสร งขนมน มสกลเปน .dsr

Properties Window หน ต งคณสมบตเปนสวนทใชกำ หนดคณสมบตของออบเจกตทถกเลอก (adtive) หรอไดรบคว มสนใจ (focus) อยขณะนน ซงส ม รถทจะปรบเปลยนค ต ง ๆ ของคอลโทรลเพอใหเกดคว มเหม ะสมและตรงกบคว มตองก รใชง นไดทนท

8

Page 9: การเขียนโปรแกรมด้วยVb 6.0

รปท 1-8 Properties Window

ในหน ต งคณสมบต จะประกอบไปดวยแทป 2 แทป คอ 1. แทป Alphabetic เปนแทปทแสดงร ยก รคณสมบต เรยงต มตวอกษรในภ ษ องกฤษ 2. แทป Categorized เปนแทปทแสดงร ยก รคณสมบต โดยก รจดกลมของคณสมบตทมหน ทคล ยกน หรอมคว มสมพนธกน

หนาตาง Form Layout เปนสวนทแสดงใหเหนตำ แหนงของฟอรม และส ม รถกำ หนดตำ แหนงของฟอรม ทปร กฎบนจอภ พในขณะประมวลผลได โดยก รเคลอนย ยฟอรมจำ ลอง ทอยในจอภ พจำ ลองดวยก ร drag เม ส ไปยงตำ แหนงทคณตองก ร โดยจะมผลในขณะประมวลผลเท นน

รปท 1-9 Form Layout

Immediate Window

9

Page 10: การเขียนโปรแกรมด้วยVb 6.0

เปนหน ต งทใหประโยชน ในกรณทคณตองก รทร บผล ก รประมวลผลโดยทนท เชน ก รทดสอบโปรแกรมยอย ต ง ๆ เปนตน เมอคณสงประมวลผลโปรเจกต หน ต งนจะปร กฎขนโดยอตโนมต

รปท 1-10 Immediate Window

หนาตาง New Project หน ต ง New Project จะปร กฎขนม เมอเลอกเมน File/New Project กรอบโตตอบน จะแสดงชนดของโปรแกรมประยกต ทคณตองก รพฒน ซงจะคล ยกบตอนทเปดโปรแกรม Visual Basic ขนม ครงแรก รปท 1-11 กรอบโตตอบ New Project

10

Page 11: การเขียนโปรแกรมด้วยVb 6.0

หนาตาง Code Editor เปนสวนทใชในก รเขยนชดคำ สงสำ หรบก รประมวลผล และควบคมก รทำ ง นของคอลโทรลต ง ๆ

รปท 1-12 Code Editor

บทท 2

รจกออบเจกตและฟอรม

จ กบทท 1 จะเหนว เครองมอ หรอ คอนโทรล ต ง ๆ ท Visual Basic ไดเตรยมไวให ไมว จะเปน Form, Textbox, Label, ฯลฯ ถอว เปนวตถ ซงเรยกว Object ในบทนเร จะม ทำ คว มเข ใจกบ Object, Properties, Method และ Event รวมทงทำ คว มรจกกบ Form และประเภทของ Form

ออบเจกต พรอพเพอรต และเมธอดของ คออะไร

11

Page 12: การเขียนโปรแกรมด้วยVb 6.0

ออบเจกต (objects) คอสงใด ๆ กต ม ซงมคณสมบต (Properties) ทบงบอกคว มเปนตวเองในขณะนน และส ม ระแสดงพฤตกรรม (Method) ของตวเองออกม ได เชน คอนโทรลต ง ๆ

คณสมบต (properties) คอสงทส ม รถบงบอกถงคว มเปนวตถ และอยภ ยในตววตถซงส ม รถเปลยนแปลงไดเชน รปร ง ลกษณะ คว มกว ง คว มย ว ฯลฯ สำ หรบในแตละคอนโทรล หรอออบเจกต อ จจะมคณสมบตทเหมอนกน หรอต งกนกได ขนอยกบหน ทของแตละคอนโทรล คอนโทรลหรอออบเจกตหนง ๆ จะมคณสมบตม กม ย หล ยอย ง ยงส ม รถปรบแตงคณสมบตใหตรงกบคว มตองก รม กเพยงใด โปรแกรมประยกตกจะมประสทธภ พม กขนเท นน ซงถอไดว เปนจดเรมตนไดด ในก รพฒน โปรแกรมประยกตส ม รถปรบแตง คณสมบตไดจ กหน ต ง Properties หรอปรบแตงดวยก รเขยนโคดกไดจะมคณสมบตบ งตว ทไมโครซอฟทแนะนำ ให ปรบแตงดวยก รเขยนโคด และบ งตวปรบแตงดวยก รแกไขในหน ต ง Properties และในท งปฏบตไมจำ เปนตองปรบแตงทก ๆ คณสมบต เพร ะ Visual Basic ไดตงค เรมตน ไวใหแลว ซงกส ม รถใชง นไดในระดบหนง

เมธอด (methods) หม ยถง อ ก รทวตถใด ๆ แสดงออกม หรอถกใหแสดงออกม โดยพฤตกรรมใดๆ ของวตถนน จะมผลเชอมโยงไปถงขอมลคณลกษณะภ ยในวตถเองดวย อ จกล วไดว เปนก รควบคมก รทำ ง นของคอนโทรล หรอออบเจกตนนเอง จะใชจดเปนตวคนระหว งชอคอนโทรลกบเมธอด ซงจะเหนไดว คณสมบตและเมธอดมค มใกลเคยงกนม ก เนองจ กจะใชจด . เปนตวแยกระหว ง ชอคอนโทรลกบคณสมบต หรอชอคอนโทรลกบเมธอด จะมคว มแตกต งกน ในแงของก รควบคมคอนโทรล หรอออบเจกต ซงจะไดศกษ ในหวขอตอ ๆ ไป

ฟอรมฟอรม (Form) คอ หน ต งทใชสำ หรบแสดงผล โดยจะม ActiveX Controls ต ง ๆ บรรจอยภ นใน มหน ทสำ หรบตดตอกบผใชง น โดย Form กถอว เปนออบเจกตดวย

12

Page 13: การเขียนโปรแกรมด้วยVb 6.0

ประเภทของฟอรมฟอรมแบงออกไดเปน 2 ประเภทคอ 1. SDI Form (Single Document Interface Form) เปนฟอรมทส ม ระทำ ง นไดอย งอสระ ส ม รถทจะว งเครองมอต ง ๆ ได

รปท 2-1 SDI Form

2. 2. MDI Form (Multiple Document Interface Form) เปนฟอรมทใชบรรจ SDI Form ไว โดย SDI Form ทจะบรรจอยภ ยใต MDI Form จะตองกำ หนดคณสมบตของฟอรมใหเปน MDI child กอน สำ หรบ MDI Form จะส ม รถว งเครองมอไดเพยงบ งอย งเท นน

13

Page 14: การเขียนโปรแกรมด้วยVb 6.0

รปท 2-2 MDI Form

ใน Project แตละ Project นนจะม SDI Form ไดไมจำ กด แตจะม MDI Form ไดเพยงแค 1 ฟอรมเท นน และสำ หรบ Project ใดกต มทมก รเรยกใช MDI Form และไดกำ หนดคณสมบตของ SDI Form ใหเปน MDI Child เมอทำ ก รปด MDI Form แลวนนจะมผลทำ ให SDI Form ทเปน MDI Child ถกปดต มไปดวย

พรอพเพอรตทสำาคญของฟอรม

Name   ใชสำ หรบกำ หนดชอ BackColor  ใชสำ หรบกำ หนดสพน

BorderStyle

  ใชสำ หรบกำ หนดรปแบบของเสนขอบ

Caption   ใชสำ หรบกำ หนดขอคว มบน Title Bar ของ Form

ControlBox

  ใชสำ หรบกำ หนดใหมปมควบคมของ Form

Enabled   ใชสำ หรบกำ หนดให Form ส ม รถใชง นไดหรอไม

Font   ใชสำ หรบกำ หนดตวอกษรของขอคว มอปกรณต ง ๆ ใน Form

ForeColor

  ใชสำ หรบกำ หนดสตวอกษรของขอคว มอปกรณต ง ๆ ใน Form

MaxButton

  ใชสำ หรบกำ หนดใหมปมขย ยขน ดของ Form

MDI Child

  ใชสำ หรบกำ หนดให Form มคณสมบตเปน Form ยอยของ MDI Form

MinButto

  ใชสำ หรบกำ หนดใหมปมยอขน ดของ Form

14

Page 15: การเขียนโปรแกรมด้วยVb 6.0

n Moveable

  ใชสำ หรบกำ หนดให Form ส ม รถย ยตำ แหนงไดหรอไม

Picture   ใชสำ หรบกำ หนดรปบน Form ShowInTaskbar

  ใชสำ หรบกำ หนดใหมไอคอนแสดงบน Taskbar

StartUpPosition

  ใชสำ หรบกำ หนดตำ แหนงก รแสดง Form บนจอภ พ

Visible   ใชสำ หรบกำ หนดใหซอนหรอแสดง Form WindowState

  ใชสำ หรบกำ หนดขน ดของ Form เมอมก รทำ ง น

เมธอดทสำาคญของ Form

Hide   เปนก รทำ ง นทสงใหซอน Form Line   เปนก รทำ ง นทสงใหว ดเสนลงบน Form

Move   เปนก รทำ ง นทสงให Form ย ยตำ แหนงไปยงตำ แหนงทกำ หนด

Print   เปนก รทำ ง นทสงใหพมพ Form ออกท งเครองพมพ

Show   เปนก รทำ ง นทสงใหแสดง Form Unload   เปนก รทำ ง นทสงใหยกเลกก รใชง นของ Form

อเวนตทสำาคญของ Form

Activate   จะเกดขนเมอเลอกใชง น Form กรณทมก รเปด Form หล ย ๆ Form พรอมกน

Initialize   จะเกดขนเมอ Form ถกโหลดเข ไปในหนวยคว มจำ Load   จะเกดขนเมอ Form แสดงผลหลงจ กทถกโหลด

15

Page 16: การเขียนโปรแกรมด้วยVb 6.0

เข ไปในหนวยคว มจำ QueryUnload

  จะเกดขนเมอมก รปด Form

Terminate   จะเกดขนเมอ Form ถกลบออกจ กหนวยคว มจำ

Unload   จะเกดขนเมอ Form ถกยกเลกก รใชง น

ก รกำ หนดค พรอพเพอรตของ Form ส ม รถจะกำ หนดได 2 วธดวยกนคอ        1. กำ หนดจ ก Properties Window

รปท 2-3 ก รกำ หนดค ใน Properties Window       

  2. กำ หนดโดยก รเขยนชดคำ สงใน Code Editor

16

Page 17: การเขียนโปรแกรมด้วยVb 6.0

รปท 2-4 ก รกำ หนดค ใน Code Editor

บทท 3ActiveX Control พนฐาน

ในก รเขยนโปรแกรมเพอสร งโปรแกรมประยกตดวย Visual Basic นน ActiveX Control เปนสวนสำ คญททำ ใหก รพฒน โปรแกรมเปนไปดวยคว ม

17

Page 18: การเขียนโปรแกรมด้วยVb 6.0

รวดเรว ในบทนเร จะไดเรยนรก รใชง น Control เรยนรเกยวกบ พรอพเพอรต เมธอด และ อเวนต ของ ActiveX Control พนฐ น ของ Visual Basic

การใชงาน ActiveX ControlActiveX Control คอเครองมอท Visual Basic ไดจดเตรยมไวใหนกพฒน โปรแกรมเพอใชในก รพฒน โปรแกรมประยกต ใหเกดคว มง ยและรวดเรวในก รเขยนโปรแกรม โดย ActiveX Control พนฐ นท Visual Basic เตรยมไวทถกนำ ม ใชอยเสมอในก รพฒน โปรแกรมประยกตมร ยละเอยดดงน

รปท 3-1 Toolboxs แสดง ActiveX Control พนฐ นของ Visual Basic ทใชบอย

Label : แถบอกษร    แถบอกษร หรอ แถบขอคว ม ใชเพอแสดงขอคว ม เมอแสดงผลจะไมส ม รถพมพแกไขขอมลได นอกจ กจะเขยนชดคำ สงกำ หนดใหมก รเปลยนแปลง

18

Page 19: การเขียนโปรแกรมด้วยVb 6.0

พรอบเพอรตทสำาคญของ Label Name ใชสำ หรบกำ หนดชอ Alignment ใชสำ หรบกำ หนดตำ แหนงของขอมลบน

AutoSize ใชสำ หรบกำ หนดขน ดของ Label ใหมขน ดพอดกบขอมลอตโนมต

BackColor ใชสำ หรบกำ หนดสพน

BackStyle

ใชสำ หรบกำ หนดแบบของพนหลงใหเปนแบบทบหรอโปรงใส

BorderStyle

ใชสำ หรบกำ หนดรปแบบของเสนขอบ

Caption ใชสำ หรบกำ หนดขอคว ม DataField ใชสำ หรบกำ หนด Field ทตองก รเชอมตอ DataFormat

ใชสำ หรบกำ หนดรปแบบของก รแสดงผลขอมลใน Label

DataSource

ใชสำ หรบกำ หนดแหลงขอมลหรอต ร งทตองก รเชอมตอ

Enabled ใชสำ หรบกำ หนดใหส ม รถใชง นได Font ใชสำ หรบกำ หนดรปแบบตวอกษร ForeColor ใชสำ หรบกำ หนดสตวอกษร ToolTipText

ใชสำ หรบแสดงขอคว มอธบ ยเพมเตม

Visible ใชสำ หรบกำ หนดใหซอนหรอแสดง Label

อเวนตทสำาคญของ Label

Click เปนเหตก รณทเกดขนเมอมก ร Click Mouse ท Label

19

Page 20: การเขียนโปรแกรมด้วยVb 6.0

TextBox : กรอบขอความ   กรอบขอคว มใชสำ หรบรบขอมล ขณะททำ ก รประมวลผล

พรอบเพอรตทสำาคญของ TextBox

Name ใชสำ หรบกำ หนดชอ Alignment ใชสำ หรบกำ หนดตำ แหนงของขอมล

BackColor ใชสำ หรบกำ หนดสพน

BorderStyle

ใชสำ หรบกำ หนดรปแบบของเสนขอบ

Caption ใชสำ หรบกำ หนดขอคว ม DataField ใชสำ หรบกำ หนด Field ทตองก รเชอมตอ DataFormat

ใชสำ หรบกำ หนดรปแบบของก รแสดงผลขอมลใน TextBox

DataSource

ใชสำ หรบกำ หนดแหลงขอมลหรอต ร งทตองก รเชอมตอ

Enabled ใชสำ หรบกำ หนดใหส ม รถใชง นได Font ใชสำ หรบกำ หนดรปแบบตวอกษร ForeColor ใชสำ หรบกำ หนดสตวอกษร

Index ใชสำ หรบกำ หนดลำ ดบสม ชกของ TextBox กรณทกำ หนดใหเปน Array

20

Page 21: การเขียนโปรแกรมด้วยVb 6.0

Locked ใชสำ หรบกำ หนด TextBox ส ม รถพมพขอมลไดหรอไม

MaxLength

ใชสำ หรบกำ หนดคว มย วของขอมลตวอกษรทส ม รถพมพได

MultiLine ใชสำ หรบกำ หนดให TextBox ส ม รถพมพไดหล ยบรรทด

PasswordChar

ใชสำ หรบกำ หนดตวอกษรทตองก รใหแสดงขณะทพมพ

ScrollBars ใชสำ หรบกำ หนดใหม Scroll bars ใน TextBox TabIndex ใชสำ หรบกำ หนดลำ ดบของ Control ทใชใน Form Text ใชสำ หรบกำ หนดขอคว มใน TextBox ToolTipText

ใชสำ หรบแสดงขอคว มอธบ ยเพมเตม

Visible ใชสำ หรบกำ หนดใหซอนหรอแสดง TextBox

เมธอดทสำาคญของ TextBox SetFocus เปนก รกำ หนดใหรอรบขอมลท TextBox

อเวนตทสำาคญของ TextBox

Change เปนเหตก รณทเกดขนเมอขอมลของ TextBox มก รเปลยนแปลง

GotFocus เปนเหตก รณทเกดขนเมอ TextBox เรมถกใชง น

KeyPress เปนเหตก รณทเกดขนเมอมก รกดปมใด ๆ บนคยบอรด

LostFocus เปนเหตก รณทเกดขนเมอ TextBox ถกเลกใชง น

21

Page 22: การเขียนโปรแกรมด้วยVb 6.0

Frame : กรอบ   ทำ หน ทแยกกลมของ ActiveX Control ออกเปนกลม ๆ โดย Frame จะส ม รถบรรจ Control ต ง ๆ เอ ไวภ ยในได

พรอบเพอรตทสำาคญของ Frame Name ใชสำ หรบกำ หนดชอ BackColor ใชสำ หรบกำ หนดสพน

BorderStyle

ใชสำ หรบกำ หนดรปแบบของเสนขอบ

Caption ใชสำ หรบกำ หนดขอคว ม Font ใชสำ หรบกำ หนดรปแบบตวอกษร ForeColor ใชสำ หรบกำ หนดสตวอกษร ToolTipText

ใชสำ หรบแสดงขอคว มอธบ ยเพมเตม

Visiable ใชสำ หรบกำ หนดใหซอนหรอแสดง Frame

CommandButton : ปมกด    ใชสำ หรบรอรบก รกดปม <Enter> หรอ คลกเม ส เพอใหเกดก รทำ ง น บ งครงเร จะเรยกสน ๆ ว Button

พรอบเพอรตทสำาคญของ CommandButton Name ใชสำ หรบกำ หนดชอ BackColor ใชสำ หรบกำ หนดสพน

Caption ใชสำ หรบกำ หนดขอคว ม

22

Page 23: การเขียนโปรแกรมด้วยVb 6.0

Font ใชสำ หรบกำ หนดรปแบบตวอกษร

Index ใชสำ หรบกำ หนดลำ ดบสม ชกของ CommandButton กรณทกำ หนดใหเปน Array

Picture ใชสำ หรบกำ หนดรปภ พบน CommandButton

Style ใชสำ หรบกำ หนดรปแบบของปมใหส ม รถใชง น Graphic ไดหรอไม

TabIndex ใชสำ หรบกำ หนดลำ ดบของ Control ทใชใน FormToolTipText ใชสำ หรบแสดงขอคว มอธบ ยเพมเตม

Visiable ใชสำ หรบกำ หนดใหซอนหรอแสดง CommandButton

เมธอดทสำาคญของ CommandButton

SetFocus เปนก รกำ หนดใหรอรบก ร Click หรอ กดปม <Enter> ท CommandButton

อเวนตทสำาคญของ CommandButtonClick เปนเหตก รณทเกดขนเมอมก รกดปม

GotFocus เปนเหตก รณทเกดขนเมอ CommandButton เรมถกใชง น

LostFocus เปนเหตก รณทเกดขนเมอ CommandButton ถกเลกใชง น

CheckBox : ตวเลอก    ใชสำ หรบเลอกขอมลทตองก ร โดยจะเลอกหรอไมกได และส ม รถเลอกไดม กกว 1 ตวเลอก

พรอบเพอรตทสำาคญของ CheckBoxName ใชสำ หรบกำ หนดชอ

23

Page 24: การเขียนโปรแกรมด้วยVb 6.0

Alignment ใชสำ หรบกำ หนดตำ แหนงของขอมลบน CheckBoxBackColor ใชสำ หรบกำ หนดสพนCaption ใชสำ หรบกำ หนดขอคว มFont ใชสำ หรบกำ หนดรปแบบตวอกษรForeColor ใชสำ หรบกำ หนดสตวอกษร

Index ใชสำ หรบกำ หนดลำ ดบสม ชกของ CheckBox กรณทกำ หนดใหเปน Array

Style ใชสำ หรบกำ หนดรปแบบของ CheckBoxTabIndex ใชสำ หรบกำ หนดลำ ดบของ Control ทใชใน FormToolTipText ใชสำ หรบแสดงขอคว มอธบ ยเพมเตม

Value ใชสำ หรบกำ หนดค ก รเลอกVisiable ใชสำ หรบกำ หนดใหซอนหรอแสดง CheckBox

เมธอดทสำาคญของ CheckBoxSetFocus ใชสำ หรบกำ หนดใหรอรบก รเลอกขอมลท CheckBox

อเวนตทสำาคญของ CheckBoxClick เปนเหตก รณทเกดขนเมอมก รกดปมGotFocus เปนเหตก รณทเกดขนเมอ CheckBox เรมถกใชง น

KeyPress เปนเหตก รณทเกดขนเมอมก รกดปมใด ๆ บนคยบอรด

LostFocus เปนเหตก รณทเกดขนเมอ CheckBox ถกเลกใชง น

OptionButton : ตวเลอกบงคบเลอก    ใชบงคบเลอกขอมลโดยส ม รถเลอกขอมลไดเพยงค เดยวในกลมเดยวกน

พรอบเพอรตทสำาคญของ OptionButton

24

Page 25: การเขียนโปรแกรมด้วยVb 6.0

Name ใชสำ หรบกำ หนดชอ

Alignment ใชสำ หรบกำ หนดตำ แหนงของขอมลบน OptionButton

BackColor ใชสำ หรบกำ หนดสพนCaption ใชสำ หรบกำ หนดขอคว มFont ใชสำ หรบกำ หนดรปแบบตวอกษรForeColor ใชสำ หรบกำ หนดสตวอกษร

Index ใชสำ หรบกำ หนดลำ ดบสม ชกของ OptionButton กรณทกำ หนดใหเปน Array

Style ใชสำ หรบกำ หนดรปแบบของ OptionButton

TabIndex ใชสำ หรบกำ หนดลำ ดบของ Control ทใชใน FormToolTipText ใชสำ หรบแสดงขอคว มอธบ ยเพมเตม

Value ใชสำ หรบกำ หนดค ก รเลอกVisiable ใชสำ หรบกำ หนดใหซอนหรอแสดง OptionButton

เมธอดทสำาคญของ OptionButton

SetFocus ใชสำ หรบกำ หนดใหรอรบก รเลอกขอมลท OptionButton

อเวนตทสำาคญของ OptionButtonClick เปนเหตก รณทเกดขนเมอมก รกดปม

GotFocus เปนเหตก รณทเกดขนเมอ OptionButton เรมถกใชง น

KeyPress เปนเหตก รณทเกดขนเมอมก รกดปมใด ๆ บนคยบอรด

LostFocus เปนเหตก รณทเกดขนเมอ OptionButton ถกเลกใชง น

25

Page 26: การเขียนโปรแกรมด้วยVb 6.0

ComboBox : กลองรายการขอมล    ใชสำ หรบก รเลอกขอมลจ กร ยก รขอมลทมอย โดยจะไมแสดงร ยก รขอมลจนกว จะ Click Mouse ท Drop Down จงจะแสดงร ยก รขอมลใหเลอก

พรอบเพอรตทสำาคญของ ComboBoxName ใชสำ หรบกำ หนดชอBackColor ใชสำ หรบกำ หนดสพนFont ใชสำ หรบกำ หนดรปแบบตวอกษรForeColor ใชสำ หรบกำ หนดสตวอกษร

Index ใชสำ หรบกำ หนดลำ ดบสม ชกของ ComboBox กรณทกำ หนดใหเปน Array

List ใชสำ หรบใสระบหรอกำ หนดตวเลอกListIndex ใชสำ หรบระบลำ ดบตวเลอก

Locked ใชสำ หรบกำ หนดให ComboBox ส ม รถพมพ หรอเลอกขอมล ไดหรอไมได

Style ใชสำ หรบกำ หนดรปแบบของ ComboBox

TabIndex ใชสำ หรบกำ หนดลำ ดบของ Control ทใชใน FormText ใชสำ หรบกำ หนดขอคว มใน ComboBoxToolTipText ใชสำ หรบแสดงขอคว มอธบ ยเพมเตม

Visiable ใชสำ หรบกำ หนดใหซอนหรอแสดง ComboBox

เมธอดทสำาคญของ ComboBoxAddItem เปนคำ สงสำ หรบเพมตวเลอกเข ไปใน ComboBoxClear เปนคำ สงสำ หรบลบขอมลทงหมดใน ComboBoxRemoveItem

เปนคำ สงสำ หรบลบขอมลโดยตองระบลำ ดบของขอมลทตองก รลบ

26

Page 27: การเขียนโปรแกรมด้วยVb 6.0

SetFocus ใชสำ หรบกำ หนดใหรอรบก รเลอกขอมลท ComboBox

อเวนตทสำาคญของ ComboBox

Change เปนเหตก รณทเกดขนเมอขอมลของ ComboBox มก รเปลยนแปลง

Click เปนเหตก รณทเกดขนเมอมก รกดปมเลอนตำ แหนงหรอ Click Mouse

GotFocus เปนเหตก รณทเกดขนเมอ ComboBox เรมถกใชง น

KeyPress เปนเหตก รณทเกดขนเมอมก รกดปมใด ๆ บนคยบอรด

LostFocus เปนเหตก รณทเกดขนเมอ ComboBox ถกเลกใชง น

ListBox : กลองรายการขอมล    ใชสำ หรบเลอกขอมลจ กร ยก รขอมลทมอย

พรอบเพอรตทสำาคญของ ListBoxName ใชสำ หรบกำ หนดชอBackColor ใชสำ หรบกำ หนดสพนFont ใชสำ หรบกำ หนดรปแบบตวอกษรForeColor ใชสำ หรบกำ หนดสตวอกษร

Index ใชสำ หรบกำ หนดลำ ดบสม ชกของ ListBox กรณทกำ หนดใหเปน Array

List ใชสำ หรบใสระบหรอกำ หนดตวเลอก

27

Page 28: การเขียนโปรแกรมด้วยVb 6.0

ListIndex ใชสำ หรบระบลำ ดบตวเลอก

Locked ใชสำ หรบกำ หนดให ListBox ส ม รถพมพ หรอเลอกขอมล ไดหรอไมได

Style ใชสำ หรบกำ หนดรปแบบของ ListBoxTabIndex ใชสำ หรบกำ หนดลำ ดบของ Control ทใชใน FormText ใชสำ หรบกำ หนดขอคว มใน ListBoxToolTipText ใชสำ หรบแสดงขอคว มอธบ ยเพมเตม

Visiable ใชสำ หรบกำ หนดใหซอนหรอแสดง ListBox

เมธอดทสำาคญของ ListBoxAddItem เปนคำ สงสำ หรบเพมตวเลอกเข ไปใน ListBoxClear เปนคำ สงสำ หรบลบขอมลทงหมดใน ListBoxRemoveItem

เปนคำ สงสำ หรบลบขอมลโดยตองระบลำ ดบของขอมลทตองก รลบ

SetFocus ใชสำ หรบกำ หนดใหรอรบก รเลอกขอมลท ListBox

อเวนตทสำาคญของ ListBox

Change เปนเหตก รณทเกดขนเมอขอมลของ ListBox มก รเปลยนแปลง

Click เปนเหตก รณทเกดขนเมอมก รกดปมเลอนตำ แหนงหรอ Click Mouse

GotFocus เปนเหตก รณทเกดขนเมอ ListBox เรมถกใชง น

KeyPress เปนเหตก รณทเกดขนเมอมก รกดปมใด ๆ บนคยบอรด

LostFocus เปนเหตก รณทเกดขนเมอ ListBox ถกเลกใชง น

28

Page 29: การเขียนโปรแกรมด้วยVb 6.0

Image : รปภาพ    ใชสำ หรบแสดงรปภ พ

พรอบเพอรตทสำาคญของ ImageName ใชสำ หรบกำ หนดชอBorderStyle ใชสำ หรบกำ หนดรปแบบของเสนขอบ

Index ใชสำ หรบกำ หนดลำ ดบสม ชกของ Image กรณทกำ หนดใหเปน Array

Picture ใชสำ หรบกำ หนดรปภ พบน Image

Stretch ใชสำ หรบกำ หนดใหปรบขน ดของรปภ พใหพอดกบขน ดของ Image

ToolTipText ใชสำ หรบแสดงขอคว มอธบ ยเพมเตม

Visiable ใชสำ หรบกำ หนดใหซอนหรอแสดง Image

อเวนตทสำาคญของ Image

Click เปนเหตก รณทเกดขนเมอมก ร Click Mouse ท Image

Timer : เวลา    ใชสำ หรบกำ หนดก รทำ ง นของ Control ทตองก รใหทำ ง นต มชวงเวล

พรอบเพอรตทสำาคญของ TimerName ใชสำ หรบกำ หนดชอInterval ใชสำ หรบกำ หนดชวงเวล

29

Page 30: การเขียนโปรแกรมด้วยVb 6.0

อเวนตทสำาคญของ TimerTimer เปนเหตก รณเกดขนเมอเวล เปลยน

บทท 4การสราง Application

เปนททร บดว หลกก รของก รพฒน โปรแกรมประยกตดวย Visual Basic กคอ ก รสร งองคประกอบต ง ๆ ของโปรแกรมประยกตดวยคอนโทรล โดยมรปแบบทสอดวยภ พ หรอ ทเรยกกนตดป กว ก รออกแบบอนเตอรเฟส ตอม กคอก รเขยนชดคำ สงเพอรองรบเหตก รณต งๆ ทอ จเกดขนได ซงจะแบงออกเปน 5 ขนตอนใหญ ๆ คอ1. เลอกชนดของโปรแกรมประยกต2. สร งยสเซอรอนเตอรเฟส (หรอสวนตดตอกบผใช อ จเรยกสนๆว อนเตอรเฟส)3. เขยนชดคำ สงเพอรองรบเหตก รณต งๆ ทอ จเกดขนกบแตละคอนโทรลหรอออบเจกต4. ก รทดสอบ ตรวจสอบ และดกจบขอผดพล ด5. คอมไพลโปรเจกตใหเปนโปรแกรมประยกตทสมบรณ (เชน *.exe หรอ *.dll เปนตน)

การใชงานคอนโทรลในการสรางอนเตอรเฟสจดเรมตนของก รพฒน โปรแกรมประยกตดวย Visual Basic กคอก รนำ คอนโทรลชนดต งๆ ท Visual Basic จดเตรยมไวนำ ม สร งอนเตอรเฟส ก รพฒน โปรแกรมประยกตทด ทำ ไดโดยก รออกแบบอนเตอรเฟสทใชง นง ย เปนมตรกบผใช จะสงผลใหระยะเวล ในก รพฒน โปรแกรมประยกตลดลงไปไดม กทเดยว เพร ะสงทเหลออยคอก รเขยนโคดเพอทำ ใหโปร เจกตทำ ง นใหสมบรณม กทสด

30

Page 31: การเขียนโปรแกรมด้วยVb 6.0

การนำาคอนโทรลมาใชงานสำ หรบวธก รนำ คอนโทรลม ใชง น ว ดอนเตอรเฟสบนฟอรม ม 2 วธ คอ1. คลกทตวคอนโทรลนน ๆ บน ToolBox แลวนำ ไปว ดบนฟอรม2. ดบเบลคลกทตวคอนโทรลนนเลย แลว Visual Basic จะนำ คอนโทรลไปว งบนฟอรมใหโดยอตโนมต ซง Visual Basic จะตงค default ไวใหทงตำ แหนง และขน ดของคอนโทรล แลวคอยแกในภ ยหลง สำ หรบคอนโทรล CommandButton อ จใชขน ดท Visual Basic ตงม ไปใชง นเลยกได เพร ะมขน ดเหม ะสมอยแลว

พนฐานการเขยนโคดม 2 วธทส ม รถเรยก editor ขนม ใชง นคอ1. ดบเบลคลกทตวคอนโทรลนน ๆ2. คลกทคอนโทรลนน ใหอยในสภ พใชง น (active) หรอไดรบคว มสนใจ(focus) แลวกด F7

การใชงาน EditorEditor ถอไดว เปนสวนทมคว มสำ คญม กอกสวนหนงในบรรด เครองมอท Visual Basic ม เพร ะใชสำ หรบเขยนโคดใหโปรแกรมประยกตทำ ง นได เครองมอตวนตองใชง นม กทสด ในขบวนก รพฒน โปรกแกรมประยกตดวย Visual Basic ก รศกษ สภ พแวดลอมของ Editor จงมคว มสำ คญเปนอย งยง ส ม รถแยกสวนต งๆ ของ Editor ออกไดเปน 3 สวนดงน 1. สวน Object List Box มหน ทแสดงชอคอนโทรลหรอออบเจกตทถกนำ ม ใชง น2. สวน Event List Box มหน ทแสดงเหตก รณ (Event) ของคอนโทรลทถกเลอกใน Object List Box 3. สวนก รเขยนโคด เมอเลอกคอนโทรลใน Object List Box และเลอกเหตก รณใน Event List Box แลว Visual Basic จะสร งโพรซเดอร (Procedure) ใหอตโนมต

31

Page 32: การเขียนโปรแกรมด้วยVb 6.0

รปท 4-1 Editor

ความสามารถพเศษของ Editorในก รใชง น Editor เมอพมพชอคอนโทรลแลวพมพ Editor จะแสดง ToolTip ทเปนร ยก รพรอพเพอรตหรอร ยก รเมธอดทคอนโทรลนนสนบสนนอยขนม ทนท ชวยใหไมตองจำ ว คอนโทรลนมพรอพเพอรตหรอมเมธอดอะไรบ ง รวมถงปองกนไมใหพมพผดอกดวย และถ มก รเรยกใชง นฟงกชนม ตรฐ นต ง ๆ ToolTip กจะแสดงรปแบบไวย กรณของฟงกชนนนๆ ใหทนทเชนกนคว มส ม รถของ Editor อกอย งกคอส ม รถตรวจสอบไวย กรณ (Syntax) ต มโครงสร งของภ ษ Visual Basic ไดอกดวย โดยขณะทพมพโคดเข ไปเมอกด Enter จบบรรทด Visual Basic จะทำ ง นตรวจสอบไวย กรณทนท ถ มขอผดพล ด ในก รใชง นไวย กรณเกดขน Visual Basic จะแสดงขอคว มชวยเหลอทเกยวของคว มผดพล ดนนๆ ขนม ทนท

การใช MessageBoxMessageBox เปนเครองมอทใชโตตอบกบผใช โดยจะแสดงขอมลเพยงอย งเดยว แลวใหผใช Click ปมเลอกในกรณทตองก รใหผใชเลอกตอบ

รปแบบการใชงาน

     MsgBox Prompt[,Buttons][,Title]

32

Page 33: การเขียนโปรแกรมด้วยVb 6.0

Prompt คอขอคว มทตองก รแสดงใน MessageBox ในกรณทตองก ร แสดงขอมลหล ยบรรทดทำ ไดโดยเชอมกบ chr(13)

Buttons คอสวนทใชกำ หนดก รแสดงปมและกำ หนดรปไอคอนบน MessageBox

Title คอสวนของขอคว มทตองก รแสดงบนแถบด นบนของ MessageBox

ก รกำ หนดปมและไอคอนของปมส ม รถทำ ไดโดยก รระบค คงทของแตละอย งเชอมดวยเครองหม ย + ซงร ยละเอยดของค คงทส ม รถใชง นไดมดงน

กลมทใชสำ หรบกำ หนดปมทจะแสดงใน MessageBox

  คาคงท   รายละเอยด  VbOKOnly   แสดงปม OK ปมเดยว  VbOKCancel   แสดงปม OK และ Cancel  VbYesNo   แสดงปม Yes และ No  VbYesNoCancel   แสดงปม Yes No และ Cancel  VbAbortRetrylgnore   แสดงปม Abort Retry และ lgnore

  VbRetryCancel   แสดงปม Retry และ Cancel

33

Page 34: การเขียนโปรแกรมด้วยVb 6.0

กลมทใชสำ หรบกำ หนดไอคอนทจะแสดงใน MessageBox

  คาคงท   รายละเอยด  VbCritical   แสดงไอคอน Critical Message  VbExclamation   แสดงไอคอน Earning Message  Vblnformation   แสดงไอคอน Information Message  VbQuestion   แสดงไอคอน Question Message

กลมทใชสำ หรบกำ หนดปมเรมตน

  คาคงท   รายละเอยด

  VbDefaultButton1

  กำ หนดใหปมแรกเปนปมเรมตน

  VbDefaultButton2

  กำ หนดใหปมท 2 เปนปมเรมตน

  VbDefaultButton3

  กำ หนดใหปมท 3 เปนปมเรมตน

  VbDefaultButton4

  กำ หนดใหปมท 4 เปนปมเรมตน

การใช InputBoxInputBox เปนเครองมอทใชรบขอมลโดยใหผใชปอนขอมลลงไป แลวเกบขอมลนนไวในตวแปร

รปแบบการใชงาน

     InputBox(Prompt[,Title][,Default])Prompt คอขอคว มทตองก รแสดงใน InputBox ใน

กรณทตองก ร แสดงขอมล

34

Page 35: การเขียนโปรแกรมด้วยVb 6.0

หล ยบรรทดทำ ไดโดยเชอมกบ chr(13)Title คอสวนของขอคว มทตองก รแสดงบนแถบด น

บนของ InputBoxDefault คอค ทกำ หนดใหกรณทไมมก รปอนขอมลใน

InputBox

การสรางเมนในก รพฒน โปรแกรมประยกต 1 โปรแกรมจะประกอบไปดวยฟอรมจำ นวนม ก ในก รเรยกใชง นฟอรมแตละฟอรมจำ เปนจะตองมเมนม ชวยจดหมวดหมของฟอรม เพอใหง ยตอก รใชง น ก รสร งเมนใน Visual Basic ส ม รถทำ ไดโดยเรยกใชคำ สงสำ หรบสร งเมนโดย Chick ขว บนฟอรมทตองก รสร งเมน เลอกคำ สง Menu Editor

รปท 4-2 ก รเรยกใชง น Menu Editor

35

Page 36: การเขียนโปรแกรมด้วยVb 6.0

รปท 4-3 Menu Editor

รายละเอยดตาง ๆ ของ Menu Editor

Caption ขอคว มทจะปร กฏบนเมน Name ชอเมน ห มซำ กน Index ใชสำ หรบระบลำ ดบกรณทกำ หนดใหเปนเมนแบบ

อ รเรย ShortCut ใชสำ หรบกำ หนดคยลดในก รเรยกใชเมน Checked กำ หนดใหเปนเมนทมเครองหม ยถกหน เมน Enabled กำ หนดใหส ม รถใชง นเมนไดถ มเครองหม ยถก

หรอ กำ หนดใหค เปน True Visible กำ หนดใหแสดงเมนถ มเครองหม ยถก หรอ

กำ หนดใหมค เปน True

36

Page 37: การเขียนโปรแกรมด้วยVb 6.0

บทท 5ขอมลและตวแปร

ใบบทนจะเปนก รอธบ ยเกยวกบชนดของขอมล ก รใชง นตวแปร และค คงท ทใชกบ Visual Basic ไมว โปรแกรมประยกตใด ภ ษ ใด สงทตองรเปนอนดบแรกๆ กคอ ตวแปร ค คงทและ ชนดของขอมล ของภ ษ นน ๆ ซงจะทำ ใหเหนขอจำ กดต งๆ ในภ ษ นน ๆ ทำ ใหส ม รถใชง นไดอย งถกตอง และมประสทธภ พ เพร ะตวแปรและค คงทถอไดว เปนตวแทนของขอมล ทจะตองนำ ไปใชง น ประมวลผล และแสดงสงทไดจ กก รประมวลผลชนดของขอมลVisual Basic มชนดของขอมลหล ยชนด ไมว จะเปนตวเลขจำ นวนเตม ตวเลขทมทศนยม ขอคว ม ตวเลขท งก รเงน ค ท งตรรกะ เปนตน ขอมลแตละชนด จะใชพนทในก รเกบไมเท กน รวมถงคว มเรวในก รประมวลผลกแตกต งกนดวย ส ม รถแบงชนดของขอมลทใชกน Visual Basic ไดดงต ร งตอไปน

  ชนดขอมล   รายละเอยด หนวยความจำา

  Boolean   เกบค ท งตรรกะทไดม 2 ค คอ true (จรง), false (เทจ)

  2 Bytes

37

Page 38: การเขียนโปรแกรมด้วยVb 6.0

  Byte   เกบค เลขจำ นวนเตมตงแต 0-255   1 Byte

  Currency

  ใชเกบตวเลขจำ นวนจรง มค ระหว ง - 922,337,203,685,477.5808 ถง 922,337,203,685,477.5807

  8 Bytes

  Date   ใชสำ หรบเกบวนทและเวล   8 Bytes

  Double

  ใชเกบตวเลขจำ นวนจรง แยกเปน 2 กรณ คอ ค บวกอยระหว ง 4.94065645841247E-324 ถง 1.79769313486232E308 ค ลบอยระหว ง - 1.79769313486232E308 ถง -4.94065645841247E-324

  8 Bytes

  Integer   เกบค เลขจำ นวนเตมทมค ระหว ง -32768 ถง 32767

  2 Bytes

  Long  ใชเกบเลขจำ นวนเตมทมค ระหว ง -2,147,483,648 ถง 2,147,483,647

  4 Bytes

  Object   ใชสำ หรบแทนวตถท Visual Basic สนบสนน

  4 Bytes

  Single

  ใชเกบตวเลขจำ นวนจรง แยกเปน 2 กรณ คอ ค บวกอยระหว ง 1.401298E-45 ถง 3.402823E38 และค ลบอยระหว ง -3.402823E38 ถง -1.401298E45

  4 Bytes

  String   ใชเกบตวอกษร ขอคว ม และตวเลข  1 ตว/1 ไบต

  Variant   ขอมลพเศษส ม รถเกบขอมลไดทก   16

38

Page 39: การเขียนโปรแกรมด้วยVb 6.0

ชนด Bytes

การประกาศคาตวแปร (Variable Declaration)กอนทจะใชง นตวแปร หรอค คงททกครง ควรประก ศตวแปร (variable declaration) กอน เพอให Visual Basic รว ตวแปรทตองก รใชง น ใชแทนขอมลชนดใดถงแมว Visual Basic อนญ ตใหใชง นตวแปรได โดยไมตองประก ศตวแปร แตตวแปรทไดจะใชทรพย กรระบบ ม กเกนคว มจำ เปน รวมถงประมวลผลไดช เพร ะจะเปนตวแปรทส ม รถแทนขอมลไดทกชนด ซง Visual Basic เรยกว ตวแปรชนด Variant ซงควรหลกเลยงก รใชง นตวแปรชนดน

รปแบบคำาสงการประกาศตวแปรของ Visual Basic

       Dim varname As datatypesDim คอ คำ สง (statements) สำ หรบประก ศตวแปรvarname คอ ชอของตวแปรทตองก รประก ศAs คอ สวนทบอกให Visual Basic ทร บว ตองก ร

กำ หนดชนดของขอมลdatatypes คอ ชนดของขอมลท Visual Basic สนบสนน

ตวอยาง

รปท 5-1 ก รประก ศตวแปร

กรณทตองก รกำ หนดใหมก รประก ศตวแปรทกครงกอนทจะมก รเรยกใชตวแปร เพอหลกเลยงก รใชตวแปรชนด Variant ใหพมพคำ สง Option Explicit ไว

39

Page 40: การเขียนโปรแกรมด้วยVb 6.0

ข งบนสดกอนพมพคำ สงอน ๆ

กฎการตงชอตวแปรและคาคงท1. ขนตนดวยพยญชนะเท นน2. คว มย วของชอทตงสงสดไมเกน 255 ตวอกษร3. ชอทตง ตองไมซำ กนคำ สงวน (Keywords) คำ สง (Statements) ฟงกชน (Functions) หรออน ๆ ท Visual Basic กำ หนดไว4. ห มตงชอซำ กนในโพรซเดอรเดยวกน หรอในขอบเขตเดยวกน5. ห มใชเครองหม ยท งคณตศ สตร, ตวดำ เนนก ร (Operators) หรอ เครองหม ยพเศษ เชน @, # ม ตงชอ6. ห มมชองว งในชอตวแปรถ ตองก รเวนว งใหใชเครองหม ย _ (Underscore) เท นน

การตงชอวตถ

  วตถ   คำานำาหนา (Prefix)   ตวอยาง

  CheckBox   Chk   ChkStatus  ComboBox   Cbo   CboType  CommandButton   Cmd   CmdSave

  Image   Img   ImgProduct

  Label   Lbl   Lbladdress

  ListBox   Lst   LstDay  OptionButton   Opt   OptSex  TextBox   Txt   TxtName  Timer   Tmr   TmrTime

40

Page 41: การเขียนโปรแกรมด้วยVb 6.0

ขอบเขตของตวแปร (Scope of Variable)ใน Visual Basic ส ม รถแบงขอบเขตตวแปรได 2 ประเภท คอ       1. ตวแปรแบบ Local       2. ตวแปรแบบ Public

ตวแปรแบบ Localหม ยถง ตวแปรทประก ศขนม ใหส ม รถเรยกใชง นได ในเฉพ ะโพรซเดอรทประก ศเท นน มกใชประก ศตวแปรทตองก รใชชวคร ว หรอตองก รใชในโพรซเดอรนนๆ ตวอยาง       Private Sub AddNum_Click( )                Dim x As Integer                Dim y As Integer                x = 5                y = 6                x = x + y        End Sub        Private Sub DelNum_Click( )                Dim x As Integer                Dim y As Integer                x = 3                y = 2          จ กตวอย ง ตวแปร x และ y ถกประก ศใน Sub AddNum และ Sub DelNum ซง x และ y ใน AddNum จะเปนคนละตวกบ x และ y ใน DelNum

41

Page 42: การเขียนโปรแกรมด้วยVb 6.0

ตวแปรแบบ Public หม ยถง ตวแปรทประก ศขนในสวนบนหลง Option Explicit ทำ ใหส ม รถเรยกใชง นไดทกโพรซเดอรในฟอรมนน กรณทประก ศตวแปรแบบ Public ใน Module จะทำ ใหตวแปรนนส ม รถเรยกใชง นไดจ กทกฟอรม ตวอยาง       Option Explicit        Dim x as Integer        Dim y as Integer        Private Sub AddNum_Click( )                x = 5                y = 6                x = x + y        End Sub        Private Sub DelNum_Click( )                x = x - y        End Sub

จ กตวอย ง ตวแปร x และ y ถกประก ศในถดจ ก Option Explicit กอน Sub AddNum ทำ ใหตวแปร x และ y ใน Sub AddNum และ Sub DelNum เปนตวแปรตวเดยวกน

ตวแปรอารเรย (Array) ตวแปรอ รเรย เปนกลมของตวแปรทประก ศขนม โดยใชชอของเดยวใชค Index ในก รอ งถง ประโยชนของตวแปรชนดนคอ กรณทตองก รมก รใชตวแปรจำ นวนม ก ก รประก ศตวแปรส ม รถประก ศเพยงชอเดยว ลดคว มซำ ซอนของตวแปร และทำ ใหง ยตอก รเรยกใช มรปแบบก รประก ศดงน

42

Page 43: การเขียนโปรแกรมด้วยVb 6.0

       Dim Varname(amount) as DatatypeDim คอ คำ สง (statements) สำ หรบประก ศ

ตวแปรvarname คอ ชอของตวแปรอ รเรยทตองก รประก ศamount คอ จำ นวนสม ชกของอ รเรยAs คอ สวนทบอกให Visual Basic ทร บว

ตองก รกำ หนดชนดของขอมลdatatypes คอ ชนดของขอมลท Visual Basic สนบสนน

ตวอยาง

รปท 5-2 ก รประก ศอ รเรย ตวแปรอ รเรยแบงออกได 2 ชนด คอ        1. ตวแปรอ รเรยแบบสแตตก (Static Arrays)        2. ตวแปรอ รเรยแบบไดน มก (Dynamic Arrays)

ตวแปรอารเรยแบบสแตตก (Static Arrays) เปนอ รเรยทมก รระบจำ นวนสม ชกเมอมก รประก ศตวแปร จะใชอ รเรยชนดนในกรณททร บจำ นวนสม ชกของอ รเรยทแนนอน

ตวอยาง

       Dim vprint (10) as String

43

Page 44: การเขียนโปรแกรมด้วยVb 6.0

จ กตวอย งเปนก รประก ศตวแปรอ รเรยชอ vprint ใหมจำ นวนสม ชกทงสน 10 และ เปนขอมลชนดตวอกษร ในก รอ งถงตวแปรใหทำ ก รระบ Index หรอลำ ดบทของสม ชก โดยสม ชกตวแรกใหระบ Index เปน 0 เชน เมอตองก รอ งถงสม ชกตวแรกสดใหระบเปน vprint(0)สม ชกตวท 7 ใหระบเปน vprint(6) สม ชกตวสดท ยระบเปน vprint(9)

ตวแปรอารเรยแบบไดนามก (Dynamic Arrays)เปนอ รเรยทไมมก รระบจำ นวนสม ชกเมอมก รประก ศตวแปร เนองจ กไมทร บจำ นวนสม ชกทแนนอน

ตวอยาง

       Dim ccode( ) as String

จ กตวอย งเปนก รประก ศตวแปรอ รเรยชอ ccode โดยไมระบจำ นวนสม ชก และเปนขอมลชนดตวอกษร

เมอตองก รใชง นตวแปรจะตองระบจำ นวนสม ชกใหกบตวแปรอ รเรย โดยใชคำ สงดงน

       Redim ccode(5)

จ กตวอย งเปนก รกำ หนดใหตวแปรอ รเรย ccode ทไดประก ศไวแลวใหมจำ นวนสม ชก 5

ขอดของตวแปรอ รเรยแบบไดน มกคอ จำ นวนสม ชกของอ รเรยจะถกกำ หนดใหมคว มเหม ะสมตอก รใชง นเนอง เนองจ กส ม รถระบจำ นวนสม ชกไดภ ยหลง แตตวแปรอ รเรยแบบสแตตกจะตองระบจำ นวนสม ชกทนททมก รประก ศตวแปร การสรางชนดของตวแปรขนใชเอง (User-defined data type)กรณทตองก รเกบขอมลเปนชดแตประกอบดวยขอมลหล ย ๆ ชนด ส ม รถทำ ไดโดยก รสร งชนดขอมลพเศษขนม โดยนำ ชนดของขอมลพนฐ นดงกล วทงหมดม สร งต มทตองก รโดยมรปแบบดงน

       [Public I Private] Type Varname

44

Page 45: การเขียนโปรแกรมด้วยVb 6.0

              elementname [([subscripts])] As type               [elementname [([subscripts])] As type]               ……        End Type

Public(Optional)

คอ สวนทกำ หนดใหค คงทส ม รถใชไดทงโปรเจกต ทกโมดล

Private(Optional)

คอ สวนทกำ หนดใหค คงทส ม รถใชไดเฉพ ะโมดลทประก ศเท นน

Varname คอ ชอของชนดขอมลทกำ หนดขนม ใหมelementname

คอ ชอของตวแปร ซงเปนสวนหนงของชนดขอมลทสร งขนม

Subscripts

คอ จำ นวนสม ชกกรณทตองก รใหเปนตวแปรอ รเรย

Type คอ ชนดของขอมลพนฐ นแตละตวตวอยาง        Type Customer               CustName As String               Address As String               Age As Integer        End Type

จ กตวอย งเปนก รสร งชนดขอมลขนม ใหม โดยใหชอว Customer โดยมตวแปรยอย Name Address และ Age เมอตองก รใชง นชนดขอมลดงกล วตองทำ ก รประก ศตวแปรดงน        Dim newcust As Customer

เมอตองก รเกบค หรอนำ ค ไปใชใหใชคำ สงดงน        newcust.CustName = "ปรษ ป นด"        newcust.Address = "123 ถ.ศรสมงค ต.เมองใต อ.เมอง จ.ศรสะเกษ        newcust.Age = 45

การประกาศคาคงท (Constant)

45

Page 46: การเขียนโปรแกรมด้วยVb 6.0

ค คงท (Constant) หม ยถงขอมลทมค คงทไมมก รเปลยนแปลง ในก รประก ศค คงทตองใชคำ สง Const เพอสร งค คงท มรปแบบดงน

[Public I Private] Const constname [As type] = expression Public(Optional)

คอ สวนทกำ หนดใหค คงทส ม รถใชไดทงโปรเจกต ทกโมดล

Private(Optional)

คอ สวนทกำ หนดใหค คงทส ม รถใชไดเฉพ ะโมดลทประก ศเท นน

Const คอ คำ สงสร งค คงทConstname

คอ ชอค คงท

Type (Optional)

คอ ก รกำ หนดชนดของค คงท

Expression

คอ ค ทตองก รกำ หนด

       ตวอยาง               Option Explicit               Const PI As Double = 3.141578               Private Sub cmdCalc_Click( )                      Dim radius As Double                      Dim area As Double                      Radius = CDb(InputBox("กรณาใสคารศม" , "ใสคา")                      Area = PI * (radius) ^2                      MsgBox "พนทวงกลม = " & Area & " ตารางหนวย "               End Sub

46

Page 47: การเขียนโปรแกรมด้วยVb 6.0

ตวดำาเนนการใน Visual Basic (Operators) ตวดำ เนนก ร คอ เครองหม ยสำ หรบกระทำ กบขอมลอย งนอยทสด 2 ชดม กระทำ อย งใดอย งหนง เชน บวก ลบ เชอมตอ เปรยบเทยบ ทดสอบค เปนตน ซงส ม รถแบงได 4 ประเภท ดงน

ตวดำาเนนการดานคณตศาสตร (Arithmetic Operators) คอเครองหม ยท งคณตศ สตรใชสำ หรบก รคำ นวณตวเลข ดงต ร ง

  ชอตวดำาเนนการ

ลกษณะตวดำาเนนการ

  ตวอยาง

  ก รบวก +   A + B  ก รลบ -   A - B9  ก รคณ *   A * B  ก รห ร /   A / B  ก รห รเอ แตจำ นวนเตม \   A \ B

  ก รห รเอ แตเศษ Mod   A Mod B

  ก รยกกำ ลง ^   A ^ B  ก รเปลยนเครองหม ย -   -A

ตวดำาเนนการทางดานตรรกะ (Logical Operator)

คอเครองหม ยสำ หรบตรวจสอบเงอนไขระหว งกลมนพจน โดยจะใหผลลพธเปนจรง (True) และเปนเทจ (False) หรอสร งเงอนไขขนม เพอทดสอบกรณต ง ๆ ดงต ร ง

  ตวดำาเนนการ

ตวอยาง

  ผลลพธ

47

Page 48: การเขียนโปรแกรมด้วยVb 6.0

  AndA

And B

  เปนจรงเมอทง 2 นพจนมค เปนจรง

  Or A Or B

  เปนเทจเมอทง 2 นพจนมค เปนเทจ

  Xor A Xor B

  เปนจรงเมอทง 2 นพจนมค ต งกน

  EqvA

Eqv B

  เปนจรงเมองทง 2 นพจนมค เหมอนกน

  ImpA

Imp B

  เปนเทจเมอนพจนหน เปนจรง นพจนหลงเปนเทจ

  Not Not A   ใหค ตรงข มกบค ของนพจน

ตวดำาเนนการทางดานการเปรยบเทยบ (Comparison Operators) เครองหม ยทใชสำ หรบเปรยบเทยบนพจน 2 นพจน เพอทดสอบ หรอสร งเงอนไข โดยจะใหผลลพธเปนจรง (True) และเปนเทจ (False) มกจะใชคกบตวดำ เนนก รท งด นตรรกะ เพอตรวจสอบเงอนไขต ง ๆ เสมอ ดงต ร ง

  ตวดำาเนนการ   ชอตวดำาเนนการ<   นอยกว >   ม กกว

<=   นอยกว หรอเท กบ>=   ม กกว หรอเท กบ=   เท กบ

<>   ไมเท กบ

ตวดำาเนนการทางดานการเชอมขอความ (Concentration Operators)

48

Page 49: การเขียนโปรแกรมด้วยVb 6.0

เครองหม ยทใชสำ หรบเชอมขอคว มตงแต 2 ขอคว มเข ดวยกน แตยงมกรณยกเวนทจะเปนก รบวกกนของนพจน 2 นพจน ซงขนอยกบชนดของนพจนทจะม กระทำ กน ดงต ร ง

  ตวดำาเนนการ

กรณ ตวอยาง   ผลลพธ

+   String + String   "Visual"+"Basic 6.0"

  "Visual Basic 6.0"

&   String & String   "Visual"&"Basic 6.0"

  "Visual Basic 6.0"

+   String(numeric)+numeric   "20"+6   26

&   String(numeric)&numeric   "20"+6   206

ขอมลจ ก : http://www.thanom.net/vb1.asp

49