Visual Basic 6.0.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
คณิตคิดเร็วโดยใช้นิ้วมือ
Advertisements

โครงสร้างโปรแกรมภาษา C
การใช้ MessageBox-InputBox
พลังงานในกระบวนการทางความร้อน : กฎข้อที่หนึ่งของอุณหพลศาสตร์
Introduction to C Programming
การรับค่าและแสดงผล.
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
การใช้งานโปรแกรม Excel เบื้องต้น
LAB # 3 Computer Programming 1
การเลื่อนเงินเดือนข้าราชการ
Visual Basic.
ผังงานโปรแกรม (Program Flowchart)
Week 6 ประกาศค่าตัวแปร.
บทที่ 3 พื้นฐานการเขียนโปรแกรม Visual Basic
Visual Basic 6 By Samaporn Yendee VB6.
Visual Basic 6 By Samaporn Yendee VB6.
Adv. Access.
Properties ของคอนโทรล ที่ควรรู้จักในเบื้องต้น
มหาวิทยาลัยเทคโนโลยีสุรนารี
การสร้าง Random ตัวเลขซ้ำและไม่ซ้ำ การเรียกดูไฟล์ในโฟลเดอร์ Function
การเขียนโปรแกรม ASP การประกาศตัวแปร
จำนวนนับใดๆ ที่หารจำนวนนับที่กำหนดให้ได้ลงตัว เรียกว่า ตัวประกอบของจำนวนนับ จำนวนนับ สามารถเรียกอีกอย่างว่า จำนวนเต็มบวก หรือจำนวนธรรมชาติ ซึ่งเราสามารถนำจำนวนนับเหล่านี้มา.
การจัดการข้อมูลด้วยคอมพิวเตอร์
การควบคุมทิศทางการทำงานของโปรแกรม
ส่วนของการเขียนโค๊ด ใน VB การเขียนโค๊ดจะเป็นแบบ Event Driven
Visual Basic บทที่ 1.
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 2 ประเภทข้อมูล (DATA TYPE)
โปรแกรม Microsoft Access
การใช้งาน Microsoft Windows XP
C# Programming Exceed Camp: Day 3.
Office of information technology
บทที่ 11 การเขียนโปรแกรมแบบ Structured Programming และการจัดการตรวจสอบข้อผิดพลาด.
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
Chapter 4 การสร้าง Application
LOGO SCCS031 Principle of Computer Programming Thinaphan Nithiyuwith Program of Computer Science & Information Technology suchada/
Chapter 6 Decision Statement
บทที่ 3 ชนิดของข้อมูลและตัวดำเนินการ
ตัวแปรกับชนิดของข้อมูล
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
พระราชบัญญัติ คุ้มครองแรงงาน (ฉบับที่ 4) พ. ศ
การแปลงข้อมูลใน Excel เป็นฐานข้อมูลใน Access
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
การดำเนินงานตามแผนปฏิบัติการ โครงการที่ได้รับ
การใช้ Word เพื่อการคำนวณ
โดย อ. นัฐพงศ์ ส่งเนียม Do Loop Until โดย อ. นัฐพงศ์ ส่งเนียม
การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
การเขียนโปรแกรมภาษาคอมพิวเตอร์ขั้นสูง
วิชาคอมพิวเตอร์กราฟิก intro_vb_net_06 การสร้างกราฟเส้นตรงด้วย VB.NET
วิชาคอมพิวเตอร์กราฟิก
Computer Programming for Engineers
บทที่ 3 การทำงานกับฟอร์ม (Form)
โปรแกรม Microsoft Access
บทที่ 3 การทำงานกับฟอร์ม (Form)
บทที่ 3 การสร้าง Appication แบบ Windows Form
ฟอร์มระบบ ข้อมูลสัญญาซื้อ-ขายขายรถยนต์
ฟอร์มระบบ ข้อมูลใบเสร็จ
ฟอร์มระบบ ข้อมูลรถยนต์
ความรู้พื้นฐานเกี่ยวกับ Microsoft Visual C#
สรุปผลสัมฤทธิ์ปีการศึกษา 2552 ชั้ น จำนว นสาระการเรียนรู้ นักเรี ยนทค ค. เพิ่มวสพ.พ. ศ.ศ. ดน ตรีง.ง. คอ ม. อ อ. เพิ่ม ป.1ป
ขั้นตอนการจัดนักศึกษาเข้าสังกัดสาขาวิชา
มูลค่าคำขอรับการส่งเสริมในเดือน ม. ค. 56 เพิ่มขึ้น 2 %
บทที่ 9 การใช้งานฟอร์มและคอนโทรลต่าง ๆ
สถานการณ์ โรคเฝ้าระวังทางระบาดวิทยา ตุลาคม 2553 งานระบาดวิทยา งานระบาดวิทยา สำนักงานสาธารณสุขอำเภอเมืองลำปาง.
ตัวแปร และชนิดข้อมูล.
Microsoft Access 2007 นายวุฒิชัย คำมีสว่าง.
ผลการประเมิน คุณภาพการศึกษาขั้นพื้นฐาน ปีการศึกษา
แผนภูมิแสดงแผนและผลการใช้จ่ายงบประมาณปี 2549 การใช้ จ่าย ( สะสม ) ต.ค.ต.ค. พ.ย.พ.ย. ธ.ค.ธ.ค. ม.ค.ม.ค. ก.พ.ก.พ. มี. ค. เม. ย. พ.ค.พ.ค. มิ. ย. ก.ค. ก.ค.
Visual Basic 6.0.
Microsoft Visual Basic 2010
ใบสำเนางานนำเสนอ:

Visual Basic 6.0

ความเป็นมาของ Visual Basic พัฒนามาจากภาษา QBASIC เป็นภาษาที่เหมาะกับการเริ่มต้น Visual Basic V. 1.0 เมื่อปี 1991 Visual Basic V. 6.0 เมื่อปี 1998 Visual Studio .NET เมื่อปี 2002

ทำไมต้องเริ่มที่ Visual Basic 1. ง่ายต่อการเรียนรู้ 2. ความนิยมของตัวภาษา 3. เป็นซอฟต์แวร์ของ Microsoft 4. การพัฒนาอย่างต่อเนื่อง

ทำไมต้องเริ่มที่ Visual Basic 5. Visual Basic for Application (VBA) ในชุด Microsoft Office 6. VB Script Edition ใช้ในการเขียน สร้าง Home Page 7. ASP (Active Server Page)

การเขียนโปรแกรมแบบ Event-driven การทำงานของโปรแกรมจะขึ้นอยู่กับ การกระทำกับส่วนประกอบต่างๆ ของ หน้าต่าง (Window) ของโปรแกรม เช่น ปุ่มต่างๆ, เลื่อนเมาส์ การทำงานจะเป็นไปตามเหตุการณ์ (Event) ที่เกิดขึ้น

การเขียนโปรแกรมแบบ Procedural โปรแกรมเมอร์ต้องเขียน Code ควบคุมการทำงานของโปรแกรมเอง ทั้งหมด โดยต้องตรวจสอบเหตุการณ์ ต่างๆ ที่เกิดขึ้นด้วยตนเอง

ขั้นตอนการออกแบบโปรแกรม 1. ศึกษาความต้องการของผู้ใช้ 2. ออกแบบหน้าจอของโปรแกรม และขั้นตอนการทำงานของ โปรแกรม 3. เริ่มเขียนและพัฒนาโปรแกรม 4. รวบรวมและทดสอบโปรแกรม 5. ส่งมอบโปรแกรมสู่ผู้ใช้

รุ่นต่างๆ ของ Visual Basic Learning Edition Professional Edition Enterprise Edition

การติดตั้งโปรแกรม ระบบปฏิบัติการ Windows 98-XP CPU Pentium ขึ้นไป หน่วยความจำ (RAM) 32 MB ขึ้นไป CD-ROM, Mouse, Keyboard แผ่นโปรแกรม Microsoft Visual Studio 6.0 แผ่นโปรแกรม MSDN เป็นส่วนของ Help

คุณสมบัติของ Visual Basic คอมไพเลอร์และการเขียนโปรแกรม บน Microsoft Windows หลักการของ OOP (Object Oriented Programming)

