Private <biến> [ As <kiểu dữ liệu> ]
Biến Private chỉ được dùng trong các thủ tục hoặc hàm trong cùng một mô-đun.
Trong cấp độ mô-đun, từ khoá Dim tương đương với từ khoá Private.
Từ khoá Option Explicit
Ngôn ngữ Visual Basic cho phép có thể không cần khai báo biến trước khi sử dụng. Tuy nhiên để chương trình được rò ràng và tránh lỗi, chúng ta nên khai báo biến trước khi sử dụng. Để bắt buộc người lập trình phải khai báo biến trước khi sử dụng, chúng ta dùng từ khoá Option Explicit trong phần khai báo của mô-đun.
Hình 2.3. Khai báo Option Explicit trong cửa sổ lệnh
Từ khoá Static
Chúng ta đã biết rằng biến được khai báo ở cấp độ thủ tục thì chỉ có phạm vi hoạt động ở trong thủ tục hoặc hàm nơi nó được khai báo, sau mỗi lần gọi thủ tục hoặc hàm, khi thoát khỏi thủ tục hoặc hàm thì biến sẽ không còn giá trị. Muốn duy trì giá trị của biến sau mỗi lần gọi thủ tục hoặc hàm, thì chúng ta phải sử dụng khai báo Static.
Cú pháp:
Static <biến> [ As <kiểu dữ liệu> ]
Ví dụ:
Viết một hàm lưu giá trị tổng như sau:
Function LuuTong (n) Static S
S = S + n
LuuTong = S End Function
Với đoạn chương trình trên, sau mỗi lần gọi hàm LuuTong, biến S vẫn giữ lại giá trị của nó.
Nếu ta viết:
Static Function LuuTong (n) Dim S
S = S + n T = Abs(S)
LuuTong = S End Function
Khi đó tất cả các biến được khai báo trong hàm LuuTong đều là Static,dù cho chúng được khai báo là Private, là Dim hay thậm chí là khai báo ngầm. Khai báo ngầm là không cần khai báo tường minh trước khi sử dụng biến. Trong ví dụ trên biến T là biến được khai báo ngầm.
2.6. Hằng
Hằng dùng để chứa dữ liệu tạm thời nhưng không thay đổi trong suốt thời gian chương trình hoạt động. Sử dụng hàm làm cho chương trình sáng sủa dễ đọc nhờ những tên gợi nhớ thay vì các con số. Cú pháp khai báo hằng như sau:
[ Public | Private ] Const <tên hằng> [ As <kiểu dữ liệu> ] = <biểu thức>
Ví dụ:
Const PI = 3.141593
Const NgaySinh As Date = #4/4/2002#
Có thể khai báo nhiều hằng trên cùng một hàng, phân cách nhau bằng dấu phẩu. Cũng có thể dùng từ khoá Public để khai báo một hằng Public. Một hằng Public có thể được dùng trong mọi thủ tục hoặc hàm của dự án (project). Nếu một hằng Public được khai báo trong một Standard Module hay Class Module thì nó sẽ có tác dụng trong mọi project mà có tham khảo đến project chứa hằng Public này.
Chúng ta có thể dùng từ khoá Private để khai báo một hằng Private. Hằng Private chỉ được dùng trong các thủ tục hoặc hàm trong cùng một mô-đun.
2.7. Toán tử
2.7.1. Các phép toán số học
Phép đổi dấu -
Phép cộng +
Phép trừ hai toán hạng –
Phép nhân *
Phép chia /
Phép chia lấy phần nguyên
Phép lấy số dư của phép chia 2 số nguyên “Mod”
Phép tính luỹ thừa ^
Thứ tự ưu tiên của các phép toán:
Phép tính luỹ thừa
Phép đổi dấu
Phép nhân và phép chia
Phép chia lấy phần nguyên
Phép lấy số dư
Phép cộng và phép trừ
2.7.2. Các phép toán quan hệ (hay phép so sánh)
Ý nghĩa | |
= | So sánh bằng nhau |
< | So sánh nhỏ hơn |
<= | So sánh nhỏ hơn hoặc bằng |
< > | So sánh khác nhau |
> | So sánh lớn hơn |
>= | So sánh lớn hơn hoặc bằng |
Có thể bạn quan tâm!
- Các Thao Tác Cơ Bản Với Các Đối Tượng Trên Form
- Thuộc Tính, Phương Thức Và Sự Kiện
- Lập trình Window - 5
- Ngăn Cách Các Câu Lệnh Trên Một Dòng
- Tham Số Và Việc Truyền Tham Số Cho Chương Trình Con
- Lập trình Window - 9
Xem toàn bộ 248 trang tài liệu này.
2.7.3. Các phép toán logic
Phép “phủ định” Not:
Not A | |
True | False |
False | True |
Phép “và” And, phép “hoặc” Or:
B | A and B | A or B | |
True | True | True | True |
True | False | False | True |
False | True | False | True |
False | False | False | False |
2.8. Một số hàm chuẩn
2.8.1. Hàm đại số
(1) Hàm Abs (x): Hàm trả về giá trị tuyệt đối của x.
(2) Hàm Sin(x): Hàm tính giá trị sin x của góc x đo bằng Radian.
(3) Hàm Cos(x): Hàm tính giá trị cos x của góc x đo bằng Radian.
(4) Hàm Tan(x): Hàm tính giá trị tg x của góc x đo bằng Radian.
(5) Hàm Atn(x): Hàm tính giá trị arctg x của x.
(6) Hàm Int(x): Hàm trả về phần nguyên của x. Nếu x là số âm thì sẽ trả về phần nguyên có giá trị nhỏ hơn phần nguyên 1 đơn vị.
Ví dụ:
Int(-1.2) sẽ cho kết quả là -2
(7) Hàm Fix(x): Hàm trả về phần nguyên của x.
Ví dụ:
Fix(-1.2) cho kết quả là -1
(8) Hàm Sgn(x): Hàm trả về một số nguyên:
- Nếu x > 0 thì trả về giá trị là 1
- Nếu x = 0 thì trả về giá trị là 0
- Nếu x < 0 thì trả về giá trị là -1
(9) Hàm Sqr(x): Hàm tính căn bậc hai của x.
(10) Hàm Exp(x): Hàm tính e mũ x.
(11) Hàm Log(x): Hàm tính logarit tự nhiên của x.
(12) Hàm Round(x [, n]): Hàm làm tròn x với n chữ số sau dấu chấm thập phân.
Ví dụ:
Round(1.234 , 2) sẽ cho kết quả là 1.23 Round(1.236 , 2) sẽ cho kết quả là 1.24
(13) Hàm Rnd( [ x ] ): Hàm tạo số ngẫu nhiên.
2.8.2. Hàm thời gian
(1) Hàm Day(d): Hàm trả về số ghi ngày của d.
Ví dụ:
Day(#12/25/2006#) sẽ cho kết quả là 25
(2) Hàm Month(d): Hàm trả về số ghi tháng của d.
Ví dụ:
Month(#11/30/2006#) sẽ cho kết quả là 11
(3) Hàm Year(d): Hàm trả về số ghi năm của d.
Ví dụ:
Year(#12/25/2006#) sẽ cho kết quả là 2006
(4) Hàm Now: Hàm trả về ngày tháng năm và giờ của hệ thống máy tính.
(5) Hàm Weekday (d): Hàm cho biết thứ mấy trong tuần.
Ví dụ:
Weekday(#11/13/2006#)) cho kết quả là 3 (thứ 3 trong tuần).
Weekday(#11/19/2006#) sẽ cho kết quả là 1 (thứ 1, tức là ngày chủ nhật trong tuần)
(6) Hàm hour (<thời gian>): Hàm cho biết giờ ứng với <thời gian>.
Ví dụ:
Hour(#10:20:15#) sẽ cho kết quả là 10
(7) Hàm Minute(<thời gian>): Hàm cho biết phút ứng với <thời gian>
Ví dụ:
Minute(#10:20:15#) sẽ cho kết quả là 20.
(8) Hàm Second(<thời gian>): Hàm cho biết giây ứng với <thời gian>
Ví dụ:
Second(#10:20:15#) sẽ cho kết quả là 15.
2.8.3. Hàm chuyển đổi
(1) Hàm CBool (x): Hàm trả về giá trị kiểu Boolean của x.
Ví dụ:
Xyz = Cbool ( 3 > 5 )
Vì biểu thức 3 > 5 cho giá trị là False, nên Xyz có giá trị là False.
(2) Hàm CByte(x): Hàm trả về giá trị kiểu Byte của x.
(3) Hàm CCur(x): Hàm trả về giá trị kiểu Currency của x.
(4) Hàm CDate(x): Hàm trả về giá trị kiểu Date của x.
(5) Hàm CDbl(x): Hàm trả về giá trị kiểu Double của x.
(6) Hàm CInt(x): Hàm trả về giá trị kiểu Integer của x
(7) Hàm Dec(x): Hàm trả về giá trị kiểu Decimal của x.
Ví dụ:
Cint(14.2) sẽ cho số 14 Cint (14.6) sẽ cho số 15 Cint(-14.2) sẽ cho số -14 Cint(-14.6) sẽ cho số -15
(8) Hàm CLng(x): Hàm trả về giá trị kiểu Long của x.
(9) Hàm CSng(x): Hàm trả về giá trị kiểu Single của x.
(10) Hàm CStr(x): Hàm trả về giá trị kiểu String của x.
(11) Hàm CVar(x): Hàm trả về giá trị kiểu Variant của x.
(12) Hàm Val(<chuỗi>): Hàm trả về số tương ứng của <chuỗi>.
Ví dụ:
N = Val (“12” & “34”)
N sẽ chứa số 1234.
Visual Basic 6.0 còn có 4 hàm chuyển đổi số ở hệ thập phân thành hệ bát phân (hệ 8) và hệ thập lục phân (hệ 16):
(13) Hàm Oct(x) hoặc Oct$(x): Hàm trả về giá trị số hệ bát phân Variant hoặc chuỗi tương ứng của x.
Ví dụ:
Oct(188) cho giá trị là 274
(14) Hàm Hex(x) hoặc Hex$(x): Hàm trả về giá trị số hệ thập lục phân Variant hoặc chuỗi tương ứng của x.
Ví dụ:
Hex(2006) cho giá trị là 7D6
2.8.4. Hàm kiểm tra kiểu dữ liệu
(1) Hàm IsArray(x): Nếu x có kiểu dữ liệu là mảng thì hàm trả về giá trị True, ngược lại hàm trả về giá trị False.
(2) Hàm IsDate(x): Nếu x có thể chuyển đổi sang định dạng thời gian thì hàm trả về giá trị True, ngược lại hàm trả về giá trị False.
(3) Hàm IsNumeric(x): Nếu x có thể chuyển đổi sang định dạng số thì hàm trả về giá trị True, ngược lại hàm trả về giá trị False.
(4) Hàm VarType(x): Kiểm tra kiểu dữ liệu
Giải thích | |
0 – vbEmpty | Không chứa gì cả |
1 – vbNull | Không có dữ liệu hợp lệ |
2 – vbInteger | Dữ liệu Integer dạng chuẩn |
3 – vbLong | Dữ liệu kiểu Long Integer |
4 - vbsingle | Dữ liệu kiểu chấm động single |
5 – vbDouble | Dữ liệu kiểu chấm động Double |
6 – vbCurrency | Kiểu Currency |
7 – vbDate | Kiểu ngày giờ |
8 – vbString | Kiểu chuỗi đơn giản |
9 – vbObject | Kiểu đối tượng |
10 – vbType | Kiểu do người dùng định nghĩa |
8192 - vbArray | Kiểu mảng |
2.8.5. Hàm định dạng
Format(Biểu_thức [, Xâu định dạng]): Hàm trả về biểu thức theo một định dạng mong muốn được xác định bởi xâu định dạng.
Trong đó:
Biểu_thức: Là biểu thức số hoặc chuỗi cần định dạng Xâu định dạng được tạo thành bởi các ký tự sau:
# : Đại diện cho các chữ sô từ 0..9 (không xuất hiện nếu không có giá trị)
0 : Đại diện cho các chữ sô từ 0..9 (không xuất hiện thì hiện số 0)
@: Đại diện cho một chữ hoặc khoảng trống (Có thể xuất hiệ hoặc không)
. : Hiển thị dấu chấm ở vị trí khai báo
, : Hiển thị dấu , ngăn cách mỗi nhóm 3 chữ số
% : Nhân biểu thức với 100 rồi hiển thị dấu % tại vị trí khai báo
> : Hiển thị theo chữ in hoa
< : Hiển thị theo chữ thường
Ví dụ:
MyTime = #5:04:23#
MyDate = #January 27, 1993#
MyStr = Format(MyTime, "Long Time") “5:04:23 AM”
MyStr = Format(MyDate, "Long Date") “Thurday, March 20, 2003” MyStr = Format(MyTime, "h:m:s") "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss AMPM") "05:04:23 PM". MyStr = Format(MyDate, "dddd, mmm d yyyy") "Wednesday”. MyStr = Format(5459.4, "##,##0.00") "5,459.40".
MyStr = Format(334.9, "###0.00") "334.90".
MyStr = Format(12345.67, "#.###E+") "1.235E+4" MyStr = Format(12345.67, "#.###E-") "1.235E4"
MyStr = Format("abcde", "@@@@@@@") " abcde" Format("abcde", ">& & & & &") "A B C D E" MyStr = Format(5, "0.00%") "500.00%".
MyStr = Format("HELLO", "<") "hello". MyStr = Format("This is it", ">") "THIS IS IT".
2.9. Hiển thị và nhập thông tin
2.9.1. Hộp thông báo
Ta có thể sử dụng hộp thông báo (MsgBox) để hiển thị thông báo và chờ sự trả lời của người sử dụng. Khi người sử dụng kích vào một nút lệnh thì một số nguyên biểu thị nút lệnh mà người sử dụng đã nhấn sẽ được trả về.
Để hiển thị hộp thoại thông báo ta có thể sử dụng thủ tục MsgBox hoặc hàm MsgBox(). Điểm khác biệt giữa chúng là hàm hiển thị thông báo và trả về giá trị cho phép tương tác với người sử dụng, còn thủ tục thì chỉ hiển thị hộp thông báo.
Cú pháp của lệnh MsgBox:
MsgBox prompt[, buttons] [, title] [, helpfile, context]
Cú pháp của hàm MsgBox( ):
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
Tiªu ®Ò
BiÓu t•îng
Trong đó:
C¸c nót lÖnh Th«ng ®iÖp
Hình 2.4. Hộp thông báo (MsgBox)
Prompt: Là tham số bắt buộc dùng để xác định thông điệp sẽ được hiển thị trong hộp thoại. Độ dài của thông điệp tối đa là 1024 kí tự. Nếu thông điệp có nhiều dòng ta có thể ngăn cách các dòng bằng cách chèn thêm các kí tự xuống dòng Chr(10) và trở về đầu dòng Chr(13) hoặc hằng vbCrLf, ví dụ:
MsgBox "Xin chào các bạn sinh viên" & Chr(10) & Chr(13) “Trường Đại học Sư phạm Kỹ thuật Nam Định”
Title: Là tham số tuỳ chọn dùng để xác định tiêu đề của hộp thoại. Nếu bỏ qua thì tên của ứng dụng sẽ xuất hiện tại đây.
Helpfile: Là tham số tuỳ chọn dùng xác định tên của tệp tin trợ giúp cho chương trình.
Context: Là tham số tuỳ chọn được sử dụng kết hợp với Helpfile. Nó là một biểu thức số gắn với một chủ đề trợ giúp nào đó.
Buttons: Là tham số tuỳ chọn dùng để xác định các kiểu nút lệnh và biểu tượng hiển thị trong hộp thoại. Nó nhận giá trị là các hằng do Visual Basic cung cấp sẵn. Cụ thể:
Giá trị | Mô tả | |
vbOKOnly | 0 | Hiển thị nút OK |
vbOKCancel | 1 | Hiển thị nút OK và Cancel |
vbAbortRetryIgnore | 2 | Hiển thị nút Abort, Retry và Ignore |
vbYesNoCancel | 3 | Hiển thị nút Yes, No và Cancel |
vbYesNo | 4 | Hiển thị nút Yes và No |
vbRetryCancel | 5 | Hiển thị nút Retry và Cancel |
vbCritical | 16 | Hiển thị biểu tượng để thông báo một lỗi nghiêm trọng đã xảy ra và chương trình sẽ kết thúc khi thoát khỏi thông báo này. |