การเขียนโปรแกรมบนระบบปฏิบัติการ gui
DESCRIPTION
การเขียนโปรแกรมบนระบบปฏิบัติการ GUI. รหัส 2201-2412 ระดับประกาศนียบัตรวิชาชีพ สาขางานคอมพิวเตอร์ธุรกิจ. หน่วยการเรียนรู้ที่ 1. ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม GUI. ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม GUI. ความเป็นมาของ Visual Basic จุดเด่นของ Visual Basic - PowerPoint PPT PresentationTRANSCRIPT
การเขยนโปรแกรมบนระบบปฏบตการ GUI
รหส -22012412ระดบประกาศนยบตรวชาชพสาขางานคอมพวเตอรธรกจ
หนวยการเรยนรท 1
ความรเบองตนเกยวกบการเขยนโปรแกรม GUI
1 . ความเปนมาของ Visual Basic2. จดเดนของ Visual Basic3. ความหมายของการเขยนโปรแกรมเชงวตถ4. การตดตง Visual Basic
ความรเบองตนเกยวกบการเขยนโปรแกรม GUI
ความเปนมาของ Visual Basicภาษาเบสค (BASIC) สรางขนในป ค.ศ.
1963 โดย Horn Keneny และ Thomus Kurtz ทวทยาลย Dartmouth มจดมงหมายในการพฒนาภาษาเบสคขน เพอใชสอนหลกการเขยนโปรแกรมเทานน ตอมาไดพฒนาขนใหมใหชอวา “ว
ชวลเบสค” (Visual Basic) โดยเรมตนจาก Visual Basic 1.0 และไดมการพฒนามาเปนลำาดบทงจากบรษทไมโครซอฟตซงเปนผใหกำาเนด และบรษทผผลตซอฟตแวรตางๆทวโลก จนกระทง
เปน Visual Basic 6.0 ดงเชนในปจจบน
จดเดนของ Visual Basicคอ ความเรยบงายในการพฒนาโปรแกรม
เนองจากถกออกแบบมาใหสะดวกและงายตอการใชงานของนกเขยนโปรแกรมสมยใหม ทำาใหประหยดเวลาในการพฒนาโปรแกรมลงมากเมอเทยบกบโปร
แกรมอนๆ
ความหมายของการเขยนโปรแกรมเชงวตถ
(Object Oriented Programming :OOP) คอ การเขยน
โปรแกรมโดยอาศยเครองมอพเศษ ซงเรยกวา คอนโทรล (Control) เขามาชวยในการพฒนาโปรแกรม โดยหลกการทำางานทสำาคญคอการ
กำาหนดคณสมบตใหกบคอนโทรลไดโดยตรง เชน กำาหนดขนาดของตวอกษร สตวอกษร สพนหลง
เปนตน ทำาใหเกดความสะดวกและรวดเรวในการพฒนาโปรแกรม
การตดตง Visual Basicการตดตงโปรแกรมวชวลเบสค ปจจบนทาง
บรษทไมโครซอฟตไดจดไวเปนสวนหนงของชดโปรแกรม Microsoft Visual Studio 98
ประกอบไปดวยโปรแกรม Visual C++, Visual J++, Visual FoxPro, Visual Interdev,
Visual Basic 6.0 เปนตน ดงนนในการตดตงโปรแกรมอาจเลอกตดตงเฉพาะโปรแกรม Visual Basic 6.0 เพยงอยางเดยวกได โดยจะตองเตร
ยมพรอมในดานความตองการของระบบ (System Requirement) ดงน
ฮารดแวร ขอกำาหนดขนตำ�า คำาแนะนำาCPU Pentium 166 MHz ขน
ไปCPU ยงเรวเทาไหรกยงด
ฮารดดสก Standard Edition : ประหยด 48 MB เตมท 80 MB
แนะนำาใหตดตงดวย Enterprise Edition
Professional Edition :ประหยด 48 MB เตมท 80 MBEnterprise Edition :ประหยด 128 MB เตมท 147 MB
RAM ควรจะม 32 MB ขนไป ควรจะเปน 64 MB ขนไป
CD-ROM ตองม และเปนซดรอม 2 x ขนไป
Sound Card ไมจำาเปน กรณทตองสรางโปรแกรมทเกยวกบมลตมเดยอาจจำาเปนตองใชงาน
ดานฮารดแวร (Hardware)
ดานซอฟตแวร (Software)ซอฟตแวร ขอกำาหนดขนตำ�า คำาแนะนำา
ระบบปฏบตการ Windows 95/ 98/ ME / XP ทกรน / Windwos 7
Windows XP จะเหมาะสมกวา
ระบบจดการฐานขอมล
ไมจำาเปนตองมกได สามารถใชงานรวมกบ RDBMS ไดแทบทกแบบ เชน Access, SQL Server, Oracle เปนตน
เวบเซรฟเวอร หากตองการเขยนโปรแกรมเกยวกบอนเตอรเนตกจำาเปนตองม
สำาหรบทดสอบควรใช PWS 4.0
สำาหรบใชงานจรงควรใช IIS 4.0
หนวยการเรยนรท 2
ความรเบองตนเกยวกบ Visual Basic 6.0
การเขาสโปรแกรม Visual Basic 6.01 .คลกเมน Start > Program >Microsoft Visual Studio 6.0 > Visual Basic 6.0
การเรมตนกบ Visual Basic 6.0
การเรมตนกบ Visual Basic 6.0
การเรมตนกบ Visual Basic 6.0
สวนประกอบตาง ๆ ของโปรแกรม Visual Basic 6.0
Toolbox
Toolbar
ProjectExplorerWindow
PropertiesWindow
FormLayoutWindow
Form
สวนประกอบตาง ๆ ของโปรแกรมช�อสวนประกอบ
ความหมาย/หนาท�
Form เปนสวนทใชในการพฒนาโปรแกรมToolbar เปนสวนของเครองมอตางๆทใชรวมกบการ
พฒนาโปรแกรมToolbox เปนสวนของเครองมอตางๆทใชวาดลงไปบน
FormProject
Explorer Window
เปนสวนทใชสำาหรบกำาหนดคณสมบตของเครองมอตางๆทใชสำาหรบพฒนาโปรแกรม เชน เครองมอจาก Toolbox
Properties Window
เปนสวนทใชสำาหรบกำาหนดคณสมบตของ Form และเครองมอตางๆทเลอกใชงานจาก Toolbox โดยทวไปเรยกวา “วตถ” (Object)
Form Layout Window
ใชสำาหรบกำาหนดตำาแหนงของ Form ตางๆทจะแสดงผลบนจอภาพ
1 2 3 4 5 6 7 8 9 10 11 12 13 14
15 16 17 18 19 20 21 22 23
Toolbar
ท� ช�อเรยก หนาท�การทำางาน1 Add
Standard EXE-Project
ใชสำาหรบสราง Project ใหม ในกรณทเปด Project ไวมากกวาหนง Project สามารถเลอกสลบไปมาไดทเมน Window
2 Add Form ใชในการเพมฟอรมใหมใหกบ Project3 Menu Editor ใชสำาหรบเรยก Menu Editor ขนมา เพอใช
สรางเมนตางๆ4 Open
Projectใชสำาหรบเปด Project ทมอยแลว
5 Save Project ใชสำาหรบบนทก Project ทเปดอยในขณะนน6 Cut ใชสำาหรบลบหรอยายคำาสงหรอวตถทตองการ7 Copy ใชสำาหรบคดลอกคำาสงหรอวตถทตองการ8 Past ใชสำาหรบวางคำาสงหรอวตถทไดจากการ “Cut”
/ “Copy”9 Find ใชสำาหรบคนหาคำาใน Editor10 Undo Typing ใชสำาหรบยกเลกคำาสงทอยใน Editor
หนาทการทำางานของไอคอนแตละตวบน Toolbar
หนาทการทำางานของไอคอนแตละตวบน Toolbar11
Redo Typing
ใชสำาหรบทำาซำาตามคำาสงทอยใน Editor
12
Start ใชสำาหรบแสดง Project ทพฒนาขนมาผานทางจอภาพ
13
Break ใชสำาหรบหยดการทำางานของ Project ไวชวคราว
14
End ใชสำาหรบหยดการทำางานของ Project
15
Project Explorer
ใชสำาหรบแสดงองคประกอบของ Project วาประกอบไปดวยฟอรม หรอโมดลอะไรบาง
16
Properties Window
ใชสำาหรบกำาหนดคณสมบตของฟอรม หรอวตถทวาดบนฟอรม
17
Form Layout Window
ใชสำาหรบแสดงตำาแหนงของฟอรมทแสดงบนจอภาพ
18
Object Browser
ใชแสดงถง Class หรอสมาชกของแตละ Class
19
Toolbox ใชสำาหรบเลอกเครองมอ Toolbox ขนมาบนจอภาพ
20
Data View Window
ใชสำาหรบแสดงขอมลเกยวกบฐานขอมลทใชกบโปรแกรม
หนาทการทำางานของไอคอนแตละตวบน Toolbar21 Visual
Component Manager
ใชสำาหรบแสดงองคประกอบตางๆของ Component ทนำามาใชในการพฒนาโปรแกรม
22 ตำาแหนงของฟอรม
ใชบอกตำาแหนงในแกน X และแกน Y ของฟอรม
23 ขนาดของฟอรม
ใชบอกขนาดของฟอรม ตามแนวแกน X และแกน Y
การวาดคอนโทรลลงบนฟอรม
Project Explorer
Properties Window
Alphabetic Categorized
Form Layout Window
ขนตอนการพฒนาโปรแกรม
1 . ขนตอนการออกแบบ2 . ขนตอนการสรางฟอรม หรอหนาจอโปรแกรม3 . ขนตอนการกำาหนดคณสมบต4 . ขนตอนการเขยนโปรแกรม5. ขนตอนการคอมไพลและการรนโปรแกรม6. ขนตอนการบนทกและการจดเกบไฟล
ขอจำากดของโปรแกรมวชวลเบสก
1 . แตละโปรเจคสามารถกำาหนดคาแทนชอขอมลตางๆไดรวม 32,000 คำา และจะตองเปนคำาทไมซำากบคำาสงวน (Reserved Word)
2. กำาหนดชอขงอตวแปร (Variable) ไดไมเกน 255 ตวอกษร
3. กำาหนดชอ Form, Controls, Modules และ Class ไดไมเกน 40 ตวอกษร
หนวยการเรยนรท 3
ฟอรม (Form)
ฟอรม คอ สวนทใช
แสดงผลหนาจอของโปรแกรมทตองการพฒนาขนมา โดยใน
หนง Project สามารถสรางฟอรม
ไดหลายฟอรม
คณสมบต (Properties) ท�สำาคญของ Form
คณสมบต ความหมายBackcolor การกำาหนดสพนหลงใหกบฟอรมBorderStyle การกำาหนดลกษณะของฟอรมCaption การกำาหนดชอของฟอรมFont การกำาหนดรปแบบตวอกษรทจะใชบน
ฟอรมPicture การกำาหนดพนหลงของฟอรมดวยรปภาพWindowStat
eการกำาหนดขนาดของฟอรมในขณะทแสดง
ผล
วธกำาหนดคณสมบตใหกบฟอรม หรอคอนโทรล (Control)1 . คลกเมาสซายบรเวณฟอรม
หรอคอนโทรลทตองการกำาหนดคณสมบต (สงเกตคอนโทรลทใชเมาสคลกจะมจดสเหลยมลอมรอบ)
2. คลกเมาสเลอกกำาหนดคณสมบตของฟอรมหรอคอนโทรลทหนาตาง Properties Window
3. เลอกกำาหนดคาตามคณสมบตทตองการ
การใชรปภาพกำาหนดเปนพนหลงของฟอรม
การ Run และเลกงาน Projectการ Run
คลกเมาสไอคอน หรอคลกเมน Run > Startหรอกดปม F5
การยกเลกการ Run
คลกเมาสไอคอน หรอคลกเมน Run > End
การเลอก Run Form ท�ตองการ
การปรบแตงขนาดของฟอรม
การเพ�มฟอรม (Form )1 .คลกเมาสเลอกเมน Project > Add Form 2 คลกเมาสปมคำาสง Open เพอเปดฟอรม
การบนทก Form และ Project
1 . คลกเมาสทเมน File > Save Project 2. คลกปม Save ฟอรมแตละฟอรม
การลบฟอรม
หนวยการเรยนรท 4
แถบอกษร (Label)
การสราง Label บน Form
1. คลกเมาสเลอก Control Label จาก ToolBox 2. คลกเมาสซายคางไวแลวลากจากมมบนซายลงมายงมมลางขวา
การเคล�อนยาย Label บน Form
1. คลกเมาสซายคางไวท Label แลวลากเมาสไปวางตรงตำาแหนงทตองการ
การเคล�อนยาย Label บน Form
2. หรอคลกเมาสซายลากคลมทก Label ทตองการเคลอนยาย หรอกดปม Ctrl + A
การกำาหนดคณสมบตของ Label
หนวยการเรยนรท 5
กรอบขอความ
กรอบขอความ (TextBox)คอ Control ทใชสำาหรบเพมเตมหรอแกไขขอความทอยภายในได
คณสมบต (Properties) ท�สำาคญของ TextBox
คณสมบต
ความหมาย
Text กำาหนดขอความใหกบ Textbox ในขณะทแสดงผลบนจอภาพ ถาไมตองการใหลบคำาวา Text จากคณสมบตนออก
Locked ใชกำาหนดวาในขณะท Run Project จะยอมใหแกไขขอความใน TextBox ไดหรอไม
- True ไมสามารถแกไขขอความใน TextBox ได- False สามารถแกไขขอความใน TextBox ได
Multiline ใชกำาหนดวา ถาขอความมความยาวเกนกวา 1 บรรทด จะยอมใหขนบรรทดใหมหรอไม
- True สามารถแสดงขอความหลายบรรทดได- False ไมสามารถแสดงขอความหลายบรรทดได
คณสมบต (Properties) ท�สำาคญของ TextBox
MaxLength ใชกำาหนดจำานวนพยญชนะสงสดทสามารถพมพไดใน TextBox โดยกำาหนดเปนเลขจำานวนเตมบวกทมากกวา 0
ScrollBar ใชกำาหนดใหม Scroll Bar ในกรณทขอความยาวเกนกวาขนาดของ TextBox
PasswordChar
ใชกำาหนดรปแบบของตวอกษรทตองการแสดงบน TextBox โดยจะอยในรปของเครองหมายพเศษ เชน * หรอ @ หรอ # เปนตน
คณสมบต (Properties) ท�สำาคญของ TextBox
Font กำาหนดรปแบบฟอนตของขอความทแสดงบน TextBox
ForeColor
กำาหนดสของตวอกษรบน TextBox
BackColor
กำาหนดสพนหลงของ TextBox
TabIndex กำาหนดลำาดบตำาแหนงของ TextBox กรณกดปม Tab บนคยบอรดปกตจะเรมจากคา 0, 1, 2, … ตามลำาดบ
ToolTipText
กำาหนดขอความแสดง เมอเลอนเมาสผาน Textbox ในขณะท Run
การสราง TextBox บน Form
หนวยการเรยนรท 6
ตวเลอก (OptionButton, CheckBox)
ตวเลอกท�เลอกไดเพยงตวเดยว (OptionButton)
คอ Control ทใชสำาหรบเปนตวเลอกใหผใชงานสามารถเลอกตอบไดโดยการใชเมาสคลกหนาตวเลอกทตองการ
คณสมบต
คณสมบต ความหมายCaption กำาหนดขอความของตวเลอกทตองการใหกบ
OptionButtonAlignment กำาหนดใหขอความอยดานซายหรอขวาของ
OptionButtonValue เปนคาทไดจากการคลกเพอเลอก (True)
หรอไมเลอก (False)Style กำาหนดใหการแสดงขอความเปนแบบ
มาตรฐานหรอกราฟกPicture กำาหนดรปภาพใหกบตวเลอกนน โดยตอง
กำาหนด Style = Graphical
การสราง OptionButton บน Form
การจดกลมใหกบตวเลอก โดยใช Frame
คณสมบต ความหมายCaption กำาหนดขอความทอยมมบนซายของ
Frame
ตวเลอกท�เลอกไดมากกวา 1 ตว (CheckBox)
คณสมบตของ CheckBoxคณสมบต ความหมาย
Caption กำาหนดขอความของตวเลอกทตองการใหกบ CheckBox
Alignment กำาหนดใหขอความอยดานซายหรอขวาของ CheckBox
Valueเปนคาทไดจากการคลกเพอเลอก (True)
หรอไมเลอก (False) หรอไมอนญาตใหเลอก (Grayed)
Style กำาหนดใหการแสดงขอความเปนแบบมาตรฐานหรอกราฟก
Picture กำาหนดรปภาพใหกบตวเลอกนนโดยตองกำาหนด Style = Graphical
หนวยการเรยนรท 7
รายการขอมล (ListBox, ComboBox)
รายการขอมล (ListBox) คอ Control ทสามารถกำาหนดรายการขอมลพรอมใหเลอกจากตวเลอกท
อยภายใน ซงมลกษณะคลายกบ OptionButton แตจะมทางเลอกไม
จำากด เนองจากสามารถเพมเตมรายการขอมลได และสามารถเลอกไดมากกวา 1
ตวเลอก
คณสมบต (Properties) ท�สำาคญของ ListBox
คณสมบต ความหมายListCount จำานวนขอมลทมอยในรายการ
ListIndexลำาดบทของขอมลในรายการทถกเลอก โดยจะคน
คา Index กลบมาใหเปนตวเลข ขอมลรายการแรกจะมคา Index = 0 และถาไมม ขอมลใดๆเลยใน ListBox คา Index = -1
List ใชสำาหรบกำาหนดรายการขอมลใหกบ ListBoxSorted การเรยงลำาดบรายการขอมลใน ListBox
Columnsการกำาหนดจำานวนคอลมนของ ListBox ในการ
แสดงรายการขอมล โดยคอลมนท 2 จะปรากฏขนเมอคอลมนแรกแสดงรายการขอมลไมหมด
Style การแสดงผลขอมลแบบ Standard หรอแบบ CheckBox
MultiSelect กำาหนดใหสามารถเลอกรายการขอมลไดมากกวา 1 รายการ
การสราง ListBox บน Form
การเพมขอมลใน ListBoxท Properties List ใหคลกเมาสทปมลกศรดานขาง ซงจะปรากฏเครองหมายเคอรเซอร
พมพรายการขอมลทตองการกำาหนดใน ListBox เสรจแลวกดปม Enter
กรณตองการเพมรายการขอมลใน ListBox ใหทำาซำา
รายการขอมลชนดพเศษ (ComboBox)
คอ Control ทรวมเอาความสามารถของ TextBox และ
ComboBox ไวดวยกน กลาวคอ นอกจากจะคลกเลอกรายการทมอยแลว
ยงสามารถเลอกโดยการพมพรายการขอมลใหมทตองการกได
คณสมบตของคอนโทรล ComboBox
คณสมบต ความหมายListCount จำานวนขอมลทมอยในรายการ
ListIndexลำาดบทของขอมลในรายการทถกเลอก โดยจะคน
คา Index กลบมาใหเปนตวเลข ขอมลรายการแรกจะมคา Index = 0 และถาไมม ขอมลใดๆเลยใน ComboBox คา Index = -1
List ใชสำาหรบกำาหนดรายการขอมลใหกบ ComboBox
Sorted การเรยงลำาดบรายการขอมลใน ComboBox
Style
- ComboDropDown ใหเลอกขอมลจากรายการทมอย หรอพมพชอขอมลกได
- ComboSimple ใหเลอกขอมลโดยวธการพมพเทานน
- ComboDropDownList ใหเลอกขอมลจากรายการทมอยเทานน
การสราง ComboBox บน Form
วธท� 1 คลกเมาสท Control ComboBox
จาก Toolbox แลวเลอนเมาสมาคลกวาด ComboBox ลงบนพนทวางของฟอรม
วธท� 2ดบเบลคลกเมาสท Control
ComboBox บน Toolbox จะปรากฏ ComboBox บนฟอรม
หนวยการเรยนรท 8
การใชรปภาพดวย (Image และ PictureBox)
การใชรปภาพดวย Image คอ Control ทใชอานไฟลรปภาพมาแสดงบนฟอรม โดยไฟลรปภาพทสามารถใชงานรวมกบ Control Image ไดแกไฟลทมนามสกล BMP, ICO, WMF, GIF, และ JPG เปนตน
คณสมบต ความหมาย
Picture ใชกำาหนดรปภาพใหกบ Control Image
Stretch ใชกำาหนดใหภาพมขนาดยอ/ขยายโดยอตโนมต (True/False)
การสราง Image บน Form
การสราง Image บน Form ม 2 วธ ดงน
วธท� 1 คลกเมาสท Control
Image จาก Toolbox แลวเลอนเมาสมาคลกวาด Image ลงบนพนทวางของฟอรมวธท� 2
ดบเบลคลกเมาสท Control Image บน Toolbox จะปรากฏ Image บนฟอรม
การใชรปภาพดวย PictureBox คอ Control ทใชอานไฟลรปภาพมาแสดงบนฟอรม โดยไฟล
รปภาพทสามารถใชงานรวมกบ Control Image ไดแกไฟลทมนามสกล BMP, ICO, WMF, GIF, และ JPG เปนตน โดยขนตอนการทำางาน
จะเหมอนกบการใช Control Image ทกประการ แตจะมขอแตกตางกน ดงน
1. Control Image ไมสามารถใชงานรวมกบ Control ทใชในการวาดรปอนๆ ได เชน Control Line หรอ Control Shape เปนตน
2. Control Image สามารถใชงานในลกษณะของปมทมรปภาพได สวน Control PictureBox ทำาไมได
3. Control Image จะปรบขนาดของภาพทเลอกมาแสดงผลใหเหมาะสมกบขนาดของ Image ทเตรยมไวโดยอตโนมต สวน Control PictureBox จะตองกำาหนด Properties AutoSize ใหเปน True จงจะทำาได
4. Control Image สามารถยอ/ขยายขนาดของรปภาพได โดยกำาหนด Properties Stretch ใหมคาเปน True สวน Control PictureBox ไมสามารถทำาได
คณสมบต (Properties) ท�สำาคญของ PictureBox
คณสมบต ความหมายPicture ใชกำาหนดรปภาพใหกบ Control PictureBox
AutoSize ใชกำาหนดขนาดของใหเหมาะสมกบขนาดของ Control PictureBox
การสราง PictureBox บน Form ม 2 วธ ดงน
วธท� 1 คลกเมาสท Control PictureBox
จาก Toolbox แลวเลอนเมาสมาคลกวาด PictureBox ลงบนพนทวางของฟอรม
วธท� 2ดบเบลคลกเมาสท Control
PictureBox บน Toolbox จะปรากฏ PictureBox บนฟอรม
การใช Control Shape
คอ Control ทใชสำาหรบวาดภาพทางเรขาคณต เชน รปสเหลยมผนผา รปวงกลม รปวงร เปนตน
คณสมบต (Properties) ท�สำาคญของ Shape
คณสมบต ความหมาย
BackColor ใชกำาหนดสพนหลงของ Control Shape แตตองกำาหนด BackStyle = Opaque
BackStyle ใชกำาหนดรปแบบพนหลงของ Control Shape ใหโปรงใส หรอมสBorderColor ใชกำาหนดสของเสนขอบBorderStyle ใชกำาหนดรปแบบเสนขอบทตองการ เชน เสนปะ เสนทบ เปนตนBorderWidth ใชกำาหนดความหนาของเสน โดยระบเปนเลขจำานวนเตม เชน 1, 2, 3, …Shape ใชกำาหนดรปแบบของ Control Shape ทตองการ ไดแก
- Rectangle รปสเหลยมผนผา - Square รปสเหลยมจตรส- Oval รปวงร- Circle รปวงกลม- Rounded Rectangle รปสเหลยมผนผาทมมมมน- Rounded Square รปสเหลยมจตรสทมมมมน
หนวยการเรยนรท 9
ความรเบองตนเกยวกบการเขยนโปรแกรม
การเร�มตนเขยนโปรแกรม การเขยนโปรแกรมใน Visual Basic สามารถทำาไดในขณะทยงไม Run โปรแกรม โดยแบงออกเปน 2 แบบ คอ
1 .การเขยนโปรแกรมใหกบฟอรม (Form)ใหดบเบลคลกบรเวณพนทวางของฟอรม
2. การเขยนโปรแกรมใหกบวตถ (Object) หรอ คอนโทรล (Control) ทอยบนฟอรม ใหดบเบลคลกทวตถ หรอคอนโทรลทตองการเขยนโปรแกรม
ตวอยางการเขยนโปรแกรมใหกบวตถ
การสลบไปมาระหวางหนาตาง Editor กบฟอรม สามารถคลกปม View Code หรอปม View Object สลบไปมาเพอเรยกใชงานตามทตองการได
องคประกอบของโปรแกรม
เหตการณ (Event) คอ สงทเกดขนในชวงขณะเวลาใดเวลาหนงบนโปรแกรม อนเนองมาจากการสงงานของผใช (User) เพอตอบสนองการทำางานของโปรแกรม เชน เหตการณเลอนเมาสผานปมคำาสง เหตการณการกดปมใดๆบนคยบอรด หรอเหตการณกดปมเมาส เปนตน ซงเหตการณเหลานเมอเกดขนแลว
โปรแกรมจะสงใหทำางานอะไร ดงนน ในการเขยนโปรแกรมใหกบฟอรมหรอ
วตถใดๆทอยบนฟอรมกตองคำานงถงเหตการณทจะเกดขนกบวตถหรอฟอรมนนๆดวยเชนกน โดย
ฟอรมหรอวตถชนหนงๆสามารถกำาหนดเหตการณเพอเขยนโปรแกรมไดมากกวา 1 เหตการณ
โปรแกรมยอย (Procedure) ใน Visual BasicPrivate Sub Object-Name_Object-Event(Parameter)
End Sub- Private Sub คอ คำาเฉพาะทบอกใหทราบวาเปนโปรแกรมยอย (Procedure)- Object-Name คอ ชอของวตถหรอคอนโทรลทถกเลอกใหเขยนโปรแกรม- Object-Event คอ เหตการณทผเขยนโปรแกรมกำาหนดใหกบโปรแกรมยอยนน- Parameter คอ คาตางๆทจะสงมาใหกบโปรแกรมยอยนนไดใชงาน ซงจะมหรอไมกได- End Sub คอ สวนทใชบอกถงจดสนสดหรอจบการทำางานของโปรแกรมยอย
สำาหรบกตกาโดยทวไปทใชในการกำาหนดชอของ Object-Name มดงน 1 .พยญชนะตวแรกควรเปนตวอกษร A - Z
หรอ a – z2 .พยญชนะตวทสองจะเปนตวอกษร หรอตวเลข
0 – 9 กได3. หามใชสญลกษณพเศษ เชน + - * / @ #
% & ฯลฯ มาใชในการกำาหนดชอ4. หามเวนชองวางระหวางชอ เชน cmd 100
ใหเปลยนเปน cmd_100 แทน5. ชอทใชควรสนกะทดรดและสอความหมาย
วธกำาหนดชอยอของคอนโทรล lb แทนชอยอของ Labal เชน lbName, lbAddress, lbAgetxtแทนชอยอของ TextBox เชน txtName, txtAddress, txtAgecmd แทนชอยอของ Command Button เชน cmdAdd, cmdDelete, cmdClosefrm แทนชอยอของ Form เชน frmCustomer, frmGoods, frmSales
การใชภาษาไทยใน Editor 1 . คลกเมน Tool > Option… จะปรากฏหนาตาง Option 2. คลกแทบ Editor Format แลวเลอกรปแบบของตวอกษรทตองการ
หนวยการเรยนรท 10
การเขยนโปรแกรมใหกบคอนโทรล
รปแบบการเขยนโปรแกรมใหกบคอนโทรล
Object-name.Method
[Defined-Value]Object-name คอ ชอของวตถหรอคอนโทรลทตองการอางถงMethod คอ ชอของเมธอดทตองการกำาหนดคณสมบตใหกบวตถDefined-Value คอ คาทตองการกำาหนดใหกบวตถ ซงบางเมธอดอาจจะมหรอไมกได
การเขยนโปรแกรมใหกบฟอรม (Form)
ช�ออเวน
ต
ความหมาย
Initialize
จะเกดขนเมอฟอรมถกโหลดเขามาในหนวยความจำา
Load จะเกดขนเมอฟอรมถกเรยกขนมาใชงาน ซงเกดขนหลงจาก Initialize
Resize จะเกดขนเมอฟอรมถกปรบขนาดใหเปลยนไปQuery
Unload
จะเกดขนเมอฟอรมถกปด
Unload จะเกดขนเมอฟอรมถกยกเลกการใชงาน ซงเกดขนหลงจาก QueryUnload
ช�อเมธอ
ด
ความหมาย
Show เปนเมธอดทใชเรยกฟอรมขนมาแสดงผลHide เปนเมธอดทสงใหซอนฟอรมทกำาลงแสดงผล (ยงไมจบการทำางาน)Unload เปนเมธอดทสงจบการทำางานของฟอรม และคนหนวยความจำาใหกบ
ระบบCenter
Meเปนเมธอดทสงใหฟอรมแสดงผลอยตรงกลางจอภาพพอด
Print เปนเมธอดทสงใหพมพหนาตาของฟอรม
Event ทสำาคญของ CommandButton, OptionButton, CheckBox, ListBox
ช�ออเวนต ความหมายClick จะเกดขนเมอคอนโทรลนนถกคลกเลอกใหทำางานหรอคลก
เลอกขอมลPrivate Sub Form_Load() Form1.Caption = "ทดสอบการทำางานของโปรแกรม"End Sub
Private Sub Command1_Click() 'คำาส�งเพ�อเปดฟอรม 2 Form2.Show End Sub
การเขยนโปรแกรมใหกบ TextBoxช�ออเวนต ความหมายChance จะเกดขนเมอขอมลใน TextBox มการ
เปลยนแปลงหรอแกไขGotFocu
sจะเกดขนเมอเรมรบขอมลใน TextBox
LostFocus
จะเกดขนเมอปอนขอมลใน TextBox เรยบรอยแลว
KeyPress
จะเกดขนเมอกดปมใดๆบนคยบอรด
ตวอยางการเขยนโปรแกรมใหกบ TextBox
Private Sub Form_Activate()Text1.SetFocusEnd SubPrivate Sub Text1_Change()Form2.Caption = "ทดสอบ Text1 Chance"End SubPrivate Sub Text2_GotFocus()Form2.Caption = "ทดสอบ Text2 GotFocus"End SubPrivate Sub Text3_LostFocus()Form2.Caption = "ทดสอบ Text3 LostFocus"End Sub
การเขยนโปรแกรมใหกบ OptionButton Event ทสำาคญของ OptionButon คอ Event Click
ซงเกดจากการใชเมาสคลกเลอกท OptionButton โดยถา OptionButton ใดถกคลกเลอกจะมคา Value เทากบ True โดย
อตโนมต Private Sub Option1_Click() Text1.Text = "สวสด..คณคนเกง"End SubPrivate Sub Option2_Click() Text1.Text = "คณทำาได..นะ"End SubPrivate Sub Option3_Click() Text1.Text = "บอกแลววา...งาย"End Sub
การเขยนโปรแกรมใหกบ ComboBox และ ListBox
ช�อเมธอด ความหมายAddItem เปนเมธอดทใชเพมขอมลใหกบ ComboBox และ
ListBoxRemoveIt
emเปนเมธอดทใชลบขอมลออกจาก ListBox
List เปนเมธอดทใชสำาหรบอางถงตำาแหนงของขอมลใน ListBox
Selected เปนเมธอดทใชแสดงวาขอมลใดทถกเลอกใน ListBoxListCount เปนเมธอดทใชแสดงจำานวนขอมลใน ListBox
ตวอยางการเขยนโปรแกรมใหกบ ComboBox
Private Sub Form_Load() Combo1.AddItem "ผมทำาได." Combo1.AddItem "ลองอกครง" Combo1.AddItem "สำาเรจ"End Sub
Private Sub Combo1_Click()Text1.Text = Combo1.TextEnd SubPrivate Sub Command1_Click()List1.AddItem Text1.TextEnd Sub
หนวยการเรยนรท 11
ชนดของขอมลและการประกาศตวแปร
ชนดของขอมลชนด
ขอมลคณสมบต เนอท�
(ไบต)Byte ใชเกบเลขจำานวนเตมระหวาง 0 - 255 1Boolea
nใชเกบคาทางตรรก คอ จรง (True) หรอ
เทจ (False)2
Integer ใชเกบเลขจำานวนเตมระหวาง -32,768 ถง 32,767
2
Long ใชเกบเลขจำานวนเตมระหวาง -2,147,483,648 ถง 2,147,438,687
4
Single ใชเกบเลขจำานวนจรงระหวาง -3.402823E+38 ถง -1.401298E+45
(คาลบ) และ 1.401298E-45 ถง 3.402823E+38 (คาบวก)
4
Double ใชเกบเลขจำานวนจรงระหวาง -1.797693134862315D+308 ถง
-4.94066D-324 (คาลบ) และ +4.94066D-324
ถง 1.797693134862315D+308 (คาบวก)
8
ชนดของขอมล
Currency
ใชเกบคาทเปนจำานวนเงนระหวาง -922,337,203,685,477.5808 ถง 922,337,203,685,477.5807
8
Date ใชเกบขอมลทเปนวนทตงแต 1 มกราคม ค.ศ. 100 ถง 31 ธนวาคม ค.ศ. 9999
8
Object
ใชเกบขอมลทอางถงออบเจกต ซงเปนแอดเดรสของออบเจกต
4
String
ใชเกบขอความทเรยงตอกน มคาสงสดถง 65,535 ตวอกษร
64 KB
Variant
ใชเกบคาของขอมลชนดใดกไดจากทกลาวมาแลวขางตน
16
ขอมลแบงไดเปน 4 กลมใหญ คอ1 . กลมขอมลประเภทตวเลข (Numeric) คอ ขอมลทเปนตวเลขโดยแบงออกเปนตวเลขจำานวนเตม ไดแก Byte > Integer > Long และเลขจำานวนจรงซงสามารถเกบคาของตวเลขทมทศนยม ไดแก Single > Double > Currency
2 . กลมขอมลประเภทขอความ (Character) คอ ขอมลทเปนขอความหรอมพยญชนะอนๆผสมเรยงตอกนเปนขอความ ไดแก String
3 . กลมขอมลประเภทวนท� (Date) คอ ขอมลทเปนวน/เดอน/ป ไดแก Date
4. กลมขอมลประเภทออบเจกต (Object) คอ ขอมลทใชเกบแอดเดรสเพออางถงออบเจกตเหลานน ไดแก Object
ตวแปร (Variable) คอ ชอทสมมตขนเพอใชจองพนทการใชงานในหนวย
ความจำาของเครองคอมพวเตอรในการจดเกบขอมล โดยขนาดของตวแปรจะขนอยกบชนดของขอมลทกำาหนดใหวาม
ขนาดมากนอยเพยงไร Name Age Score
หลกการตงช�อตวแปร พยญชนะตวแรกของชอจะตองเปนตวอกษร A-Z หรอ a – z เทานน พยญชนะตวทสองอาจจะเปนตวเลข 0 – 9 หรอตวอกษร A – Z หรอ a –
z กได พยญชนะตวสดทายอาจจะเปนเครองหมายทใชแสดงถงประเภทของตวแปร
ไดแก %, &, $, #, !, @ หรออาจไมมเครองหมายใดๆกได ในกรณทประกาศตวแปรดวยคำาสง Dim
ชอของตวแปรตองไมซำากบคำาสงวน (Reserved Word) พยญชนะทใชในการตงชอไมควรยาวเกนกวา 40 ตวอกษร
คำาสงวน (Reserved Word) คอ คำาทสงวนไวใชภายในโปรแกรมเทานน โดยสวนใหญมกจะเปนคำาสงตางๆ ทงนเพอปองกนความสบสนระหวางคำาสงกบตวแปรทนำาไปใชงาน เพราะหากตงชอซำากน
โปรแกรมจะไมสามารถแยกไดวาชอนคอคำาสงหรอตวแปร และอาจทำาใหเกดความสบสนในระหวางการทำางานของ
โปรแกรมได ดงนนจงหามกำาหนดชอของตวแปรซำากบคำาสงวน
ตารางแสดงความหมายของสญลกษณท�ตอทายช�อของตวแปร
สญลกษณ
ความหมาย ตวอยาง
$ แทนชนดขอมลแบบ String
Name$
% แทนชนดขอมลแบบ Integer
Score%
& แทนชนดขอมลแบบ Long
Salary&
! แทนชนดขอมลแบบ Single
Vat!
# แทนชนดขอมลแบบ Double
Tax#
@ แทนชนดขอมลแบบ Currency
Money@
การประกาศตวแปร (Variable Declaration) แบงเปน 2 แบบ คอ
1 . การกำาหนดประเภทของตวแปรดวยคำาสง (Explicit Declaration)
Dim ช�อตวแปร As ชนดของขอมล
ชอตวแปร คอ ชอทผใชกำาหนดขนตามหลกการตงชอของตวแปรชนดของขอมล คอ ชนดขอมลทจะกำาหนดใหกบตวแปรเชน Dim Y As Integer
Dim Name As String
รปแบบ
2 . การกำาหนดประเภทของตวแปรโดยใชสญลกษณ (Implicit Declaration)
รปแบบ ช�อตวแปร< สญลกษณแทน
ชนดของขอมล > สญลกษณแทนชนดขอมล คอ สญลกษณทอยตอทายชอของตวแปรซงบอกถงประเภทของขอมลทใชกบตวแปรนน
Surname$ สญลกษณแทนชนดของขอมล ชอตวแปร
ขอบเขตการใชงานของตวแปร 1) การประกาศแบบ Private
คอ ตวแปรทประกาศอยภายใตโปรแกรมยอย (Procedure) ซงจะมขอบเขตการทำางานเฉพาะภายใน
โปรแกรมยอยนนเทานน โปรแกรมยอยอนๆไมสามารถอางองหรอเรยกใชงานได โดยการเปลยนแปลงคาของตวแปรดงกลาวในโปรแกรมยอยหนง จะไมสงผลกบตวแปรอนๆภายในฟอรม
เดยวกน
2) การประกาศแบบ Public คอ ตวแปรทประกาศไวในสวนของ General ซงแตกตางจากแบบแรก กลาวคอ ขอบเขตการทำางานของตวแปรดง
กลาวจะสามารถอางองไปไดทกๆโปรแกรมยอยภายในฟอรมเดยวกน ดงนนการเปลยนแปลงคาของตวแปรจะสงผลกบทกๆ
โปรแกรมยอยทเรยกใชงานตวแปรนน
เคร�องหมายกำาหนดคาใหกบตวแปร (Assignment Operator)
สำาหรบ Visual Basic ใชเครองหมาย “ = ” ในการกำาหนดคาใหกบตวแปร เชน
X = 10 X = X + 1
เคร�องหมายท�ใชในการคำานวณ (Arithmetic Operators)
เคร�องหมาย
การดำาเนนการ ตวอยาง
= เทากบ X = Y< > ไมเทากบ X <> Y> มากกวา X > Y< นอยกวา X < Y
>= มากกวาหรอเทากบ X >= Y<= นอยกวาหรอเทากบ X <= YLike ใชเปรยบเทยบ
StringA$ Like B$
เคร�องหมายทางตรรกศาสตร (Logical Operators)
ใชสำาหรบเชอมประโยคคำาสงตงแต 2 ประโยคขนไป โดยผลลพธทไดจะมคาเปน จรง (True) หรอ เทจ (False) เทานน โดยเครองหมายทใชไดแก Not, And, Or, Xor
ฟงกชนพนฐาน (Function)กลมของ
ฟงกชนช�อฟงกชน หนาท�
วนและเวลา DateDayMonthYearWeekdayTimeNowHourMinuteSecond
แสดงวน/เดอน/ป ปจจบน โดยยดจาก System Clock
แสดงวนท เมอกำาหนดวน/เดอน/ป ให (1- 31)
แสดงเดอน เมอกำาหนดวน/เดอน/ป ให (1-12)
แสดงปแบบ ค.ศ. เมอกำาหนดวน/เดอน/ป ให (100-9999)
แสดงวนในสปดาหแทนดวยตวเลข (1-7)แสดงเวลา ณ ขณะเรยกใชฟงกชน โดยยด
จาก System Clockแสดงวนท และเวลา ณ ขณะเรยกใชฟงกชนแสดงสวนทเปนชวโมง เมอกำาหนดเวลาให
(0-23)แสดงสวนทเปนนาท เมอกำาหนดเวลาให
(0-59)แสดงสวนทเปนวนาท เมอกำาหนดเวลาให
(0-59)
ฟงกชนพนฐาน (Function)ขอความ(สตรง)
TrimLenLcaseUcaseCstrMidInStrStrComp
ใชตดชองวางออกจากคำาแสดงคาความยาวของสตรงแปลงตวอกษรในสตรงใหอยในรปตวพมพเลกแปลงตวอกษรในสตรงใหอยในรปตวพมพใหญแปลงขอมลใดๆใหเปนสตรงหาสตรงยอย หรอ Substringหาตำาแหนงของสตรงยอยเปรยบเทยบขอมลในสตรง
ฟงกชนพนฐาน (Function)กลมของฟงกชน
ช�อฟงกชน หนาท�
คณตศาสตร
ValCIntCLngCSngCDblCCurSqrIntFix
แปลงคาของสตรงใหอยในรปของตวเลขแปลงคาของตวเลขใหอยในรปของ Integerแปลงคาของตวเลขใหอยในรปของ Longแปลงคาของตวเลขใหอยในรปของ Singleแปลงคาของตวเลขใหอยในรปของ Doubleแปลงคาของตวเลขใหอยในรปของ Currencyการหาคารากทสองการปดเศษลงเพอใหตวเลขอยในรปของ Integerการตดเศษทง เพอใหตวเลขอยในรปของ Integer
Input / Output
InputBoxMsgBox
รบขอมลจากผใชงานแสดงขอความเปนไดอะลอกบอกซ โตตอบกบผใชงาน
อนๆ BeepDateDiff
สงเสยงป บทลำาโพงของเครอง PCหาผลตางระหวางวนท สองวน
ฟงกชน MsgBox คอ ฟงกชนทใชแสดงขอความแจงเตอนทางจอภาพ โดยมรปแบบการใชงาน ดงน
1 .การใช MsgBox ในรปแบบของคำาสงแสดงขอความ
MsgBox “ขอความ”, ชนดของปมคำาสง, “ชอของ Title Bar”
2. การใช MsgBox ในรปแบบของฟงกชน
MsgBox (“ขอความ”, ชนดของปมคำาสง, “ชอของ Title Bar”)
- ขอความ คอ ขอความทตองการแสดงแจงเตอนออกทางจอภาพ- ชนดของปมคำาสง คอ รปแบบของปมคำาสงทตองการใหแสดงบนจอภาพ- ชอของ Title Bar คอ ชอ Title Bar ของ MsgBox
ชนดของปมคำาส�งเบองตนบนฟอรม MsgBox
ชนดของปม คาตวเลข ความหมายvbOkOnly 0 แสดงปม OK ปมเดยว
vbOkCancel 1 แสดงปม OK และ CancelvbAbortRetryIg
nore2 แสดงปม Abort Retry และ
IgnorevbYesNoCancel 3 แสดงปม Yes No และ
CancelvbYesNo 4 แสดงปม Yes และ No
vbRetryCancel 5 แสดงปม Retry และ Cancel
vbCritical 16 แสดง Icon “Critical Message”
vbQuestion 32 แสดง Icon “Warning Query”
vbExclamation 48 แสดง Icon “Warning Message”
vbInformation 64 แสดง Icon “Information Message”
MsgBox เปนฟงกชนจะทำาใหคาทคนกลบมาจากการกดปมคำาสงตางๆ มคาดงน
ชนดของปม คาตวเลข เหตการณvbOk 1 ปม OK ถกกด
vbCancel 2 ปม Cancel ถกกดvbAbort 3 ปม Abort ถกกดvbRetry 4 ปม Retry ถกกดvbIgnore 5 ปม Ignore ถกกด
vbYes 6 ปม Yes ถกกดvbNo 7 ปม No ถกกด
ตวอยางการใชคำาสง
Private Sub Form_Load()On Error GoTo Loaderr ‘กรณเกดขอผด
พลาดใหกระโดดไปท Loaderr Text1.SetFocusLoaderr : ‘แสดงขอความแจงขอผดพลาดทเกดขน MsgBox "โปรแกรมมขอผดพลาด",
vbOKOnly, "Error" Unload Me ‘ปดฟอรมปจจบนทเรยกใชงานEnd Sub
หนวยการเรยนรท 12
ประโยคคำาสงใน Visual Basic
ประเภทของประโยคคำาส�ง 1) กลมคำาสง Branchingเปนกลมคำาสงทใชในการกระโดดขามการทำางานจากคำาสงหนงไปยงอกคำาสงหนง ซงแบงออกเปน 2 กลม คอ
กลมแรก คอ กลมคำาสงทเมอกระโดดขามไปทำางานในสวนของคำาสงอนแลวจะไมยอนกลบมาทำางานตามคำาสงถดไปจากคำาสงทกระโดดไป ไดแกคำาสง Goto
กลมสอง คอ กลมคำาสงทเมอกระโดดขามไปทำางานในสวนของคำาสงอนแลว จะยอนกลบมาทำางานในคำาสงถดไปทตอทายคำาสงทกระโดดไป ไดแกคำาสง Gosub
คำาส�ง หนาท�Goto ยายการทำางานไปยงบรรทด
ใดๆในโปรแกรมOn …
Goto
ยายการทำางานไปยงบรรทดใดๆตามเงอนไข โดยไมกลบมาทเดม
On … Gosub
ยายการทำางานไปยงโปรแกรมยอยใดๆตามเงอนไข โดยเมอโปรแกรมยอยนนทำางานเสรจจะกลบมาทเดม
2) กลมคำาสง Conditional เปนกลมคำาสงททำางานภายใตการตดสนใจตาม
เงอนไขทกำาหนดขน ซงแตกตางจากกลมคำาสงอนทมลกษณะการทำางานแบบเรยงลำาดบ (Sequent) กลาวคอ ทกคำาสงทเขยนขนในโปรแกรมจะไดรบการทำางานทงหมดตงแตคำา
สงแรกไปยงคำาสงสดทาย เสรจแลวกจบการทำางานของโปรแกรมออกไป
Statement A
Statement C
Statement B Stateme
nt A
Conditio
nStatement B
TRUEFALSE
สำาหรบกลมคำาสงแบบ Condition สามารถแบงออกไดเปน 2 คำาสง
- If Statement- Select Statement
กลมคำาสง Iteration เปนกลมคำาสงททำางานในลกษณะแบบวนลป (Loop) หรอทำาซำา แบงออกเปน 3 แบบ ไดแก
For … NextDo .. LoopWhile … End
ประโยคคำาส�งตดสนใจแบบ If Statement
แบบท� 1 If ประโยคเงอนไข Then ประโยคคำาสง
หรอ If ประโยคเงอนไข Then
ประโยคคำาสงท 1 ประโยคคำาสงท 2 ประโยคคำาสงท NEnd If
ประโยคเง�อนไข คอ สวนทใชทดสอบขอมล หรอตวแปรทกำาหนดขน โดยใชเครองหมายเปรยบเทยบ เชน > , < , >= , <= , < > , Like มาทดสอบ โดยผลลพธทไดจะมคาเปนจรง (True) หรอ
เทจ (False) เทานน
ประโยคคำาส�ง คอ สวนของคำาสงทตองการใหโปรแกรมทำางานภายใตเงอนไขทเปนจรง
ประโยคคำาส�งตดสนใจแบบ Select Statement
Condition 1
False
True Statement A
Condition 2
False
True Statement B
Statement C
ประโยคคำาสงแบบ Select Statement มลกษณะคลายกบคำาสงแบบ Nested If กลาวคอ มการตดสนใจในการทำางานมากกวา 2 ทางเลอก แตลกษณะโครงสรางของคำาสงแบบ Select จะมความซบซอนนอยกวาคำาสงแบบ Nested If
รปแบบคำาสงSelect Case ทดสอบเงอนไข
Case เงอนไขแรก : ประโยคคำาสงทตองการใหทำางาน Case เงอนไขทสอง : ประโยคคำาสงทตองการใหทำางาน
Case เงอนไขสดทาย : ประโยคคำาสงทตองการใหทำางาน
Case Else ประโยคคำาสงทตองการใหทำางาน
End Select
ประโยคคำาส�งทำาซำาแบบ For … Next
คำาสงทำาซำาแบบ For … Next มลกษณะการทำางานแบบวนซำาตามจำานวนรอบทแนนอน โดยสามารถกำาหนดคาเรมตน และคา
สดทายทตองการใหโปรแกรมวนรอบการทำางานได ซงรปแบบของคำาสงจะอาศยตวแปร (Counter) ตวหนงสำาหรบนบรอบการทำางาน โดยแตละรอบจะ
เพมคาขนไปเรอยๆจนกระทงถงคาสดทายทกำาหนดไว หลงจากนนโปรแกรมกจะกระโดดออกจากลปการ
ทำางาน ไปทำางานในสวนอนตอไป
รปแบบของคำาส�ง
For ตวแปรใชนบจำานวนรอบ = จำานวนรอบเรมตน To จำานวนรอบสดทาย ประโยคคำาสง
Next ตวแปรใชนบจำานวนรอบ
ตวแปรใชนบจำานวนรอบ คอ ตวแปรทตองประกาศ โดยเปนชนดขอมลแบบเลขจำานวนเตม เชน Byte, Integer, Long เปนตนจำานวนรอบเร�มตน คอ เลขจำานวนเตมทระบถงคาเรมตนของรอบการทำางาน โดยปกตจะเรมดวย 0 หรอ 1จำานวนรอบสดทาย คอ เลขจำานวนเตมทระบถงคาสดทายหรอจำานวนรอบทตองการ โดยจะตองมคามากกวาจำานวนรอบเรมตน
ประโยคคำาส�งทำาซำาแบบ Do … Loop
แบบท� 1 Do Until … Loopโปรแกรมจะวนรอบการทำางานไปจนกวาเงอนไขททดสอบจะมคาเปนจรง (True) โดยมรปแบบของคำาสง ดงน
ทดสอบเงอนไข ประมวลผลNo
Yes
Do Until ประโยคเงอนไข ประโยคคำาสงทตองการใหทำางาน (ถาเงอนไขยงคงเปนเทจอย)Loop
แบบท� 2 Do While … Loopโปรแกรมจะวนรอบการทำางานไปจนกวาเงอนไขททดสอบจะมคาเปน
เทจ (False) โดยมรปแบบของคำาสง ดงน
ทดสอบเงอนไข ประมวลผลYes
No
Do While ประโยคเงอนไข ประโยคคำาสงทตองการใหทำางาน (ถาเงอนไขยงคงเปนจรงอย)Loop
ประโยคคำาส�งทำาซำาแบบ While … Loop
แบบท� 3 Do Loop … Untilหลกการวนรอบการทำางานยงคงเหมอนกบคำาสงแบบ Do Until …
Loop กลาวคอ จะทำางานตามคำาสงไปเรอยๆจนกวาเงอนไขททดสอบจะมคาเปนจรง เพยงแตคำาสงแบบ Do Loop … Until จะทำางานตามคำาสง
กอนทดสอบเงอนไขอยางนอย 1 รอบ โดยมรปแบบคำาสง ดงน
ทดสอบเงอนไข
ประมวลผล
Yes
NoDo ประโยคคำาสงทตองการใหทำางาน (ถาเงอนไขยงคงเปนเทจอย)Loop Until ประโยคเงอนไข
แบบท� 4 Do Loop … Whileหลกการวนรอบการทำางานยงคงเหมอนกบคำาสงแบบ Do While
… Loop กลาวคอ จะทำางานตามคำาสงไปเรอยๆจนกวาเงอนไขททดสอบจะมคาเปนเทจ เพยงแตคำาสงแบบ Do Loop … While จะทำางานตามคำาสงกอนทดสอบเงอนไขอยางนอย 1 รอบ โดยมรปแบบ
คำาสง ดงน
ทดสอบเงอนไข
ประมวลผล
No
YesDo ประโยคคำาสงทตองการใหทำางาน (ถาเงอนไขยงคงเปนจรงอย)Loop While ประโยคเงอนไข
ประโยคคำาส�งแบบ With … End With
โดยปกตการเขยนโปรแกรมจำาเปนตองอางถงชอของวตถหรอชอของคอนโทรล แลวตามดวยคณสมบตตางๆทตองการกำาหนด ซงบางครงอาจทำาใหเกดขอผดพลาดได
เนองจากตองพมพคำาสงเปนจำานวนมาก ดงนนกลมคำาสงแบบ With … End With จงชวยใหการใชคำาสงตางๆกบวตถหรอคอนโทรลเดยวกน ไมจำาเปนตองพมพชอของวตถ
หรอคอนโทรลนนซำาอก โดยมรปแบบของคำาสง ดงนWith ชอวตถหรอคอนโทรล ประโยคคำาสงEnd Wtih
หนวยการเรยนรท 13
การสรางเมน
การสรางเมน การสรางเมนในโปรแกรมเปนสงจำาเปนทตองจดทำา
ขน เนองจากโปรแกรมสวนใหญมกประกอบไปดวยฟอรมตางๆมากมาย ซงทำาหนาทแตกตางกนออกไปตามลกษณะของงาน ดงนนการบรหารจดการฟอรมตางๆ ใหมความ
สะดวกและรวดเรวในการเรยกใชงาน จงเปนสงท นกเขยนโปรแกรมตองคำานงถงอยเสมอ อยางไรกดการสรางเมน
จำาเปนตองเลอกใชฟอรมทเหมาะสมเพอนำามาใชใหเกดประโยชนอยางมประสทธภาพ ซงแตละโปรแกรมอาจมความ
ตองการใชงาน แตกตางกนออกไป
ประเภทของฟอรม Single Document Interface (SDI) Multiple Document Interface (MDI) Form Main
Single Document Interface (SDI)
เปนฟอรมทสามารถสรางคอนโทรลหรอวตถลงบนฟอรมได ซงไดแกฟอรมโดย
ทวไปจากทกลาวมาแลวในบทเรยนทผานมา
Multiple Document Interface (MDI)
เปนฟอรมทไมสามารถสรางคอนโทรลหรอวตถลงบนฟอรมได เหมาะสำาหรบการนำาไปสรางเมน เนองจากสามารถเรยกใชฟอรมอนๆขนมาทำางานแทนได โดยจดเดนทสำาคญคอสามารถเรยกใชฟอรมไดครงละหลายๆฟอรมในเวลาเดยวกน
Form Main
สำาหรบ Form Main จะไมปรากฏอยบนจอภาพ แตจะอยในรปของ
โปรแกรมยอยประเภทโพรซเยอร (Procedure) โดยทำาหนาทในการเรยก
ใชฟอรมอนขนมาทำางาน
คณสมบตท�สำาคญของ MDIคณสมบต ความหมาย
Backcolor การกำาหนดสพนหลงใหกบฟอรมCaption การกำาหนดชอของฟอรมIcon รปไอคอนทตองการแสดงบนฟอรมPicture การกำาหนดพนหลงของฟอรมดวย
รปภาพWindowSt
ateการกำาหนดขนาดของฟอรมในขณะท
แสดงผล
การกำาหนดให MDI เปนฟอรมแรกในการทำางาน
การสรางเมนแบบฟอรม MDIMenu Title
Separator Bar
Menu Bar
Menu Item
Menu
ขนตอนการสรางเมนบนฟอรม MDI 1 .คลกเลอกเมน Tools > Menu Editor… จะปรากฏหนาตาง Menu Editor ดงภาพ
-Caption พมพชอเมน-Name กำาหนดลำาดบทของเมนโดยหามกำาหนดชอซำากน-Shortcut สำาหรบกำาหนดคยลดใหเมน-Next การสรางเมนถดไป-Insert ใชแทรกเมนกอนหนา-Delete ใชลบเมนทไมตองการใชลดเมน
ยอย ใชเพมเมนยอย
ใชเลอนแถบเมน-OK ปมยอมรบการสรางเมน และจะกลบไปทหนาตาง Project Design
การเขยนคำาสงเพอเรยกใชฟอรมใน Project
หนวยการเรยนรท 14
แนะนำาคอนโทรลพเศษ
การเพมคอนโทรลการเพมคอนโทรลอนๆเขามาในโปรแกรม มขนตอนดงน
1. คลกเมน File > Project > Component จะปรากฏหนาตาง Component คลกเลอกรายการคอนโทรลทตองการ เชนMicrosoft Tabbed Dialog Controls 6.0Microsoft Windows Common Controls 6.0 Microsoft Windows Common Control-2 6.0Microsoft Windows Common Controls-3 6.0
Toolbar เปนเครองมอทชวยการทำางานเกยวกบการสรางเมน โดยสามารถกำาหนดปมคำาสงใน
การเรยกใชฟอรมตางๆทมอยในระบบได ซงลกษณะการทำางานเหมอนกบการใชเมาสคลกเลอกเปดฟอรมจากเมน เพยงแตคอนโทรล Toolbar จะชวยใหการทำางานของโปรแกรมมความ
ยดหยนมากยงขน
Status Bar คอ คอนโทรลทใชบน MDI Form เพอทำาหนาท
บอกสถานะการทำางานของฟอรม เชน แสดงเวลาปจจบน แสดงวนทปจจบน หรอแสดงสถานะของปม Num
เปนตน
DTPicker คอ คอนโทรลทใชสำาหรบแสดงวน เดอน ป โดยสามารถคลก
เลอก วน เดอน ป ไดโดยไมตองพมพ ทำาใหมความสะดวกในการใชงานและลดขอผดพลาดทอาจเกดขนจากการพมพได
Calender
คอ คอนโทรลทแสดงวน เดอน ป เหมอนกบคอนโทรล DTPicker เพยงแตรปแบบการแสดงผลในขณะ Run โปรแกรมจะตางกน เพราะคอนโทรล Calendar จะ
แสดงรปแบบของวน เดอน ป ในรปของตารางซงใชพนทมากกวาการใชคอนโทรลแสดงวน เดอน ป แบบ DTPicker
MonthView
คอ คอนโทรลทแสดงวน เดอน ป เหมอนกบ
คอนโทรล DTPicker เพยงแตคอนโทรล MonthView ไมสามารถพมพวน เดอน ป
ทตองการได ซงตางจาก DTPicker ทสามารถพมพวน เดอน ป ไดตามความ
ตองการของผใชงาน
SSTab คอ คอนโทรลทชวยใหการใชพนทบนฟอรมเกดประโยชนมาก
ยงขน และสามารถจดการขอมลออกเปนสวนๆไดอยางเหมาะสม
หนวยการเรยนรท 15
การคอมไพลโปรแกรมและการสรางแผน Setup
การคอมไพลโปรแกรมเปนไฟล EXE1 . คลกเมน File > Make… จะปรากฏหนาตางการ
กำาหนดชอไฟล2. ตงชอไฟลตามความตองการ แลวคลกปม OK3. โปรแกรมจะทำาการคอมไพลโปรแกรมใหเปนนามสกล EXE
การสรางแผนตดตงโปรแกรม (Setup) 1. คลก Start > Program > Microsoft Visual Studio 6.0
> Microsoft Visual Studio Tool > Package & Development Wizard ดงภาพ
2 . จะปรากฏหนาตาง Package and Development Wizard ใหคลกปม Browse เพอเลอกไฟลโปรเจคทตองการ
3 . คลกเลอกไฟลโปรเจคทตองการจากโฟลเดอรทจดเกบงานไว 4 . คลกปม Open
5 . กรณโปรเจคทสรางยงไมไดรบการคอมไพล โปรแกรมจะแสดงหนาตางเพอยนยนการคอมไพลอกครง ใหคลกปม Yes
6. เมอโปรแกรมคอมไพลเสรจเรยบรอย ขนตอนตอไปใหคลกเลอก Standard Setup Package > Next
7 . เลอกโฟลเดอรเพอจดเกบไฟลทเตรยมไวสำาหรบจดทำาแผน Setup หรออาจจะสรางโฟลเดอรขนมาใหมกได กรณนเลอกเกบไวในโฟลเดอรของโปรเจค เสรจแลวคลกปม Next
8 . คลกเลอกรายการ Driver ทจำาเปนตองการใชในการตดตงโปรแกรม
9 . คลกเลอกรายการไฟลทจำาเปนตองใชในการตดตงโปรแกรม เชน ไฟลโปรเจคทคอมไพลเปน EXE หรอถา
ตองการเพมไฟล Database ทเกยวของ ใหคลกปม Add เพอเพมไฟลดงกลาวลงไป