ส่วนประกอบของ Visual Basic Object Properties Method Event

Textbox Form Checkbox Option Button

การเรียกใช้งาน ปุ่ม Start >> Programs >> Microsoft Visual Studio 6.0 >> Microsoft Visual Basic 6.0

ส่วนประกอบของ Visual Basic แถบ Title Bar แถบ Menu Bar แถบ Tool Bar หน้าต่าง Form Windows View Object

ส่วนประกอบของ Visual Basic หน้าต่าง Project Explorer View  Project Explorer <Ctrl+R> หน้าต่าง Properties View  Properties Window <F4>

ส่วนประกอบของ Visual Basic หน้าต่าง Form Layout View  Form Layout Window แถบเครื่องมือ Toolbox View  Toolbox

เริ่มต้นการสร้าง Application

การสร้าง Application ใหม่ File  New Project เลือก Standard EXE คลิกปุ่ม OK

การบันทึก Application การบันทึกจะบันทึกแยก ระหว่าง Form กับ Project File  Save Form หรือ Project ตั้งชื่อฟอร์ม หรือ ชื่อ project คลิกปุ่ม Save

การเพิ่ม Form ใหม่ Project  Add Form หรือ คลิก Toolbar ในการเพิ่ม Form

การเพิ่ม Form ที่มีอยู่แล้ว Project  Add File เลือกฟอร์มที่ต้องการ คลิกปุ่ม Open

ยกเลิก Form ออก เลือกฟอร์ม Project  Remove ชื่อForm

การ Run Application Run  Start หรือ กดคีย์ F5 หรือใช้ Toolbar

การ Stop Application Run  End หรือ ใช้ Toolbar

การกำหนดฟอร์มที่รัน เมนู Project  Project Properties… แท็บ General กำหนดที่ Startup Object

พื้นฐานที่ในการสร้างโปรแกรมใน VB6 การสร้างคอนโทรลบนฟอร์ม การย้ายคอนโทรล การเปลี่ยนขนาดคอนโทรล การลบคอนโทรลออกจากฟอร์ม

พื้นฐานที่ในการสร้างโปรแกรมใน VB6 การกำหนดคุณสมบัติของคอนโทรล กำหนดที่หน้าต่าง Properties Windows Object List Box: แสดงรายชื่อของคอนโทรลทั้งหมดในฟอร์ม Properties List: แสดงชื่อคุณสมบัติและค่าที่กำหนดสำหรับคอนโทรลที่เราเลือก Description Pane: แสดงคำอธิบายสั้นๆเกี่ยวกับคุณสมบัติที่เราเลือก กำหนดโดยการเขียน Code คำสั่ง

พื้นฐานที่ในการสร้างโปรแกรมใน VB6 การเขียน Code คำสั่งเพื่อตอบสนองต่อ Event เปิดหน้าต่าง Code Editor ด้านซ้ายสำหรับเลือกชื่อ Object ด่านขวาสำหรับกำหนด Event ใส่คำสั่งลงไประหว่างข้อความ Private Sub<ชื่อคอนโทรล>_<ชื่ออีเว็นต์> กับ End Sub เป็นตัวบอกว่าคำสั่งที่ตอบสนองนั้นเริ่มต้นและจบลงที่ใด

การกำหนด Properties โดยการเขียนโค้ด Object_Name.Properties_Name = ค่าของproperties เช่น Form1.Caption = “โปรแกรมการคำนวณภาษี" Form1.FontSize = 20

Properties พื้นฐานของ Control Name Caption ForeColor BackColor Height, Width Left ,Top TabIndex Enabled Visible FontBold,FontIt alic FontName,Font Size FontUnderline MousePointer 30

การทำงานกับ Form

Properties ของ Form Name Icon BackColor MinButton ForeColor MaxButton Caption Enabled Font Icon MinButton MaxButton Height Width AutoRedraw 32

Properties ของ Form MousePointer MouseIcon ( MousePointer=Custom ) Picture Visible CurrentX CurrentY 33

Method ของ Form Print "ข้อความ" & ตัวแปร Form_Name.Hide Form_Name.Show Form_Name.Cls

การใช้ Method โดยการเขียนโค้ด Object_Name.Method_Name [พารามิเตอร์ของ Method] เช่น Form1.Print "Siam Computer" Me.Show

Event ของ Form Activate เมื่อฟอร์ม Activate Click เมื่อคลิกที่ฟอร์ม DblClick เมื่อดับเบิ้ลคลิกที่ฟอร์ม Load เมื่อเปิดฟอร์มขึ้นมาทำงาน UnLoad เมื่อปิดฟอร์ม

ตัวอย่างงาน Sub Form_Activate( ) Form1.FontSize=20 Print “Test Visual Basic” Print “Siam Computer” End Sub

Print “Test Visual Basic” ; Print “Siam Computer” CurrentX = 1500 ตัวอย่างงาน เพิ่ม เซมิโคลอน ( ; ) Sub Form_Activate( ) Form1.Font.Size=20 Print “Test Visual Basic” ; Print “Siam Computer” CurrentX = 1500 CurrentY = 1000 Print “New Position” End Sub ( )

ตัวอย่างที่ 2 คอนโทรล คุณสมบัติ ค่าที่กำหนด Form Name Form1 คอนโทรล คุณสมบัติ ค่าที่กำหนด Form Name Form1 AutoRedraw True CommandButton Name Command1 Caption Clear

ตัวอย่างที่ 2 Sub Form_Activate() Form1.Print “ Form_Activate ” End Sub Sub Form_Click() Form1.Print “ Form_Click ” End Sub Sub Command1_Click() Form1.Cls End Sub Sub Form_DblClick() Form1.Print “Double_Click ” End Sub Sub Form_Resize() Form1.Print “ Form_Resize” End Sub

Object พื้นฐาน ตัวแปรและ Operator

Label (properties) Name Alignment AutoSize BorderStyle BackStyle Caption Left Top 42

Text Box (properties) Name ScrollBars Text TabIndex เริ่มที่ 0 MaxLenght PasswordChar Multiline ScrollBars TabIndex เริ่มที่ 0 TabStop ToolTipText

Object_Name.SetFocus กำหนดให้ cursor ไป focus ที่ Object Method Object_Name.SetFocus กำหนดให้ cursor ไป focus ที่ Object เช่น Text1.Setfocus Command1. Setfocus

Properties.. SelStart กำหนดตำแหน่งเริ่มเลือก SelLength กำหนดความยาวที่ต้องการ เลือกข้อความ

Event Change เมื่อมีการเปลี่ยนแปลงที่ Text GotFocus เมื่อ Text ได้รับ Focus LostFocus เมื่อ Text สูญเสีย Focus

Command Button (properties) Name Caption Default Picture Style

ตัวอย่างงาน หาผลคูณระหว่าง 2 Text Box

Source Code Sub cmdMultiply_Click() a = txtnum1.Text b = txtnum2.Text lblResult.Caption = a & " * " & b & " = " & a * b End Sub

Operator ในการเชื่อมต่อข้อมูล & และ + ใช้ในการเชื่อมข้อมูล ' ใช้ในการเปลี่ยนประโยคคำสั่งเป็นComment

การเปลี่ยน Font ใน View Code เมนู Tools Option… Editor Format ในช่อง Font ต้องเลือก Font ที่ลง ท้ายด้วย UPC หรือ DSE เช่น BrowalliaUPC

ทำไมต้องประกาศตัวแปร เพื่อการทำงานที่ถูกต้องขอโปรแกรม เมนู Tools Option… Editor Require Variable Declaration จะได้ Option Explicit ใน View Code

การประกาศตัวแปรและค่าคงที่ Dim variable_name As Data_Type Const const_name = Value เช่น Dim data1 As Integer Const name = “Somjate”

กฎการตั้งชื่อตัวแปร ชื่อตัวแปรต้องขึ้นด้วยตัวอักษร ชื่อตัวแปรห้ามยาวเกิน 255 ตัวอักษร ใช้ตัวอักษร,ตัวเลขและ _ ผสมกัน เป็นชื่อได้ ห้ามซ้ำกับคำสงวน เช่น Dim ชื่อตัวแปรห้ามซ้ำกันถ้าอยู่ในขอบเขต เดียวกัน

