คําสั่ง หมายถึง คําสั่งโดยทั่วไปที่ใช้ในการเขียนโปรแกรม เช่น กลุ่มคําสั่งในการกระโดดข้ามไปทํางานยังบรรทัดที่ต้องการ (Branching) กลุ่มคําสั่งในการวนรอบการทํางาน (Iteration) และกลุ่มคําสั่งเงื่อนไข (Condition)
4.1 การควบคุมการทํางานของโปรแกรม
4.1.1 Iteration เป็นคําสั่งที่ใช้ในการทําซ้ํา มีอยู่ด้วยกัน 3 รูปแบบคือ คําสั่ง For…Next, Do…Loop และ While… End ซึ่งแต่ละแบบก็จะมีลักษณะการทํางานที่ซ้ําที่แตกต่างกันไป
1) For...Next
การทําซ้ําในแบบ Block โดยกําหนดค่าเริ่มต้น และค่าสิ้นสุด ที่ใช้ควบคุมจํานวนครั้งของ
การทําซ้ํา ซึ่งถูกควบคุมโดยตัวนับ (Counter) ตัวนับนี้จะถูกกําหนดให้มีค่าเท่ากับค่าเริ่มต้น และจะถูกเปลี่ยนแปลงค่าทุกครั้งในแต่ละรอบของการทําซ้ำ จนกระทั่งค่าของตัวนับมีค่าเกินค่าสิ้นสุดที่กําหนดไว้ ก็จะออกจาก Block การทําซ้ํา เพื่อทํางานในบรรทัดถัดไป
ตัวอย่างที่ 4.1 For..next โปรแกรมบวกเลขตั้งแต่ 1 ถึง 10
2) Do…Loop
มีรูปแบบอยู่ 4 แบบ แบ่งตามลักษณะเงื่อนไขการจบของ Loop ดังนี้ Do While, Do
Until และ Loop Until ทั้ง 4 แบบนี้จะทําซ้ําไปเรื่อยๆ จนกว่าเงื่อนไขที่ใช้ควบคุมมีค่าเป็น False
ขั้นตอนการทํางานของทั้ง 4 แบบแสดงด้วย Flow Chart ได้ดังนี้
ตัวอย่างที่ 4.2 การใช้ Do While ..Loop
ตัวอย่างที่ 4.3 การใช้ Do Until ..Loop
3) Conditional การกําหนดเงื่อนไข
ใช้กําหนดให้กลุ่มคําสั่งภายใต้เงื่อนไขทํางาน เมื่อเงื่อนไขที่ใช้ควบคุมเป็นจริงหรือเป็นเท็จ
คําสั่งเหล่านี้ได้แก่ If … Then…Else และ Select Case … End Select
ตัวอย่างที่ 4.4 การใช้ if ….then หรือ select case
4.2 ฟังก์ชัน
1) ฟังก์ชั่น Str แปลงตัวเลขให้เป็นตัวอักษร เช่น
2) ฟังก์ชั่น ตัดคําใน String ได้แก่ Left, Mid ,Right
ตัวอย่างที่ 4.5 แสดงข้อความใน text1 เฉพาะ3 หลักซ้าย และ 2 หลักขวา
3) ฟังก์ชั่น Asc และ Chr ใช้ในการดูค่ารหัส ASCII
ตัวอย่างที่ 4.6 แสดงรหัส Ascii เมื่อกด key ใดๆ
4) การตัดช่องว่างใน String ทิ้ง
ฟังก์ชันที่ใช้ในการตัดช่องว่างใน String ทิ้ง ประกอบด้วย Ltrim$ หรือ Ltrim, Trim และ Rtrim
A = “ Hello ”
B = Ltrim(A) ตัดช่องว่างทางซ้าย ได้ผลลัพธ์เป็น “Hello “
C = Rtrim(A) ตัดช่องว่างทางขวา ได้ผลลัพธ์เป็น “ Hello”
D = Trim(A) ตัดช่องว่างทั้งซ้ายและขวา ได้ผลลัพธ์เป็น “Hello”
5) การแปลงขนาดของตัวอักษรใน String โดยใช้ Lcase หรือ Ucase
A = “Hello”
B = Lcase(A) แปลงจากตัวพิมพ์ใหญ่ -> เล็ก ได้ผลลัพธ์เป็น “hello”
D = Ucase(B) แปลงจากตัวพิมพ์เล็ก->ใหญ่ ได้ผลลัพธ์เป็น “HELLO”
6) ฟังก์ชันที่แปลง String ไปเป็น Numeric
รูปแบบ : val(...)
ตัวอย่าง : val(text1.text) -> แปลงค่าใน text1 ให้เป็น ตัวเลข
7) ฟังก์ชัน Len
ใช้สําหรับนับจํานวนของตัวอักขระ โดยจะคืนค่าจํานวนอักขระเป็นตัวเลขที่ใช้ในการคํานวณได้
รูปแบบ : Len(String)
ตัวอย่าง : A = “Hello”
B = Len(A) -> ผลลัพธ์ที่ได้ คือ B = 5
C = Len(“Visual”) -> ผลลัพธ์ที่ได้คือ C = 6
8) ฟังก์ชันปัดเศษ
ใช้ปัดเศษของตัวเลขที่กําหนด
รูปแบบ : Round(expression[, numdecimalplaces])
ตัวอย่าง : Round(45.528,2) หรือ Round(text1.text,2)
9) การแปลงชนิดของตัวแปร
- ใช้สําหรับแปลงค่าของตัวแปร ซึ่งเก็บอยู่ในรูปแบบหนึ่งไปเก็บอยู่ในตัวแปรอีกรูปแบบหนึ่ง โดยยังคงค่าในตัวแปรนั้นไว้เช่นเดิม
- เช่น แปลงจากตัวแปรแบบ Double ไปเป็นแบบ Currency หรือแปลงจากตัวแปรแบบ Integer ไปเป็นตัวแปรแบบ Double เป็นต้น
Ccur | CCur(expression) | แปลงค่า expressionให้อยู่ในรูป Currency |
CDbl | CDbl(expression) | แปลงค่า expressionให้อยู่ในรูป Double |
CInt | CInt(expression) | แปลงค่า expressionให้อยู่ในรูป Integer |
CLng | CLng(expression) | แปลงค่า expressionให้อยู่ในรูป Long |
CSng | CSng(expression) | แปลงค่า expressionให้อยู่ในรูป Single |
CStr | CStr(expression) | แปลงค่า expressionให้อยู่ในรูป String |
Cvar | Cvar(expression) | แปลงค่า expressionให้อยู่ในรูป Variant |
CBool | CBool(expression) | แปลงค่า expressionให้อยู่ในรูป Boolean |
CByte | CByte(expression) | แปลงค่า expressionให้อยู่ในรูป Byte |
CDec | CDec(expression) | แปลงค่า expressionให้อยู่ในรูป Decimal |
10) ฟังก์ชัน CVDate และ CDate
- ใช้สําหรับแปลงวันที่จาก String หรือตัวเลขให้อยู่ในรูปของ Date
- CVDate จะคืนค่าข้อมูลกลับมาเป็นประเภท Variant
- CDate จะคืนค่าข้อมูลกลับมาเป็นประเภท Date
รูปแบบ :
CDate(string หรือตัวเลข)
CVDate(string หรือตัวเลข)
11) คําสั่งและฟังก์ชั่น Date, Date$
- ฟังก์ชัน Date$ จะคืนค่ากลับมาเป็นวันที่ในรูปของ String (10 ตัวอักษร)ในรูปแบบ mm-dd-yyy
- ฟังก์ชัน Date จะคืนค่ากลับมาเป็นวันที่ในรูปของ Date แต่ในกรณีที่นําฟังก์ชัน Date ไปใช้กับ
textbox มันจะถูกแปลงให้อยู่ในรูปแบบ m/d/yy โดยอัตโนมัติ
12) ฟังก์ชัน DateSerial
ใช้สําหรับแปลงค่าที่เป็น ตัวเลข Date
รูปแบบ : DateSerial(year,month,day)
โดยที่
year หมายถึง ตัวเลขที่มีค่าระหว่าง 10-9999
month 1-12
day 1-31
ตัวอย่าง : dateserial(2003,11,10)
13) ฟังก์ชัน DateValue
ใช้แปลงค่าที่เป็น String Date
รูปแบบ : DateValue(date)
ตัวอย่าง : datevalue(“25/10/03”)
14) ฟังก์ชัน WeekDay, Day, Month และ Year
A = Year(Date)
B = Month(Date)
C = Day(Date)
D = WeekDay(Date)
15) คําสั่งและฟังก์ชัน Time, Time$
- Time คืนค่าในรูปของ time
A จะมีค่าเป็น 2003 (วันที่ปัจจุบันเป็น 12/11/2003)
B จะมีค่าเป็น 11
C จะมีค่าเป็น 12
D จะมีค่าเป็น 5 (วันพุธ)
- Time$ คืนค่ากลับมาเป็นเวลาในรูปของ String (8 ตัวอักษร)
16) ฟังก์ชัน TimeSerial
ใช้สําหรับแปลงค่าที่เป็นตัวเลข เวลา
รูปแบบ : TimeSerial(hour, minute , second)
โดยที่ hour หมายถึง ตัวเลขที่มีค่าระหว่าง 0-23
minute หมายถึง ตัวเลขที่มีค่าระหว่าง 0-59
second หมายถึง ตัวเลขที่มีค่าระหว่าง 0-59
17) ฟังก์ชัน TimeValue
ใช้สําหรับแปลงค่าที่เป็น String เวลา
รูปแบบ : TimeValue(time)
โดยที่ time จะหมายถึงเวลาที่อยู่ในรูปแบบของ String เช่น “3:05”, “3:05:20”, “3:05 pm”
18) ฟังก์ชัน Hour, Minute และ Second
รูปแบบ : Hour (time) | Minute (time) | second (time)
โดยที่ Time หมายถึง เวลาที่อยู่ในรูปแบบของ Date เช่น
A = Hour(Time)
B = Minute(Time)
C = Second
A จะมีค่าเป็น 10 (เวลาปัจจุบันเป็น 10:15:29)
B จะมีค่าเป็น 15
C จะมีค่าเป็น 29
หมายเหตุ : ค่าที่ปรากฏในวงเล็บของทั้ง 3 ฟังก์ชัน คือ เวลา ซึ่งในที่นี้ฟังก์ชัน Time เพื่อบอกเวลาปัจจุบัน
19) ฟังก์ชัน Now
ใช้สําหรับแสดงค่าของวันและเวลาปัจจุบันในรูปแบบของ Date เช่น text1.text = now
20) ฟังก์ชั่น Format( )
เป็นฟังก์ชั่นที่ใช้ในการแสดงผลตัวเลขในรูปแบบต่างๆ โดยมีรูปแบบที่นิยมใช้งานดังนี้
รูปแบบ : Format(ข้อมูลที่แสดงผล , “สัญลักษณ์รูปแบบการแสดงผล”)
สัญลักษณ์แสดงผล | รายละเอียด |
0 | ใช้ แทนด้วย 0 ในกรณีที่ต้องการให้หลักที่ไม่มีตัวเลขเป็น 0 |
# | ใช้กําหนดแทนการแสดงผลด้วยตัวเลขทั่วไป |
. | ใช้กําหนดตําแหน่งที่ต้องการแสดงจุดทศนิยม |
, | ใช้กําหนดเครื่องหมายจุลภาคคั่น |
: | แสดง : สําหรับค่าเวลา (ใช้ hh:mm:ss แทนชั่วโมง นาที และวินาที) |
/ | แสดง / สําหรับค่าวันที่ |
General Number | แสดงตัวเลขทั่วไปโดยไม่มีเครื่องหมายจุลภาค |
Currency | แสดงตัวเลขในทางการเงินโดยมีเครื่องหมายจุลภาคและจะมีทศนิยมได้ตามที่กําหนดไว้ใน Control Panel |
Fixed | แสดงตัวเลขโดยไม่มีจุลภาคและมีทศนิยมสองตําแหน่ง |
ตัวอย่างที่ 4.7 การใช้ฟังก์ชั่น format
21) ฟังก์ชั่น Msgbox( )
Private Sub Cmd1_Click()
X = Text1.Text
Label4.Caption = Format(X, "#,###.00")
End Sub
Private Sub Form_Load()
Label7.Caption = "วันที่ " & Format(Date, "long date")
End Sub
Function Msgbox หรือ Message box เป็นคําสั่งและ Function ที่เรียกใช้ Dialog box ของ
windows ขึ้นมาเพื่อแสดงข้อความและโต้ตอบกับผู้ใช้
รูปแบบ : Msgbox(“ข้อความ”,[buttons],[title])
โดยที่ buttons คือรูปแบบของปุ่มที่จะปรากฎขึ้นมาโต้ตอบและสัญลักษณ์ที่แสดงขึ้นมา
title คือ ข้อความที่ปรากฏอยู่ใน Title Bar
ค่าของ buttons มีดังนี้
ค่าคงที่ | ค่าตัวเลข | รายละเอียด |
VbOKOnly | 0 | แสดงปุ่ม OK |
VbOKCancel | 1 | แสดงปุ่ม OK และ Cancel |
VbAbortRetryLgnore | 2 | แสดงปุ่ม Abort Retry และ Ignore |
VbYesNoCancel | 3 | แสดงปุ่ม Yes No และ Cancel |
VbYesNo | 4 | แสดงปุ่ม Yes และ No |
VbRetryCancel | 5 | แสดงปุ่ม Retry และ Cancel |
VbCritical | 16 | แสดง Icon Critical Message |
VbQuestion | 32 | แสดง Icon Warning Query |
VbExclamatin | 48 | แสดง Icon Warning Message |
VbInformation | 64 | แสดง Icon Information Message |
VbDefaulbutton1 | 0 | กําหนดให้ปุ่มแรกมีค่าเป็นปุ่ม Default |
VbDefaulbutton2 | 256 | กําหนดให้ปุ่มที่สองมีค่าเป็นปุ่ม Default |
VbDefaulbutton3 | 512 | กําหนดให้ปุ่มที่สามมีค่าเป็นปุ่ม Default |
เช่น หากใช้คําสั่ง Msgbox “กรุณาตรวจสอบความถูกต้องของข้อมูล”,52,”โปรดยืนยัน” จะแสดง Dialog
box ได้ดังรูป
สําหรับค่า 52 มาจาก 4+48 หรืออาจเขียนแทนด้วย VbYesNo+VbExclamation แทนได้ ในกรณีที่
ผู้เขียนโปรแกรมต้องการควบคุมการทํางานหลังจากที่ได้คลิกที่ปุ่มต่างๆ จะต้องใช้ Function Msgbox โดยใช้เงื่อนไขตรวจสอบการคืนค่าของ Function Msgbox มีวิธีดังต่อไปนี้
การคืนค่าของ Function Msgbox
ในกรณีของการเขียนโปรแกรมควบคุม เมื่อผู้ใช้คลิกที่ปุ่มใดๆ ต้องการส่งผลที่แตกต่างกันในการทํางาน
จะต้องตรวจสอบการคืนค่าโดยใช้ตารางการคืนค่า Msgbox ดังตารางต่อไปนี้
ค่าคงที่ | ค่าตัวเลข | รายละเอียด |
VbOk | 1 | เมื่อปุ่ม OK ถูกคลิก |
VbCancel | 2 | เมื่อปุ่ม Cancel ถูกคลิก |
VbAbort | 3 | เมื่อปุ่ม Abort ถูกคลิก |
VbRetry | 4 | เมื่อปุ่ม Retry ถูกคลิก |
VbIgnore | 5 | เมื่อปุ่ม Ignore ถูกคลิก |
VbYes | 6 | เมื่อปุ่ม Yes ถูกคลิก |
VbNo | 7 | เมื่อปุ่ม No ถูกคลิก |
เช่น
If Msgbox (“ต้องการเลิกการทํางาน ?”,52,”โปรดยืนยัน”) = 6 Then
Unload Me
Endif
ไม่มีความคิดเห็น:
แสดงความคิดเห็น