Page 1
บทท 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
เขาสโปรแกรม Visual Basicเมอเข สโปรแกรม Visual Basic จะแสดงกรอบโตตอบสำ หรบเลอกชนดของโปรแกรมประยกต ทตองก ร
รปท 1-1 กรอบโตตอบเมอเรมเปด Visual Basic
ใชพฒน โปรแกรมประยกตทว ๆ ไป
ใชพฒน โปรแกรมประยกตทส ม ระใชง นและเชอมโยงกบโปรแกรมประยกตอน ๆ ทสนบสนนเทคโนโลย ActiveX
2
Page 3
เปนโปรแกรมประยกตชนดเดยวกนกบ 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
ใชสำ หรบโหลด Visual Basic ในรปแบบทใชพฒน โปรแกรมประยกตในระดบ Enterprise ซง Visual Basic จะเพมคอนโทรล ActiveX อกจำ นวนหนงขนม โดยอตโนมต
สำ หรบ แทป Existing ใชสำ หรบเปดโปรเจกตทคณมอยแลว แตยงไมเคยเปดใช แทป Recent จะแสดงร ยชอโปรเจกตทเคยเรยกใชแลว
เมอเลอกชนดของโปรแกรมประยกตเปนแบบ Standard EXE จะเข สหน ต งของ Visual Basic ดงรปท 1- 2
4
Page 5
รปท 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
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
เตมคลกขว ตรงแถบทลบอกซเลอกคำ สง
Form Designer เปนสวนทใชออกแบบก รแสดงผลสวนทใชตดตอกบผใช ฟอรมเปนออบเจกตแรกทถกเตรยมไวใหใชง น คอลโทรลทกตวทตองก รใชง นจะตองนำ ไปบรรจไวในฟอรม นำ คอลโทรลม ประกอบกนขนเปนโปรแกรมประยกต ทกครงทเปด Visual Basic ขนม หรอ สร ง Project ใหมจะมฟอรมว ง 1 ฟอรมถกสร งเตรยมไวเสมอ
รปท 1-6 Form Designer
Project Explorer Project Explorer ใชสำ หรบบรห รและจดก รโปรเจกซ โดยจะแสดงองคประกอบของแตละโปรเจกตแบบโครงร งตนไม (tree-view)ตวโปรเจกตจะหม ยถงโปรแกรมประยกตซงจะอยสวนบนสด ถดม จะแสดงสวนประกอบต ง ๆ ของโปรเจกตนน ๆ ว ประกอบดวยอะไรบ ง เชน ฟอรมโมดล ร ยง น เปนตน ถ ม 2
7
Page 8
โปรเจกตขนไป กจะแสดง แยกออกเปนสวนต งห กอกโปรเจกต ถ ตองก รใชง นสวนใด ของโปรเจกตไหนกส ม รถคลกเลอกไดทนท
รปท 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
รปท 1-8 Properties Window
ในหน ต งคณสมบต จะประกอบไปดวยแทป 2 แทป คอ 1. แทป Alphabetic เปนแทปทแสดงร ยก รคณสมบต เรยงต มตวอกษรในภ ษ องกฤษ 2. แทป Categorized เปนแทปทแสดงร ยก รคณสมบต โดยก รจดกลมของคณสมบตทมหน ทคล ยกน หรอมคว มสมพนธกน
หนาตาง Form Layout เปนสวนทแสดงใหเหนตำ แหนงของฟอรม และส ม รถกำ หนดตำ แหนงของฟอรม ทปร กฎบนจอภ พในขณะประมวลผลได โดยก รเคลอนย ยฟอรมจำ ลอง ทอยในจอภ พจำ ลองดวยก ร drag เม ส ไปยงตำ แหนงทคณตองก ร โดยจะมผลในขณะประมวลผลเท นน
รปท 1-9 Form Layout
Immediate Window
9
Page 10
เปนหน ต งทใหประโยชน ในกรณทคณตองก รทร บผล ก รประมวลผลโดยทนท เชน ก รทดสอบโปรแกรมยอย ต ง ๆ เปนตน เมอคณสงประมวลผลโปรเจกต หน ต งนจะปร กฎขนโดยอตโนมต
รปท 1-10 Immediate Window
หนาตาง New Project หน ต ง New Project จะปร กฎขนม เมอเลอกเมน File/New Project กรอบโตตอบน จะแสดงชนดของโปรแกรมประยกต ทคณตองก รพฒน ซงจะคล ยกบตอนทเปดโปรแกรม Visual Basic ขนม ครงแรก รปท 1-11 กรอบโตตอบ New Project
10
Page 11
หนาตาง Code Editor เปนสวนทใชในก รเขยนชดคำ สงสำ หรบก รประมวลผล และควบคมก รทำ ง นของคอลโทรลต ง ๆ
รปท 1-12 Code Editor
บทท 2
รจกออบเจกตและฟอรม
จ กบทท 1 จะเหนว เครองมอ หรอ คอนโทรล ต ง ๆ ท Visual Basic ไดเตรยมไวให ไมว จะเปน Form, Textbox, Label, ฯลฯ ถอว เปนวตถ ซงเรยกว Object ในบทนเร จะม ทำ คว มเข ใจกบ Object, Properties, Method และ Event รวมทงทำ คว มรจกกบ Form และประเภทของ Form
ออบเจกต พรอพเพอรต และเมธอดของ คออะไร
11
Page 12
ออบเจกต (objects) คอสงใด ๆ กต ม ซงมคณสมบต (Properties) ทบงบอกคว มเปนตวเองในขณะนน และส ม ระแสดงพฤตกรรม (Method) ของตวเองออกม ได เชน คอนโทรลต ง ๆ
คณสมบต (properties) คอสงทส ม รถบงบอกถงคว มเปนวตถ และอยภ ยในตววตถซงส ม รถเปลยนแปลงไดเชน รปร ง ลกษณะ คว มกว ง คว มย ว ฯลฯ สำ หรบในแตละคอนโทรล หรอออบเจกต อ จจะมคณสมบตทเหมอนกน หรอต งกนกได ขนอยกบหน ทของแตละคอนโทรล คอนโทรลหรอออบเจกตหนง ๆ จะมคณสมบตม กม ย หล ยอย ง ยงส ม รถปรบแตงคณสมบตใหตรงกบคว มตองก รม กเพยงใด โปรแกรมประยกตกจะมประสทธภ พม กขนเท นน ซงถอไดว เปนจดเรมตนไดด ในก รพฒน โปรแกรมประยกตส ม รถปรบแตง คณสมบตไดจ กหน ต ง Properties หรอปรบแตงดวยก รเขยนโคดกไดจะมคณสมบตบ งตว ทไมโครซอฟทแนะนำ ให ปรบแตงดวยก รเขยนโคด และบ งตวปรบแตงดวยก รแกไขในหน ต ง Properties และในท งปฏบตไมจำ เปนตองปรบแตงทก ๆ คณสมบต เพร ะ Visual Basic ไดตงค เรมตน ไวใหแลว ซงกส ม รถใชง นไดในระดบหนง
เมธอด (methods) หม ยถง อ ก รทวตถใด ๆ แสดงออกม หรอถกใหแสดงออกม โดยพฤตกรรมใดๆ ของวตถนน จะมผลเชอมโยงไปถงขอมลคณลกษณะภ ยในวตถเองดวย อ จกล วไดว เปนก รควบคมก รทำ ง นของคอนโทรล หรอออบเจกตนนเอง จะใชจดเปนตวคนระหว งชอคอนโทรลกบเมธอด ซงจะเหนไดว คณสมบตและเมธอดมค มใกลเคยงกนม ก เนองจ กจะใชจด . เปนตวแยกระหว ง ชอคอนโทรลกบคณสมบต หรอชอคอนโทรลกบเมธอด จะมคว มแตกต งกน ในแงของก รควบคมคอนโทรล หรอออบเจกต ซงจะไดศกษ ในหวขอตอ ๆ ไป
ฟอรมฟอรม (Form) คอ หน ต งทใชสำ หรบแสดงผล โดยจะม ActiveX Controls ต ง ๆ บรรจอยภ นใน มหน ทสำ หรบตดตอกบผใชง น โดย Form กถอว เปนออบเจกตดวย
12
Page 13
ประเภทของฟอรมฟอรมแบงออกไดเปน 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
รปท 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
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
เข ไปในหนวยคว มจำ QueryUnload
จะเกดขนเมอมก รปด Form
Terminate จะเกดขนเมอ Form ถกลบออกจ กหนวยคว มจำ
Unload จะเกดขนเมอ Form ถกยกเลกก รใชง น
ก รกำ หนดค พรอพเพอรตของ Form ส ม รถจะกำ หนดได 2 วธดวยกนคอ 1. กำ หนดจ ก Properties Window
รปท 2-3 ก รกำ หนดค ใน Properties Window
2. กำ หนดโดยก รเขยนชดคำ สงใน Code Editor
16
Page 17
รปท 2-4 ก รกำ หนดค ใน Code Editor
บทท 3ActiveX Control พนฐาน
ในก รเขยนโปรแกรมเพอสร งโปรแกรมประยกตดวย Visual Basic นน ActiveX Control เปนสวนสำ คญททำ ใหก รพฒน โปรแกรมเปนไปดวยคว ม
17
Page 18
รวดเรว ในบทนเร จะไดเรยนรก รใชง น 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
พรอบเพอรตทสำาคญของ 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
TextBox : กรอบขอความ กรอบขอคว มใชสำ หรบรบขอมล ขณะททำ ก รประมวลผล
พรอบเพอรตทสำาคญของ TextBox
Name ใชสำ หรบกำ หนดชอ Alignment ใชสำ หรบกำ หนดตำ แหนงของขอมล
BackColor ใชสำ หรบกำ หนดสพน
BorderStyle
ใชสำ หรบกำ หนดรปแบบของเสนขอบ
Caption ใชสำ หรบกำ หนดขอคว ม DataField ใชสำ หรบกำ หนด Field ทตองก รเชอมตอ DataFormat
ใชสำ หรบกำ หนดรปแบบของก รแสดงผลขอมลใน TextBox
DataSource
ใชสำ หรบกำ หนดแหลงขอมลหรอต ร งทตองก รเชอมตอ
Enabled ใชสำ หรบกำ หนดใหส ม รถใชง นได Font ใชสำ หรบกำ หนดรปแบบตวอกษร ForeColor ใชสำ หรบกำ หนดสตวอกษร
Index ใชสำ หรบกำ หนดลำ ดบสม ชกของ TextBox กรณทกำ หนดใหเปน Array
20
Page 21
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
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
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
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
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
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
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
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
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
อเวนตทสำาคญของ TimerTimer เปนเหตก รณเกดขนเมอเวล เปลยน
บทท 4การสราง Application
เปนททร บดว หลกก รของก รพฒน โปรแกรมประยกตดวย Visual Basic กคอ ก รสร งองคประกอบต ง ๆ ของโปรแกรมประยกตดวยคอนโทรล โดยมรปแบบทสอดวยภ พ หรอ ทเรยกกนตดป กว ก รออกแบบอนเตอรเฟส ตอม กคอก รเขยนชดคำ สงเพอรองรบเหตก รณต งๆ ทอ จเกดขนได ซงจะแบงออกเปน 5 ขนตอนใหญ ๆ คอ1. เลอกชนดของโปรแกรมประยกต2. สร งยสเซอรอนเตอรเฟส (หรอสวนตดตอกบผใช อ จเรยกสนๆว อนเตอรเฟส)3. เขยนชดคำ สงเพอรองรบเหตก รณต งๆ ทอ จเกดขนกบแตละคอนโทรลหรอออบเจกต4. ก รทดสอบ ตรวจสอบ และดกจบขอผดพล ด5. คอมไพลโปรเจกตใหเปนโปรแกรมประยกตทสมบรณ (เชน *.exe หรอ *.dll เปนตน)
การใชงานคอนโทรลในการสรางอนเตอรเฟสจดเรมตนของก รพฒน โปรแกรมประยกตดวย Visual Basic กคอก รนำ คอนโทรลชนดต งๆ ท Visual Basic จดเตรยมไวนำ ม สร งอนเตอรเฟส ก รพฒน โปรแกรมประยกตทด ทำ ไดโดยก รออกแบบอนเตอรเฟสทใชง นง ย เปนมตรกบผใช จะสงผลใหระยะเวล ในก รพฒน โปรแกรมประยกตลดลงไปไดม กทเดยว เพร ะสงทเหลออยคอก รเขยนโคดเพอทำ ใหโปร เจกตทำ ง นใหสมบรณม กทสด
30
Page 31
การนำาคอนโทรลมาใชงานสำ หรบวธก รนำ คอนโทรลม ใชง น ว ดอนเตอรเฟสบนฟอรม ม 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
รปท 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
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
กลมทใชสำ หรบกำ หนดไอคอนทจะแสดงใน 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
หล ยบรรทดทำ ไดโดยเชอมกบ chr(13)Title คอสวนของขอคว มทตองก รแสดงบนแถบด น
บนของ InputBoxDefault คอค ทกำ หนดใหกรณทไมมก รปอนขอมลใน
InputBox
การสรางเมนในก รพฒน โปรแกรมประยกต 1 โปรแกรมจะประกอบไปดวยฟอรมจำ นวนม ก ในก รเรยกใชง นฟอรมแตละฟอรมจำ เปนจะตองมเมนม ชวยจดหมวดหมของฟอรม เพอใหง ยตอก รใชง น ก รสร งเมนใน Visual Basic ส ม รถทำ ไดโดยเรยกใชคำ สงสำ หรบสร งเมนโดย Chick ขว บนฟอรมทตองก รสร งเมน เลอกคำ สง Menu Editor
รปท 4-2 ก รเรยกใชง น Menu Editor
35
Page 36
รปท 4-3 Menu Editor
รายละเอยดตาง ๆ ของ Menu Editor
Caption ขอคว มทจะปร กฏบนเมน Name ชอเมน ห มซำ กน Index ใชสำ หรบระบลำ ดบกรณทกำ หนดใหเปนเมนแบบ
อ รเรย ShortCut ใชสำ หรบกำ หนดคยลดในก รเรยกใชเมน Checked กำ หนดใหเปนเมนทมเครองหม ยถกหน เมน Enabled กำ หนดใหส ม รถใชง นเมนไดถ มเครองหม ยถก
หรอ กำ หนดใหค เปน True Visible กำ หนดใหแสดงเมนถ มเครองหม ยถก หรอ
กำ หนดใหมค เปน True
36
Page 37
บทท 5ขอมลและตวแปร
ใบบทนจะเปนก รอธบ ยเกยวกบชนดของขอมล ก รใชง นตวแปร และค คงท ทใชกบ Visual Basic ไมว โปรแกรมประยกตใด ภ ษ ใด สงทตองรเปนอนดบแรกๆ กคอ ตวแปร ค คงทและ ชนดของขอมล ของภ ษ นน ๆ ซงจะทำ ใหเหนขอจำ กดต งๆ ในภ ษ นน ๆ ทำ ใหส ม รถใชง นไดอย งถกตอง และมประสทธภ พ เพร ะตวแปรและค คงทถอไดว เปนตวแทนของขอมล ทจะตองนำ ไปใชง น ประมวลผล และแสดงสงทไดจ กก รประมวลผลชนดของขอมลVisual Basic มชนดของขอมลหล ยชนด ไมว จะเปนตวเลขจำ นวนเตม ตวเลขทมทศนยม ขอคว ม ตวเลขท งก รเงน ค ท งตรรกะ เปนตน ขอมลแตละชนด จะใชพนทในก รเกบไมเท กน รวมถงคว มเรวในก รประมวลผลกแตกต งกนดวย ส ม รถแบงชนดของขอมลทใชกน Visual Basic ไดดงต ร งตอไปน
ชนดขอมล รายละเอยด หนวยความจำา
Boolean เกบค ท งตรรกะทไดม 2 ค คอ true (จรง), false (เทจ)
2 Bytes
37
Page 38
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
ชนด 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
ข งบนสดกอนพมพคำ สงอน ๆ
กฎการตงชอตวแปรและคาคงท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
ขอบเขตของตวแปร (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
ตวแปรแบบ 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
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
จ กตวอย งเปนก รประก ศตวแปรอ รเรยชอ 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
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
ค คงท (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
ตวดำาเนนการใน 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
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
เครองหม ยทใชสำ หรบเชอมขอคว มตงแต 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