ชนิดของข้อมูล Byte 0 ถึง 255 (1 Byte) Integer  -32,768 ถึง 32,767 (2 Byte) Long  -2,147,483,648 ถึง 2,147,483,647 (4 Byte) Currency -922,337,203,685,477.5808 ถึง 922,337,203,685,477.5807 (8 Byte)

ชนิดของข้อมูล (ต่อ) Single จำนวนจริงมีทศนิยม (4 Byte) ค่าลบ -3.402823x1038 ถึง -1.401298x10-45 และ ค่าบวก 1.401298x10-45 ถึง 3.402823x1038 Double  จำนวนจริงมีทศนิยม (8 Byte) ค่าลบ – 1.79769313486232x10308 ถึง  – 4.94065645841247x10-324 และ ค่าบวก 4.94065645841247 x10-324 ถึง 1.79769313486232x10308

ชนิดของข้อมูล (ต่อ) Date  ข้อมูลวันที่และเวลา (8 Byte) String  ตัวอักษรหรือข้อความ Boolean  ค่าทางตรรกะ (2 Byte) Variant  ตัวแปรพิเศษ (22 Byte)

Operator ทางคณิตศาสตร์ นิพจน์ ความหมาย + บวก - ลบ * คูณ / หาร \ หารจำนวนเต็ม Mod หารเอาแต่เศษ ^ ยกกำลัง

ตัวอย่างงาน การทำงานกับ Operator ทางคณิตศาสตร์

Private Sub Command1_Click() Dim a As Integer Dim b As Integer a = Text1.Text b = Text2.Text Label3.Caption = a & " / " & b & " = " & a / b Label4.Caption = a & " \ " & b & " = " & a \ b Label5.Caption = a & " mod " & b & " = " & a Mod b Label6.Caption = a & " ^ " & b & " = " & a ^ b End Sub

ขอบเขตของตัวแปร (Scope of variable) ตัวแปรแบบโลคอล (Local) ตัวแปรแบบโกลบอล (Global) Private ใช้ได้ทุกโปรแกรมย่อยใน Form ที่ประกาศ Public ใช้ได้ทุกโปรแกรมย่อยในโปรแกรม

Operator ทางการเปรียบเทียบ นิพจน์ ความหมาย = เท่ากับ > มากกว่า > = มากกว่าหรือเท่ากับ < น้อยกว่า < = น้อยกว่าหรือเท่ากับ < > ไม่เท่ากับ

ตัวอย่างงาน การทำงานกับ Operator ทางการเปรียบเทียบ

Private Sub cmdCompare_Click() Dim a As String Dim b As String a = txtNumber1.Text b = txtNumber2.Text lblNum1.Caption = a & " > " & b & " = " & (a > b) lblNum2.Caption = a & " < " & b & " = " & (a < b) lblNum3.Caption = a & " = " & b & " = " & (a = b) lblNum4.Caption = a & " <> " & b & " = " & (a <> b) End Sub

Operator ทางตรรกะ

ลำดับการคำนวณ Arithmetic Comparison Logical Exponentiation (^) Equality (=) Not Negation (-) Inequality (<>) And Multiplication and division (*, /) Less than (<) Or Integer division (\) Greater than (>) Xor Modulus arithmetic (Mod) Less than or equal to (<=) Eqv Addition and subtraction (+, -) Greater than or equal to (>=) Imp String concatenation (&) Is & 66

ฟังก์ชันทางคณิตศาสตร์ Round(number) ใช้ในการปัดจุดทศนิยมให้เป็นเลขจำนวนเต็ม Int(number) ใช้ในการปัดจุดทศนิยมลงให้เป็นเลขจำนวนเต็ม

ฟังก์ชันทางคณิตศาสตร์ Rnd[(Number)] Rnd ใช้ในการสุ่มค่าของข้อมูล เช่น สุ่มค่าจำนวนเต็ม 0-9 Label1.Caption = Int(Rnd * 9) (Randomize ทำให้การสุ่มเลขได้ไม่ซ้ำ)

ฟังก์ชันทางคณิตศาสตร์ Sqr(number) ใช้หาค่ารากที่สองของข้อมูล Abs(number) ใช้กำหนดให้ค่าของข้อมูลเป็นค่าบวก

การทำงานกับฟังก์ชันข้อความ InStr([Start],String1,String2,[Compare]) ใช้ค้นหาตัวอักษรใน String Replace(String1,Find, Replace) ใช้ค้นหาตัวอักษรใน String แล้วแทนที่ด้วย

การทำงานกับฟังก์ชันข้อความ UCase(String) ใช้เปลี่ยน String เป็นพิมพ์ใหญ่ทั้งหมด LCase(String) ใช้เปลี่ยน String เป็นพิมพ์เล็กทั้งหมด

ตัวอย่างงาน

Private Sub cmdClear_Click() txtTEXT1.Text = "" txtTEXT1.SetFocus ตัวอย่างงาน Private Sub txtTEXT1_Change() txtText2.Text = UCase(txtTEXT1.Text) txtText3.Text = LCase(txtTEXT1.Text) End Sub Private Sub cmdClear_Click() txtTEXT1.Text = "" txtTEXT1.SetFocus End Sub

การทำงานกับฟังก์ชันข้อความ Str(Numeric) ใช้แปลง Numeric เป็น String Val(String) ใช้แปลง String เป็น Numeric

การทำงานกับฟังก์ชันข้อความ IsNumeric(String) ตรวจสอบว่าเป็น Numeric หรือไม่ IsDate(String) ตรวจสอบว่าเป็น Date หรือไม่

การทำงานกับฟังก์ชันข้อความ LTrim(String) ใช้ตัดช่องว่างทางด้านซ้ายของ String ออก RTrim(String) ใช้ตัดช่องว่างทาง ด้านขวาของ String ออก

การทำงานกับฟังก์ชันข้อความ Trim(String) ใช้ตัดช่องว่างทั้งด้านซ้าย และขวาของ String Format(value , "รูปแบบ") ใช้กำหนดรูปแบบของข้อมูล

รูปแบบของวันที่ (Date) "dd/mm/yy"  "Short Date" "dd/mmm/yyyy"  "Medium Date" "dd/mmmm/yyyy"  "Long Date"

การทำงานกับฟังก์ชันทางวันและเวลา Now จะให้ค่าวันที่และเวลา ณ ปัจจุบัน Time จะให้ค่าเวลา ณ ปัจจุบัน

รูปแบบของเวลา (Time) "HH:MM"  "Short Time" "HH:MM AMPM"  "Medium Time" "HH:MM:SS"  "Long Time"

ตัวอย่างงาน ตรวจสอบเวลาการทำงาน

ตัวอย่างงาน Dim a As Date Dim b As Date Sub Command1_Click() a = Time Text1.Text = Format(a, "HH:MM:SS") Text2.Text ="" Label1.Caption ="" End Sub

ตัวอย่างงาน Sub Command2_Click() b = Time Text2.Text = Format(b, "HH:MM:SS") End Sub Sub Command3_Click() Label1.Caption = Format(b - a, "HH:MM:SS")

If…Then…Else Statement If เงื่อนไข Then Statement… Else End If

Flow-Chart condition Statement ; True False

If…Then…Statement If เงื่อนไข Then Statement…

If…Then…Else Statement If เงื่อนไข Then Statement… Else End If If เงื่อนไข Then Statement… Elseif เงื่อนไข Then Else End if

ตัวอย่างการใช้ ElseIf Dim Number, Digits, MyString Number = Text1.Text If Number < 10 Then Digits = 1 ElseIf Number < 100 Then Digits = 2 Else Digits = 3 End If

Unload Statement Unload ObjectName เช่น Private Command1_Click() Unload Form1 'หรือ Unload Me End Sub

End หยุดการรันโปรแกรม End Command End หยุดการรันโปรแกรม เช่น Private Command1_Click() End ' จบการทำงาน End Sub

ตัวอย่างงาน ตรวจสอบรหัสผ่าน Lcase(Text1.text) Private Sub cmdOK_Click() If txtPass.Text = "basic" Then frmCalculate.Show Unload Me Else txtPass.Text = "" txtPass.SetFocus End If End Sub ตรวจสอบรหัสผ่าน Lcase(Text1.text)

ตัวอย่างงาน โปรแกรมตรวจสอบรหัสผ่าน

Lcase(Text1.text) ตัวอย่างงาน Private Sub Command1_Click() If Text1.Text = "basic" Then Form1.Show Unload Me Else Text1.Text = "" Text1.SetFocus End If End Sub Private Sub Command2_Click() End End Sub Lcase(Text1.text)

Select Case Statement Select Case ตัวแปร Case เงื่อนไข1 หรือ ค่าคงที่1 statement: Case เงื่อนไข2 หรือ ค่าคงที่2 Case Else End Select

Flow-Chart condition value1 … value2 value n else S ; Statement ;

ตัวอย่างงาน การตรวจสอบเกรด

Private Sub CmdGrade_Click() Dim score As Integer Dim grade As String ตัวอย่างงาน Private Sub CmdGrade_Click() Dim score As Integer Dim grade As String score = Val(txtmark.Text)

ตัวอย่างงาน Select Case score Case Is >= 80: grade = "A" Case Is >= 70: grade = "B" Case Is >= 60: grade = "C" Case Is >= 50: grade = "D" Case Else: grade = "F" End Select lblgrade.Caption = txtName.Text & " your grade is " & grade End Sub

Check Box (properties) Name Alignment Caption Value 0 (Unchecked) 1 (Checked) 2 (Grayed)

ตัวอย่างงาน แสดงวันที่และเวลา โดยใช้ Check Box

ตัวอย่างงาน Private Sub chkTime_Click() If chkTime.Value = 1 Then lbltime.Caption = Format(Now, "HH:MM:SS") Else lbltime.Caption = "" End If End Sub

Private Sub Chkdate_Click() If chkDate.Value = 1 Then lblDate.Caption = Format(Now,"dd/mmmm/yyyy") Else lblDate.Caption = "" End If End Sub

Option Button (properties) Name Alignment Caption Value True (Select) False (Not Select)

ตัวอย่างงาน เลือกเพศโดยใช้ Option Button

Private Sub Optmale_Click() lblgender.Caption = "Male" End Sub ตัวอย่างงาน Private Sub Optmale_Click() lblgender.Caption = "Male" End Sub Private Sub Optfemale_Click() lblgender.Caption = "Female" End Sub

ตัวอย่างงาน การคำนวณพื้นที่

Private Sub OptRectangle_Click() txtnumber1.Text = "" txtNumber2.Text = "" lblResult.Caption = "" txtNumber1.SetFocus lblName1.Caption = "กว้าง" lblName2.Caption = "ยาว" lblName3.Caption = "พื้นที่สี่เหลี่ยม" End Sub

Private Sub OptTriangle_Click() txtNumber1.Text = "" txtNumber2.Text = "" lblResult.Caption = "" txtNumber1.SetFocus lblName1.Caption = "ฐาน" lblName2.Caption = "สูง" lblName3.Caption = "พื้นที่สามเหลี่ยม" End Sub

Private Sub cmdCal_Click() txtNumber1.SetFocus If Optrectangle.Value = True Then lblResult.Caption = Val(txtnumber1.Text) * Val(txtNumber2.Text) Else lblResult.Caption = 0.5 * Val(txtNumber1.Text) * Val(txtNumber2.Text) End If End Sub

Frame (properties) Name Caption

ตัวอย่างงาน ค้นหาตำแหน่งจากเพศและการศึกษา

เงื่อนไข การศึกษา ชาย หญิง ปริญญาตรี อาจารย์ เลขา การศึกษา ชาย หญิง ปริญญาตรี อาจารย์ เลขา ปวส. ช่าง ประชาสัมพันธ์ ปวช. คนขับรถ แม่บ้าน

Private Sub cmdposition_Click() If Optmale.Value = True Then If Optedu1.Value = True Then lblCareer.Caption = "อาจารย์" ElseIf Optedu2.Value = True Then lblCareer.Caption = "ช่าง" ElseIf Optedu3.Value = True Then lblCareer.Caption = "คนขับรถ" End If Else ' ElseIf Option2.Value = True Then

If Optedu1.Value = True Then lblCareer.Caption = "เลขา" ElseIf Optedu2.Value = True Then lblCareer.Caption = "ประชาสัมพันธ์" ElseIf Optedu3.Value = True Then lblCareer.Caption = "แม่บ้าน" End If End Sub

MsgBox Prompt [,Buttons] [,Title] Function MsgBox MsgBox Prompt [,Buttons] [,Title] Prompt “ข้อความที่ต้องการแสดง” Buttons ปุ่มทำงานและสัญลักษณ์ Title  “ข้อความที่แสดงที่หัว Box”

ตัวอย่าง Message Box Icon Title Buttons

ตัวอย่างของสัญลักษณ์ (Icon) vbCritical vbInformation vbExclamation vbQuestion 117

Function MsgBox ตัวแปร = MsgBox(Prompt [,Buttons] [,Title])

ตัวอย่างการใช้ Msgbox

HScrollBar และ VScrollBar (properties) Name Min Max Scroll Box Min LargeChange LargeChange SmallChange SmallChange Value Max

Event Change เมื่อทำการเลื่อนที่ LargeChange หรือ SmallChange Scroll เมื่อทำการเลื่อนที่ Scroll Box

ตัวอย่างงาน การตรวจสอบ Properties ของ Scrollbar กำหนด Properties Min = 0 Max = 100 LargeChange = 10 SmallChange = 2

Sub HScroll1_Change() lblInfo.Caption = "Value = " & HScroll1.Value End Sub Sub HScroll1_Scroll() lblInfo.Caption = "Value = " & HScroll1.Value End Sub

การเรียกใช้ค่าสี Object_Name.Properties = Color_Name เช่น lblName.ForeColor = VbRed frmData.BackColor = VbGreen

ตัวอย่างงาน ปรับแต่งรูปแบบตัวอักษร

ตัวอย่างงาน ปรับแต่งรูปแบบตัวอักษร

Dim data As String Private Sub Form_Load() 'Width = 4125 Height = 1440 End Sub

Private Sub cmdFont_Click() data = txtName.Text lblName.Caption = data 'Width = 4125 Height = 4080 End Sub

Private Sub chklowercase_Click() If chklowercase.Value = 1 Then chkuppercase.Value = 0 lblName.Caption = LCase(data) Else lblName.Caption = data End If End Sub

Private Sub chkuppercase_Click() If chkuppercase.Value = 1 Then chklowercase.Value = 0 lblName.Caption = UCase(data) Else lblName.Caption = data End If End Sub

Private Sub chkItalic_Click() If chkitalic.Value = 1 Then lblName.Font.Italic = True Else lblName.Font.Italic = False End If End Sub

Private Sub chkBold_Click() If chkbold.Value = 1 Then lblName.Font.Bold = True Else lblName.Font.Bold = False End If End Sub

Private Sub HScsize_Change() lblName.Font.Size = HScsize.Value End Sub Private Sub Command3_Click() 'Width = 4125 Height = 1440

Private Sub optRed_Click() lblName.ForeColor = vbRed End Sub Private Sub optBlue_Click() lblName.ForeColor = vbBlue

Private Sub cmdOk_Click() 'Width = 4125 Height = 1440 txtName.Text = lblName.Caption txtName.Font.Bold = lblName.Font.Bold txtName.Font.Italic = lblName.Font.Italic txtName.Font.Size = lblName.Font.Size txtName.ForeColor = lblName.ForeColor End Sub

การทำงานกับฟังก์ชันสี QBColor(n) โดย n มีค่าตั้งแต่ 0 - 15 เช่น Label1.BackColor = QBColor(1)

การทำงานกับฟังก์ชันสี RGB(Red,Green,Blue) โดยค่าสีอยู่ในช่วง 0 - 255 เช่น Label1.BackColor = RGB(0,0,255) Label1.ForeColor = RGB(255,0,255)

ตัวอย่างงาน การผสมสีโดยใช้ Scroll Bars

Private Sub Form_Load() lblRed.Caption = "Red = " & HScRed.Value lblGreen.Caption = "Green = " & HScGreen.Value lblBlue.Caption = "Blue = " & HScBlue.Value lblShow.BackColor=RGB(0,0,0) lblshow.ForeColor=RGB(255,255,255) End Sub

Private Sub HScRed_Change() lblShow.BackColor = RGB(HScRed.Value, _ HScGreen.Value, HScBlueValue) lblShow.ForeColor = RGB(255 - HScRed.Value, _ 255 - HScGreen.Value, 255 - HScBlue.Value) lblRed.Caption = "Red = " & HScRed.Value End Sub และเหตุการณ์ Scroll

Private Sub HScGreen_Change() lblShow.BackColor = RGB(HScRed.Value, _ HScGreen.Value, HScBlue.Value) lblShow.ForeColor = RGB(255 - HScRed.Value, _ 255 - HScGreenValue, 255 – HScBlue.Value) lblGreen.Caption = "Green = " & HScGreen.Value End Sub

Private Sub HScBlue_Change() lblShow.BackColor = RGB(HScRed.Value, _ HScGreen.Value, HScBlue.Value) lblShow.ForeColor = RGB(255 - HScRed.Value, _ 255 - HScGreen.Value, 255 - HScBlue.Value) lblBlue.Caption = “Blue = " & HScBlue.Value End Sub

LOOP

For…Next Statement For ตัวแปร = ค่าเริ่มต้น To ค่าสุดท้าย [ Step เพิ่ม/ลดค่าตัวแปร ] statement… Next ค่าตัวแปร

ตัวอย่าง For…Next Statement For I = 0 To 100 Step 2 statement… Next I

Flow-Chart for loop Statement ; . end

แสดงตัวเลข 1 ถึง 20 Private Sub Form_Click() Dim i As Integer ตัวอย่างงาน แสดงตัวเลข 1 ถึง 20 Private Sub Form_Click() Dim i As Integer For i = 1 To 20 Print i ; Next i End Sub

Do…Loop Statement Do while (เงื่อนไข) Statement : Loop Do Until (เงื่อนไข) Statement : Loop

Do…Loop Statement (ต่อ) Do Statement : Loop while (เงื่อนไข) Do Statement : Loop Until (เงื่อนไข)

Flow-Chart (Do While) condition True False Statement ; . end

Flow-Chart (Do…Until) Statement ; . condition False True

แสดงตัวเลข 1 ถึง 20 ตัวอย่างงาน Dim i As Integer i = 1 i = 1 Private Sub Form_Click() Dim i As Integer i = 1 Do While (i <= 20) Print i i = i + 1 Loop End Sub Private Sub Form_Click() Dim i As Integer i = 1 Do Print i i = i + 1 Loop Until (i > 20) End Sub 152

แสดงตัวเลข 10 ลงไปหา 1 ตัวอย่างงาน Dim i As Integer i = 10 Private Sub Form_Click() Dim i As Integer i = 10 Do While (i >= 1) Print i i = i - 1 Loop End Sub Private Sub Form_Click() Dim i As Integer i = 10 Do Print i i = i - 1 Loop Until (i = 0) End Sub

While (เงื่อนไข) statements : Wend While…Wend Statement While (เงื่อนไข) statements : Wend

แสดงตัวเลข 10 ลงไปหา 1 Private Sub Form_Click() Dim i As Integer ตัวอย่างงาน แสดงตัวเลข 10 ลงไปหา 1 Private Sub Form_Click() Dim i As Integer i = 10 While i > 0 Print i i = i - 1 Wend End Sub

List Box (properties) Name Sorted Columns Style List Standard ListIndex Text ListCount Sorted Style Standard Checkbox 156

ตัวอย่าง List Box

List1.AddItem “รายการ”, index Method List1.AddItem “รายการ”, index List1.RemoveItem index List1.Clear

With …End With Statement With Object_Name .Properties = Value .Method End With

Goto Statement Goto label Statement… label : Sub Command1_Click() GoTo aa Label1.Caption = “VB" aa: Label1.Caption = "Siam” End Sub

On Error Goto… On Error Goto label Statement… label :

On Error Resume Next On Error Resume Next Statement…

คำสั่งการทำงานต่อเนื่อง Resume :ทำงานซ้ำบรรทัดที่เกิด Error ขึ้น Resume Next : ทำงานบรรทัดถัด จากบรรทัดที่เกิด Error ขึ้น

Error Object เป็น Object ที่จัดเก็บข้อผิดพลาดที่ เกิดขึ้นในโปรแกรมขณะ Run Time รูปแบบ Err.Properties

Properties Number Description

On…Goto & On…GoSub On expression GoSub destinationlist On expression GoTo destinationlist

ตัวอย่างงาน a: Print "1" b: Print "2" End Sub Private Sub Command1_Click() Dim n As Integer n = 1 On n GoTo a, b Exit Sub a: Print "1" b: Print "2" End Sub

ตัวอย่างงาน การย้ายรายการใน List Sorted = True

Private Sub Form_Load() lstPrg.AddItem "Widows" lstPrg.AddItem "Word" lstPrg.AddItem "Excel" lstPrg.AddItem "Access" lstPrg.AddItem "Power Point" End Sub หรือ

Private Sub Form_Load() With lstPrg .AddItem "Widows" .AddItem "Word" .AddItem "Excel" .AddItem "Access" .AddItem "Power Point" End With End Sub

Private Sub lstPrg_DblClick() lstShow.AddItem lstPrg.Text lstPrg..RemoveItem lstPrg..ListIndex End Sub Private Sub lstShow_DblClick() lstPrg.AddItem lstShow.Text lstShow.RemoveItem lstShow.ListIndex

ตัวอย่างงาน การจัดการกับ List

Private Sub cmdADD_Click() If Trim(txtData.Text) <> "" Then lstInfo.AddItem txtData.Text End If txtData.Text = "" txtData.SetFocus End Sub

Private Sub cmdRemove_Click() If lstInfo.ListIndex >= 0 Then lstInfo.RemoveItem lstInfo.ListIndex lstInfo.ListIndex =0 End If End Sub Private Sub cmdClear_Click() lstInfo.Clear ' ลบข้อมูลทั้งหมด

MultiSelect=Extended ตัวอย่างงาน การย้ายข้อมูลใน List 2 List MultiSelect=Extended

Private Sub Form_Load() List1.AddItem "Pascal" List1.AddItem "Basic" List1.AddItem "C++" List1.AddItem "Delphi" List1.AddItem "Visual Basic" List1.AddItem "Visual C++" End Sub

Sub cmdMove_Click() Dim i As Integer Dim n As Integer n = List1.ListCount i = 0 Do While (i < n) If List1.Selected(i) Then List2.AddItem (List1.List(i)) List1.RemoveItem (i) Else i = i + 1 End If Loop End Sub

Private Sub cmdMoveall_Click() Dim i As Integer For i = 0 To List1.ListCount - 1 List2.AddItem List1.List(i) Next i List1.Clear End Sub

Combo Box (properties) Name Style Dropdown Combo Simple Combo Dropdown List โดยทั่วไปใช้งานเหมือน List Box

ตัวอย่างงาน การเปลี่ยนสีฟอร์มโดยใช้ Combo

ตัวอย่างงาน สีเขียวอ่อน สีม่วง สีทอง

Private Sub Form_Load() cmbColor.AddItem "Blue" cmbColor.AddItem "Green" cmbColor.AddItem “Magenta" cmbColor.AddItem "Red" cmbColor.AddItem "Yellow" End Sub

Private Sub cmbColor_Click() Select Case cmbColor.ListIndex Case 0: Me.BackColor = vbBlue Case 1: Me.BackColor = vbGreen Case 2: Me.BackColor = vbMagenta Case 3: Me.BackColor = vbRed Case 4: Me.BackColor = vbYellow End Select End Sub

ตัวแปร = InputBox(Prompt [,Title] [,Default]) Function InputBox ตัวแปร = InputBox(Prompt [,Title] [,Default]) Prompt : “ข้อความที่ต้องการแสดง” Title : “ข้อความที่แสดงที่หัวของ Box” Default : ค่าปกติที่ตั้งไว้

ตัวอย่างของ InputBox Title Prompt

ตัวอย่างงาน ตอบคำถามจาก Question แล้วแสดงว่าตอบถูกกี่ข้อ

Dim n As Integer Dim Ans As String Private Sub Form_Load() n = 0 End Sub

Private Sub cmdQuestion1_Click() Ans = InputBox("วิชานี้คือวิชา ?" & Chr(13) & _ "VB, Delphi", "Question") If LCase(Ans) = "vb" Then n = n + 1 End If cmdQuestion2.Enabled = True cmdQuestion1.Enabled = False End Sub

Private Sub cmdQuestion2_Click() Ans = InputBox("ตัวอย่างนี้ใช้ฟังก์ชันใด ?" _ & Chr(13) & "MsgBox, InputBox", "Question") If LCase(Ans) = "inputbox" Then n = n + 1 End If cmdQuestion3.Enabled = True cmdQuestion2.Enabled = False End Sub

Private Sub cmdQuestion3_Click() Ans = InputBox("ตัวแปรที่ใช้รับค่าจากฟังก์ชัน InputBox เป็นตัวแปรชนิดใด ?" & Chr(13) & _ "Integer, String", "Question") If LCase(Ans) = "string" Then n = n + 1 End If cmdQuestion3.Enabled = False lblResult.Caption = "ท่านตอบคำถามถูก " & n & " ข้อ" End Sub

DriveListBox (properties) Name Drive เช่น EditPlus Event ส่วนใหญ่ใช้ Change

DirListBox (properties) Name Path Event ส่วนใหญ่ใช้ Change

FileListBox (properties) Name Path Filename Pattern เช่น *.exe;*.xls Event ส่วนใหญ่ใช้ Click

ตัวอย่างงาน แสดงชื่อไฟล์ และ Path ของไฟล์

txtPath.Text = File1.Path txtFilename.Text = File1.FileName End Sub Sub File1_Click() txtPath.Text = File1.Path txtFilename.Text = File1.FileName End Sub Sub Drive1_Change() Dir1.Path = Drive1.Drive Sub Dir1_Change() File1.Path = Dir1.Path

Timer (properties) Name Enabled Interval Event ใช้ Timer

การทำงานกับฟังก์ชันทางวันและเวลา Now จะให้ค่าวันที่และเวลา ณ ปัจจุบัน Time จะให้ค่าเวลา ณ ปัจจุบัน

นาฬิกาดิจิตอลจาก Timer ตัวอย่างงาน นาฬิกาดิจิตอลจาก Timer 198

Private Sub Timer1_Timer() lblTime.Caption = Time End Sub

ตัวแปร Static เป็นตัวแปรที่ไม่ถูกทำลายหลังจาก จบโปรแกรมย่อย (แต่ละ Event) รูปแบบ Static Name As Data_Type

ตัวอย่างงาน นับจำนวนการกดปุ่ม

' หรือประกาศตัวแปร n เป็นแบบ Private Private Sub cmdCount_Click() Static n As Integer n = n + 1 lblShowNumber.Caption = "Count = " & n End Sub ' หรือประกาศตัวแปร n เป็นแบบ Private

ตัวอย่างงาน ตรวจสอบ Password Dim n As Integer Dim x As Integer

Private Sub cmdOK_Click() n = n + 1 If LCase(txtPassword.Text) = “dusit" Then frmCaluculate.Show ‘form ที่ต้องการแสดง Unload Me Else x = MsgBox("รหัสไม่ถูกต้อง" & Chr(13) & _ " ต้องการป้อนอีกครั้งหรือไม่", 5, "Answer")

If n < 3 And (x = 4) Then txtPassword.Text = "" txtPassword.SetFocus ElseIf x = 2 Then End Else MsgBox "ป้อนรหัสผิด 3 ครั้ง", 0, "Answer" End If End Sub

ใช้ Timer กำหนดให้ Label เคลื่อนที่ ตัวอย่างงาน ใช้ Timer กำหนดให้ Label เคลื่อนที่ คุณสมบัติของ Timer Enabled = False Interval = 510

ตัวอย่างงาน Private Sub cmdStart_Click() If cmdStart.Caption = "เริ่ม" Then Timer1.Enabled = True cmdStart.Caption = "หยุด" Else Timer1.Enabled = False cmdStart.Caption = "เริ่ม" End If End Sub

Private Sub Timer1_Timer() lblWalk.Left = lblWalk.Left + 100 End Sub

Private Sub Timer1_Timer() lblWalk.Left = lblWalk.Left + 100 If lblWalk.Left >= Me.Width Then lblWalk.Left = 0 End If End Sub

Private Sub cmdDecrease_Click() Timer1.Interval = Timer1.Interval - 50 End Sub

Private Sub cmdDecrease_Click() Timer1.Interval = Timer1.Interval - 50 If Timer1.Interval <= 10 Then cmdDecrease.Enabled = False End If End Sub

Private Sub cmdIncrease_Click() cmdDecrease.Enabled = True Timer1.Interval = Timer1.Interval + 50 End Sub

กำหนดให้ Label วิ่งรอบฟอร์ม Sub Form_Load() fac = "b" End Sub

Private Sub Timer1_Timer() If fac = "r" Then กำหนดให้ Label วิ่งรอบฟอร์ม Dim fac As String Private Sub Timer1_Timer() If fac = "r" Then lblWalk.Left = lblWalk.Left + 75 lblWalk.Top = lblWalk.Top - 50 If lblWalk.Top < 0 Then fac = "t" End If 215 215

ElseIf fac = "t" Then lblWalk.Left = lblWalk.Left + 75 lblWalk.Top = lblWalk.Top + 50 If lblWalk.Left >= Me.Width - 1000 Then fac = "l" End If

ElseIf fac = "l" Then lblWalk.Left = lblWalk.Left - 50 lblWalk.Top = lblWalk.Top + 50 If lblwalk.Top >= Me.Height - 1000 Then fac = "b" End If

ElseIf fac = "b" Then lblWalk.Left = lblWalk.Left - 50 lblWalk.Top = lblWalk.Top - 50 If lblWalk.Left < 0 Then fac = "r" End If End Sub

PictureBox (properties) Name AutoSize BorderStyle Picture ใช้ในด้านกราฟิก

ImageBox (properties) Name BorderStyle Picture Stretch ใช้แสดงรูปภาพบน Form

Method ของ Picture และ Image LoadPicture(“Directory\...\ชื่อไฟล์ ภาพ”) เช่น Image1.Picture =LoadPicture("c:\cat.jpg")

ตัวอย่างงาน เมื่อคลิกฟอร์ม ให้ทำการสลับภาพ

Sub Form_Click() Image2.Picture = Picture1.Picture Picture1.Picture = Image1.Picture Image1.Picture = Image2.Picture End Sub

ตัวอย่างงาน แสดงภาพจากไฟล์ที่เลือก

Sub Dir1_Change() File1.Path = Dir1.Path End Sub Sub Drive1_Change() Dir1.Path = Drive1.Drive

Sub File1_Click() txtPath.Text = File1.Path txtFile.Text = File1.FileName Image1.Picture = LoadPicture(File1.Path & _ "\" & File1.FileName) ' ตั้งค่าที่ Pattern ด้วย End Sub

แก้ปัญหารูปที่ Root Drive A:\ และ C:\ Sub File1_Click() txtPath.Text = File1.Path txtFile.Text = File1.FileName If File1.Path = "C:\" Or File1.Path = "a:\" Then Image1.Picture = LoadPicture(File1.Path _ & File1.FileName) Else Image1.Picture = LoadPicture(File1.Path & _ "\" & File1.FileName) End If End Sub

Line (properties) Name BorderColor BorderStyle BorderWidth X1 X2 Y1 Y2

คำสั่งในการวาดเส้นตรง line(x1,y1) – (x2,y2),Color เช่น Line (500, 200)-(2000, 1000), QBColor(11)

ตัวอย่างงาน สร้างตารางดังรูป

ตัวอย่างงาน Sub frmShowline_Click() Dim i As Integer For i = 1 To 4 Line (500, 500 * i)-(2000, 500 * i) Line (500 * i, 500)-(500 * i, 2000) Next i End Sub

Shape (properties) Name BackStyle BackColor BorderColor BorderStyle BorderWidth FillColor FillStyle Shape

ตัวอย่างงาน Random Shape

Sub cmdShow_Click() Shape1.Shape = (Rnd * 5) Shape1.FillColor = QBColor(Rnd * 15) Shape1.FillStyle = (Rnd * 7) Shape1.BorderColor = QBColor(Rnd * 15) End Sub

Circle(x,y),radius,color คำสั่งในการวาดวงกลม Circle(x,y),radius,color เช่น Circle (1000, 1000), 500

ตัวอย่างงาน วงกลมซ้อน

Sub Timer1_Timer() Dim i As Integer For i = 1 To 2000 Step 10 Circle (Me.Width \ 2, Me.Height \ 2), i, _ RGB(Rnd * 255, Rnd * 255, Rnd * 255) Next i End Sub

การทำงานกับ Event ของ Mouse MouseDown เมื่อกดปุ่มของเมาส์ MouseUp เมื่อปล่อยปุ่มของเมาส์ MouseMove เมื่อเลื่อนเมาส์

การใช้ปุ่มบน Mouse พร้อมกับ Shift ตัวแปร Button ตัวแปร Shift 1 ปุ่มซ้าย 1 กดปุ่ม Shift ร่วม 2 ปุ่มขวา 2 กดปุ่ม Ctrl ร่วม 4 ปุ่มกลาง 4 กดปุ่ม Alt ร่วม

พารามิเตอร์ของเหตุการณ์ที่เกี่ยวกับเมาส์ Private Sub ชื่อออปเจ็คต์_MouseDown( Button As Integer, _ Shift As Integer, X As Single, Y As Integer) Private Sub ชื่อออปเจ็คต์_MouseUp( Button As Integer, _ Shift As Integer, X As Single, Y As Integer) Private Sub ชื่อออปเจ็คต์_MouseMove( Button As Integer, _ Shift As Integer, X As Single, Y As Integer)

ตัวอย่างงาน การกำหนดให้ Label เคลื่อนที่ตาม Mouse

Private Sub Form_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) Me.Caption = " Value X = " & X & " Value Y = " & Y Label1.Move X, Y End Sub

ตัวอย่างงาน วาดเส้นโดยใช้ Mouse

Dim d As Boolean Dim CurrentX as Single,CurrentY as Single Sub Form_MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Single) d = True CurrentX = X CurrentY = Y End Sub

Sub Form_MouseUp(Button As Integer, _ Shift As Integer, X As Single, Y As Single) d = False End Sub

Sub Form_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) If d = True Then Line -(X, Y) ' Line Form1.CurrentX,Form1.CurrentY–(X,Y) End Sub

กดเมาส์ซ้ายค้างวาดเส้น กดเมาส์ขวาค้างวาดวงกลม Sub Form_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) If d = True Then If Button = 1 Then Line -(X, Y) Else Circle (X, Y), 100, QBColor(Rnd * 15) End If End Sub

กดเมาส์ซ้ายค้างวาดเส้น กดเมาส์ซ้ายค้างพร้อมปุ่ม Shift วาดวงกลม Sub Form_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) If d = True Then If Button = 1 And Shift = 1 Then Circle (X, Y), 100, QBColor(Rnd * 15) Else Line -(X, Y) End If End Sub

การใช้ Common Dialog เมนู Project  Components… Microsoft Common Dialog Control 6.0

Dialog Open

Dialog Font

Dialog Color

ตัวอย่างงาน การเรียกใช้ Dialog 251

Common Dialog (properties) Name Action DialogTitle Filter FilterIndex Flags InitiDir CancelError

Common Dialog (properties) (ต่อ) FileName FontName FontSize FontBold FontItalic FontStrikethru FontUnderline Color

Common Dialog (Method) ShowOpen ShowSave ShowColor ShowPrinter ShowFont ShowHelp

ตัวอย่างการใช้ Filter .Filter= "All Files (*.*)|*.*" .Filter= "All Files (*.*)|*.*|Text Files (*.txt)|*.txt" "All Pictures (*.bmp;*.gif;*.jpg)|*.bmp;*.gif;*.jpg" FilterIndex = 2

การเรียกใช้ Dialog Open Private Sub cmdShowOpen_Click() dlg1.Flags = cdlOFNHideReadOnly dlg1.Filter = "All Files (*.*)|*.*|Text Files" & _ "(*.txt)|*.txt" dlg1.FilterIndex = 2 dlg1.ShowOpen MsgBox dlg1.FileName End Sub

การเรียกใช้ Dialog Color Private Sub cmdShowColor_Click() dlg1.Flags = cdlCCRGBInit dlg1.ShowColor Label1.ForeColor = dlg1.Color End Sub

การเรียกใช้ Dialog Font Private Sub cmdShowFont_Click() dlg1.Flags = cdlCFBoth dlg1.ShowFont lblShow.FontName=dlg1.FontName lblShow.FontSize=dlg1.FontSize lblShow.FontBold=dlg1.FontBold lblShow.FontItalic=dlg1.FontItalic End Sub

Private Sub cmdExit_Click() End End Sub

การเรียกใช้ Dialog Save Private Sub cmdShowSave_Click() dlg1.Flags = cdlOFNHideReadOnly dlg1.Filter = "All Files (*.*)|*.*|Text Files" & _ "(*.txt)|*.txt" dlg1.FilterIndex = 2 dlg1.ShowSave MsgBox dlg1.FileName End Sub

การเรียกใช้ Dialog Print Private Sub cmdShowPrinter_Click() dlg1.ShowPrinter End Sub

การเรียกใช้ Dialog Help Private Sub cmdShowHelp_Click() dlg1.HelpFile = _ "c:\windows\help\winhlp32.hlp" dlg1.HelpCommand =cdlHelpContents dlg1.ShowHelp End Sub

Multiple Document Interface MDI Form Multiple Document Interface สร้าง MDI Form Project  Add MDI Form เลือก MDI Form Open

ตัวอย่างงาน การใช้งาน MDI Form MDI Form MDI Child Form

การกำหนดฟอร์มลูกของ MDI Form ให้กำหนด Properties  MDIChild ของฟอร์มลูกเป็น True

การสร้างเมนู (Menu) Tools Menu Editor... Caption : ข้อความที่จะแสดงเป็นเมนู Name : กำหนดชื่อเมนู คลิกปุ่ม : เพื่อกำหนดเมนูย่อย ** สร้างได้ 6 ระดับ

ตัวอย่างงาน สร้างเมนูดังรูป

เมนูไฟล์ Caption Name &File mnufile Openform1 mnuform1 - mnuline Exit mnuexit

เมนู Font Caption Name &Font mnufont 10 mnu10 12 mnu12 15 mnu15 Color mnucolor Red mnured Green mnugreen Blue mnublue

การเขียนคำสั่งใน Menu Sub mnuform1_Click() Form1.Show End Sub Sub mnuform2_Click() Form2.Show Sub mnuexit_Click() End End Sub

สร้าง MDI Form และเมนู ดังรูป

กำหนดให้ คุณสมบัติของ Form1 และ Form2

ดูความแตกต่างระหว่างฟอร์ม 2 และ 3 Sub mnuform1_Click() Form1.Show End Sub Sub mnuform2_Click() Form2.Show Sub mnuform3_Click() Form3.Show End Sub Sub mnuexit_Click() End

Popup Menu Tools Menu Editor... กำหนดรายการเมนูเหมือนการสร้าง เมนู โดยรายการหลักให้ ยกเลิก Visible ออก

สร้าง Popmenu ตัวอย่างงาน Caption Name popup mnupopup Cut mnucut Copy mnucopy Paste mnupaste Visible=False

การเรียกใช้งาน Popup Menu Popupmenu PopupMenu_Name เช่น PopupMenu mnupopup

การกำหนดให้ popup menu แสดงเมื่อคลิกเมาส์ขวา Private Sub Form_MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu mnupopup End If End Sub

โปรแกรมย่อย (Procedure) Sub (Sub Program) Function

Sub Program Sub ชื่อโปรแกรมย่อย (parameter) Statement : End Sub

ขอบเขตของ Sub Program Private Sub ชื่อโปรแกรมย่อย (parameter) เป็นโปรแกรมที่ใช้ได้ใน Form นั้นๆ Public Sub ชื่อโปรแกรมย่อย (parameter) เป็นโปรแกรมที่ใช้ได้ในทุกๆ Form Sub ชื่อโปรแกรมย่อย (parameter) เหมือนกับ Public Sub

การเรียกใช้ Sub Program Call ชื่อโปรแกรมย่อย(ค่าที่ส่ง) หรือ ชื่อโปรแกรมย่อย(ค่าที่ส่ง)

ตัวอย่างงาน Sub Program แบบไม่มี Parameter

Sub Color() lblShow.BackColor = RGB(HScroll1.Value, _ HScroll2.Value, HScroll3.Value) lblShow.ForeColor = RGB(255 - HScroll1.Value, _ 255 - HScroll2.Value, 255 - HScroll3.Value) End Sub

Private Sub HScRed_Change() Call Color lblRed.Caption = "Red = " & HScRed.Value End Sub Private Sub HScGreen_Change() lblGreen.Caption = "Green = " & HScGreen.Value

Private Sub HScBlue_Change() Call Color lblBlue.Caption = “BLUE = " & HScBlue.Value End Sub

ตัวอย่างงาน Sub Program แบบมี Parameter

Sub table(r As Integer, c As Integer) Dim i As Integer For i = 1 To r + 1 Line (500, 500 * i)-(500 * (c + 1), 500 * i) Next i For i = 1 To c + 1 Line (500 * i, 500)-(500 * i, 500 * (r + 1)) End Sub

Private Sub cmdTable_Click() Me.Cls Call table(Val(txtRow.Text), Val(txtCol.Text)) txtRow.Text = "" txtCol.Text = "" txtRow.SetFocus End Sub

Function Function ชื่อ function (parameter) As datatype Statement : End Function

ตัวแปร หรือ Object = ชื่อ Function(ส่งค่า Parameter)

ตัวอย่างงาน การหาค่า Factorial

Function Fac(n As Integer) As Long If n = 1 Then Fac = 1 Else Fac = n * Fac(n - 1) End If End Function

Private Sub cmdFac_Click() Dim data As Long data = Fac(Val(txtNumber.Text)) lblResult.Caption = txtNumber.Text & " != " & data txtNumber.Text = "" txtNumber.SetFocus End Sub

การประกาศตัวแปร Array Dim ชื่อตัวแปร(UpperBound) As Type เช่น Dim Cost(5) As Integer Cost(0) = 20 Cost(5) = val(Text1.Text)

การประกาศตัวแปร Array Dim ชื่อตัวแปร(LBound To UBound) As Type เช่น Dim Score(1 To 4) As Integer Dim Name(97 To 100) As String

Object แบบ Array ถ้าต้องการใช้ Object แบบ Array ให้ทำการคัดลอก Object

ตัวอย่างงาน หาค่าเฉลี่ยโดยใช้ Array คัดลอก Text1 อีก 2 ตัว

Private Sub cmdAverage_Click() Dim n(2) As Integer Dim i As Integer Dim sum As Integer sum = 0 For i = 0 To 2 n(i) = Val(txtNum(i).Text) sum = sum + n(i) Next i lblResult.Caption = "Average = " & sum / 3 End Sub

การทำงานกับฐานข้อมูล 299

Data Control (properties) Name Caption Connect DatabaseName RecordSource

Method ของ Record Set AddNew Update CancelUpdate Delete Refresh

Method ของ Record Set MoveFirst MoveLast MoveNext MovePrevious FindFirst FindLast FindNext FindPrevious

การกำหนดให้ Object อ้างข้อมูลในฐานข้อมูลได้ กำหนดคุณสมบัติ DataSource DataField

การเขียนคำสั่งโปรแกรมกับ Data Control การย้ายไปยังเรคคอร์ดต่างๆ ใน ReccordSet MoveFirst ย้ายไปยังเรคคอร์ดแรก MoveLast ย้ายไปยังเรคคอร์ดสุดท้าย MoveNext ย้ายไปยังเรคคอร์ดถัดไป MovePrevious ย้ายไปยังเรคคอร์ดก่อนหน้า Move ย้ายไปยังเรคคอร์ดที่ระบุ

การเขียนคำสั่งโปรแกรมกับ Data Control การค้นหาข้อมูลใน ReccordSet FindFirst ค้นหาเรคคอร์ดแรกที่ตรงกับเงื่อนไข FindLast ค้นหาเรคคอร์ดสุดท้ายที่ตรงกับเงื่อนไข FindNext ค้นหาเรคคอร์ดถัดไปที่ตรงกับเงื่อนไข FindPrevious ค้นหาเรคคอร์ดก่อนหน้าที่ตรงกับเงื่อนไข

แสดงข้อมูลจากฐานข้อมูลที่สร้างขึ้น ตัวอย่างงาน แสดงข้อมูลจากฐานข้อมูลที่สร้างขึ้น Data1 กำหนด DatabaseName และ RecordSource Text กำหนด DataSource และ DataField

Private Sub cmdAdd_Click() ' ปุ่ม Add Data1.Recordset.AddNew txtId.SetFocus cmdOK.Visible = True cmdADD.Visible = False End Sub

Private Sub cmdOK_Click() 'ปุ่ม OK Data1.Recordset.Update cmdADD.Visible = True cmdOK.Visible = False End Sub เมื่อทำการรันให้ ปุ่ม OK ซ้อนปุ่ม Add

Private Sub cmdDelete_Click() 'ปุ่ม Delete X = MsgBox("Delete " & Text2.Text & _ " Yes or No ?", 1, "Check Data") If X = 1 Then Data1.Recordset.Delete Data1.Recordset.MoveFirst End If End Sub

Private Sub cmdFind_Click() 'ปุ่ม Find Dim str As String str = "id='" & txtEnID.Text & "'" Data1.Recordset.FindFirst str If Data1.Recordset.NoMatch Then MsgBox "Data Not Found" End If txtEnID.Text = "" txtEnID.SetFocus End Sub

' ให้ใส่ตำแหน่งที่มีอยู่ใน Database Private Sub Form_Load() cmbPosition.AddItem "Manager" cmbPosition.AddItem "Saleman" cmbPosition.AddItem “Reception" End Sub

Dim t As String Private Sub cmdFind1_Click() 'ปุ่ม Find If optName.Value = True Then t = "name='" & txtFindName.Text & "'" ElseIf optSex.Value = True Then If optMale.Value = True Then t = "sex='f‘ " Else t = "sex='m‘ " End If

ต่อปุ่ม Find ElseIf optPosition.Value = True Then t = "position='" & cmbPostion.Text & "'" End If Data1.Recordset.FindFirst t If Data1.Recordset.NoMatch Then MsgBox "Data Not Found", 16 End Sub

Private Sub cmdFindNext_Click() 'ปุ่ม FindNext Data1.Recordset.FindNext t If Data1.Recordset.NoMatch Then MsgBox "End of Data", 32 End If End Sub

ตัวอย่างงาน ป้อน user name และ password เพื่อเข้าไปใช้ Database ถ้าป้อน admin และ password = dusit สามารถใช้ Database ได้ครบ ถ้าป้อน user และ password = sitd สามารถใช้ Database บางส่วน

Private Sub cmdOK_Click() If txtUser.Text = "admin" And txtPass.Text = “dusit" Then Form35.Visible = True Form36.Visible = False ElseIf txtUser.Text = "user" And txtPass.Text = "masi" Then Form35.Command1.Visible = False Form35.Command3.Visible = False

Else MsgBox "Password or User name not Correct", 16 txtUser.SetFocus txtUser.SelStart = 0 txtUser.SelLength = Len(Text1.Text) txtPass.Text = "" End If End Sub Sub cmdCancel_Click() End End Sub

จบบทเรียน 319