Professional Documents
Culture Documents
Lap Trinh Visual Basic 6 0
Lap Trinh Visual Basic 6 0
Email: hienlth@hcmup.edu.vn
TP.HCM – 12/2008
9. Bài tập........................................................................................26
1. Đối Tượng..................................................................................28
Đặc điểm của đối tượng..................................................................28
10. Frame.....................................................................................43
11. Image......................................................................................44
12. Line.........................................................................................45
13. Shape......................................................................................46
2. Biến (Variable)...........................................................................53
3. Hằng...........................................................................................57
8. Check Box..................................................................................88
9. Option Button............................................................................89
10. ListBox...................................................................................92
1. Hàm Format.............................................................................110
3. Mảng.........................................................................................118
Mảng tĩnh 1 chiều..........................................................................118
4 Giáo trình Visual Basic 6.0
Mảng nhiều chiều tĩnh...................................................................122
Mảng động....................................................................................124
7. In Ấn.........................................................................................138
2. Quản lý Project........................................................................158
3. Vấn đề sử dụng biến, thủ tục và đối tượng có trong các Form 158
4. Quy định Form thực hiện trước.................................................160
5. Hiện Form lên màn hình...........................................................160
4. Splash Screen...........................................................................167
6. End Sub....................................................................................173
8. Bài tập......................................................................................177
2. Sự Kiện Mouse.........................................................................185
4. Common Dialog.......................................................................191
5. Bài tập......................................................................................197
2. ImageList.................................................................................198
3. Toolbar.....................................................................................201
4. Updown control.......................................................................206
5. Slider.........................................................................................207
4. Sử Dụng Short Cut (Phím Tắt) Của Vb Hiển Thị Các Cửa Sổ
213
NỘI DUNG
GIỚI THIỆU VỀ NGÔN NGỮ VISUAL BASIC
MÔI TRƯỜNG IDE CỦA VISUAL BASIC
VIẾT CHƯƠNG TRÌNH ĐẦU TIÊN
Khi viết chương trình trên Windows nghĩa là chúng ta tạo ra một ứng
dụng được thực thi trong hệ điều hành Microsoft Windows. Trong
Microsoft Windows, một ứng dụng thường được hiển thị ở dạng cửa
sổ (Window) mà từ góc nhìn của người lập trình Viual Basic, người
ta gọi là FORM.
Command button
Check box
Option button
Label và Text box
List box và
Combo box
Frame
Ngòai ra còn nhiều control khác sử dụng trên môi trường Windows
mà chúng ta sẽ lần lượt khảo sát sau này.
Visual Basic (viết tắt VB) là một ngôn ngữ lập trình hướng sự kiện
trên môi trường phát triển tích hợp (IDE) được phát triển bởi hãng
phần mềm Microsoft. Visual Basic đã được nâng cấp qua nhiều
phiên bản và hiện nay là Visual Basic.NET. Visual Basic bắt nguồn
phần lớn từ ngôn ngữ BASIC và giúp lập trình viên phát triển các
giao diện đồ họa (GUI) theo mô hình phát triển ứng dụng nhanh
(Rapid Application Development, RAD); truy cập các cơ sở dữ liệu
dùng DAO (Data Access Objects), RDO (Remote Data Objects), hay
ADO (ActiveX Data Objects); và lập các điều khiển và đối tượng
ActiveX.
IDE của VB là nơi tập trung các menu, thanh công cụ và cửa sổ để
tạo ra chương trình. Thanh menu cho phép bạn tác động cũng như
quản lý trực tiếp trên toàn bộ ứng dụng. Thanh công cụ cho phép
truy cập các chức năng của thanh menu qua các nút trên thanh công
cụ.
Một lập trình viên có thể phát triển ứng dụng dùng các thành phần
(component) có sẵn trong Visual Basic. Các chương trình bằng
Visual Basic cũng có thể gọi và sử dụng Windows API.
Một lập trình viên có thể phát triển ứng dụng dùng các component có
sẵn trong Visual Basic. VB cung cấp cho ta những điều khiển
(control) cần thiết để tạo giao diện chương trình nhanh chóng.
Visual Basic được sử dụng rất nhiều trong lĩnh vực lập trình thương
mại. Trong giáo trình này sử dụng phiên bản Visual Basic 6.0
Profressional. Hướng dẫn cách cài đặt Visual Basic từ bộ Visual
Studio 98 được để tại phần phụ lục của giáo trình này.
Giao diện đầu tiên của chương trình cho phép chúng ta chọn loại ứng
dụng. Với yêu cầu của môn học này, chúng ta chọn lọai Standard
Exe.
Sau khi khởi động Starndard ExE của VB, giao diện chính của
chương trình như sau (giao diện trên máy của bạn sẽ thay đổi tùy
thuộc các thiết lập của IDE).
Project Explorer
Chứa thông tin về chương trình:
các Form, Module, class … trong
project.
Từ cửa sổ này chúng ta di chuyển
đến các thành phần trong chương
trình bằng cách double click chuột
vào Form hoặc module…
Properties Windows
Dùng để hiển thị và thiết lập các
thuộc tính (property) của Form
hoặc của các control có trên Form
lúc thiết kế. Thuộc tính của một
đối tượng là các tính chất, đặc
điểm mô tả đối tượng này. Các
control mới tạo ra đều có giá trị
thuộc tính được lấy mặc định
(default) hoặc kế thừa từ control
chứa nó.
Cửa sổ Form
Chọn menu Formmat -> Make Same Size định dạng các đối tượng
có cùng kích cỡ theo: chiều dài (width), chiều cao (Height) hay cả 2
(Both)
Chọn No để không tạo mảng đối tượng. Chỉ khi nào các
bạn đã học mảng đối tượng mới chọn yes
Hai bước chính khi xây dựng một chương trình trên VB là:
Thiết kế giao diện: Thiết kế Form và bố trí các đối tượng
có trên Form
Viết lệnh: Viết các đoạn mã để điều khiển Form và các
control ứng với mỗi sự kiện xảy ra.
Khi thực hiện hai bước này gọi là lập một dự án (project). Mỗi
project khi lưu lên dĩa có thể có nhiều tập tin.
File *.vbp : file project của chương trình. Chúng ta mở
chương trình từ file này
File *.frm: file Form chứa giao diện của chương trình
File *.bas: chứa module cua chương trình
File *.cls: chứa class của chương trình
Và ngòai ra còn nhiều lọai file khác nữa (file resource,
file temp…)
Tạo project mới với giao diện như sau: (Xem hình)
Đặt tên (thuộc tính Name) cho các nút lệnh lần lượt là
Cmd1, Cmd2…Cmd9, Cmd0, Cmdcong, Cmftru,
cmdnhn, CmdChia, CmdBang. Để thay đổi name của các
control, chúng ta mở cửa sổ Properties, sau đó chọn từng
control một, và đổi Name.
NỘI DUNG
ĐỐI TƯỢNG VÀ CÁCH SỬ DỤNG
CÁC CONTROL CƠ BẢN: FORM – LABEL – TEXTBOX –
COMMAND BUTTON – FRAME - SHAPE – LINE – IMAGE
MỘT SỐ LỆNH CƠ BẢN
LẬP TRÌNH TƯƠNG TÁC VỚI CÁC CONTROL
1. Đối Tượng
VB là một ngôn ngữ lập trình hướng đối tượng nên làm việc trên VB
chính là làm việc trên các đối tượng. Mỗi chương trình trên VB có
nhiều đối tượng, mỗi đối tượng dùng để thể hiện một yếu tố nào đó
trong chương trình.
Tuy nhiên để cho dễ quản lý và thuận lợi khi viết chương trình,
người ta đề xuất cách đặt tên như sau: Luôn luôn bắt đầu bằng 3 chữ
Mỗi đối tượng có nhiều thuộc tính. Các thuộc tính có thể thay đổi
trên cửa sổ properties lúc thiết kế (design time) hoặc bằng chương
trình lúc thực thi (run time).
Mỗi đối tượng đều có các hoạt động được gọi là phương thức
(method).
Khi một chương trình được thực hiện mỗi đối tượng nhận được các
sự kiện (Event) tác động lên nó (chẳng hạn như click, doudvle click,
right click..). Chúng ta viết lệnh trong các event này để xử lý trước
các sự kiện nhận vào.
Trong các đoạn mã lệnh của chương trình để truy xuất đến các thuộc
tính, các phương thức của đối tượng người ta dùng tên của đối tượng
kèm theo tên của thuộc tính hoặc phương thức theo cú pháp:
<tên đối tượng>.<tên property/tên method>
o Ví dụ: txt_hoten.text=”DurianGroup”
Form là một đối tượng cơ sở của chương trình. Hầu như mọi chương
trình đều bắt đầu từ một Form. Đối tượng này có nhiều property và
method. Chúng ta sẽ tìm hiểu tác dụng của một giá trị trên các thuộc
tính cơ bản:
Caption: Đặt tiêu đề cho Form.
Name: tên của Form, đặt 3 ký tự đầu là Frm
Borderstyle: Quy định kiểu khung cho Form
Đối tượng này dùng để hiện một câu văn bản trên
Form, nội dung câu văn bản này không thể thay đổi
bởi người sử dụng trong quá trình chương trình thực
hiện. Nếu muốn hiển thị thông tin mà không cho phép
người sử dụng nhập, thì chúng ta sử dụng Label.
Khi ta đặt một đối tượng lên Form thì đối tượng này vẫn chưa hoạt
động, bởi ta chưa quy định cho nó phải làm gì thông qua các lệnh.
Thiết một Form và viết chương trình cho from hoạt động như sau:
Trên Form
có một
textbox
được đặt tên
txt_mess,
nội dung
ban đầu là
rỗng. Font
chữ tiếng Việt, kích thước 14pt
3 đối tượng còn lại là 3 commandbutton có tên tuần tự
như sau: cmd_mess, cmd_del, cmd_end.
Khi sự kiện vào cmd_mess thì câu chào “Chúc mừng bạn
đến với VB” xuất hiện trên textbox txt_mess.
Khi click vào cmd_del nội dung trên textbox bị xóa.
Khi click vào trên cmd_end thì chương trình kết thúc.
Khi double – click vào textbox txt_mess thì hiển thị
website của bạn
Chọn đối tượng cmd_end trên hộp chọn phía trên bên
trái, chọn sự kiện click trên combobox even. Gõ vào lệnh
sau: end
Viết chương trình thay đổi vị trí và nội dung của Label sử dụng các
command button (xem hình).
Là một control dạng vật chứa (container), dùng để chứa các control
khác. Khi đưa lên Form nó hiển thị dạng khung hình chữ nhật có tiêu
đề.
Frame còn được dùng để nhóm các đối tượng hoạt động theo nhóm
như Option button.
Thuộc tính chính của Frame là :
11. Image
12. Line
Giống như Line đối tượng shape dùng để trang trí với khả năng biểu
diễn các hình cơ bản:
vuông, tròn, Ellipse..
Thuộc tính chính của
shape là:
Name: tên của
shape với 3 ký
tự đầu là Shp
Shape:
o 0: Trình bày hình chữ nhật
Lưu ý: Mỗi bài tập nên tạo trên dĩa một folder để lưu những tập tin
project, Form của bài tập đó.
1.Hãy thiết kế một Form như sau:
Đặt tên cho 3 textbox lần lượt là : txthoten, txtho, txtten
Đặt tên cho 3
nút lệnh lần
lượt là
btnHoLot,
btnTen,
btnHovaten
Hãy viết lệnh
cho các đối
tượng để Form
có thể hoạt
động như sau:
Người sử dụng sẽ gỏ họ và chữ lót vào txtholot, và tên
vào txtten
Nếu nút lệnh cmd_holot được click thì nội dung của
txthoten =txtholot.text
Nếu nút lệnh cmd_ten được click thì nội dung của
txthoten=txt_ten.text
Nếu nút lệnh cmd_hoten được click thì nội dung của
txthoten =txt_holot.text & “ “ & txtten.text
Nếu double click (sự kiện dlbclick) trên txthoten thì nội
dung của txthoten bị xóa.
Hãy viết lệnh cho các đối tượng để Form có thể hoạt động như sau:
Người sử dụng sẽ nhập các giá trị vào txt1, txt2 (là
những giá trị số)
Nếu nút lệnh cmd1 được click thì nội dung của
Lbl_mess=val(txt1.text)+ val(txt2.text)
Nếu nút lệnh cmd2 được click thì nội dung của
Lbl_mess=val(txt1.text) - val(txt2.text)
5. Viết chương trình chọn hình dạng và màu của một shape như sau:
Đặt tên Shape là Shp, thiết lập thuộc tính fillStyle của Shp là
0-Solid
Viết code để chọn hình dạng (Shape) và màu tô (FillColor)
như sau:
Sub CmdVuong_Click()
Shp.Shape=1
End sub
Sub CmdMauDo_Click()
50 Giáo trình Visual Basic 6.0
Shp.FillColor=VBRed
End sub
Cho biết tập các hằng số màu cơ bản của VB như hình.
NỘI DUNG:
KIỂU DỮ LIỆU - BIẾN – HẰNG - CÁC TOÁN TỬ
CÁC HÀM CƠ BẢN
CÁC CẤU TRÚC LỆNH
OPTION BUTTON – CHECK BOX
LIST BOX – COMBO BOX
Trong VB6 có rất nhiều kiểu dữ liệu. Tuy vậy, với phạm vi giáo trình
này, chỉ một số kiểu dữ liệu quan trọng và hay sử dụng nhất được đề
cập. Các kiểu còn lại sinh viên có thể tham khảo thêm tại phần giúp
đỡ (Help) của bộ Visual Studio.
2. Biến (Variable)
Khái niệm: Dùng để lưu các giá trị tính toán được trong quá trình
chương trình đang thực hiện. Giá trị lưu trong biến có thể thay đổi
trong quá trình sử dụng. Mỗi biến có một tên để phân biệt và thuộc
một loại dữ liệu nào đó.
Qui tắc đặt tên biến:
Dài tối đa 255 ký tự, có thể dùng chữ cái, chữ số, dấu _
để đặt tên
Bắt đầu bằng một chữ cái
Ví dụ:
Dim X As integer
Dim a As Double
Dim b As Long, D as Long, E as Long
Chú ý: Để khai báo nhiều biến, chúng ta phải đưa kiểu
dữ liệu lần lượt vào, không thể viết gom đối với VB6
Ví dụ:
o Dim 1a as Integer: khai báo này sai vì tên biến
bắt đầu bằng số
o Dim a- as Integer: khai báo này sai vì tên biến
chứa ký tự đặt biệt “-“
o Dim a,b,c as Integer: khai báo này không hợp lý
(a,b : không phải kiểu Integer)
o Dim a as Integer, b as Integer, c as Integer: khai
báo này đúng
o Dim x As Integer
o X=10
3. Hằng
Ta có thể đặt tên cho các giá trị không đổi và được dùng nhiều trong
chương trình theo cú pháp:
Const <Identifier> as datatype = value
Ví dụ:
Cont Pi as Double=3.1416
Dim A as Integer
A=3^2 ‘ -> A=9
A=12\5 ‘ -> A=2
A = 8 mod 3 -> A=2
Phép toán trên chuỗi (string) : phép nối : & : Dùng để nối 2 chuỗi
Các phép toán quan hệ
Ký hiệu Quan hệ
= Bằng
<> Khác
< Nhỏ hơn
<= Nhỏ hơn hoặc Bằng
> Lớn hơn
>= Lớn hơn hoặc Bằng
Ký hiệu Quan hệ
NOT Phủ định
AND Và
OR Hoặc
Hàm xử lý chuỗi
Hàm Mô tả
Trả về giá trị là độ dài của
LEN(chuỗi)
chuỗi
VAL(chuỗi) Đổi chuỗi là ký tự số thành số
Giáo trình Visual Basic 6.0 59
Lấy ra 1 chuỗi là n ký tự bên
LEFT(chuỗi,n)
trái của chuỗi nhập vào
Lấy ra 1 chuỗi là n ký tự bên
RIGHT(chuỗi,n)
phải của chuỗi nhập vào
Lấy ra 1 chuỗi là n ký tự - bắt
MID(chuỗi,vị trí, n) đầu từ vị trí nhập - của chuỗi
nhập vào
Đổi tất cả ký tự chữ thường
UCASE(chuỗi)
thành chữ HOA
Đổi tất cả ký tự chữ HOA
LCASE(chuỗi)
thành chữ thường
Bỏ tất cả ký tự trắng bên trái
LTRIM(chuỗi)
chuỗi
Bỏ tất cả ký tự trắng bên phải
RTRIM(chuỗi)
chuỗi
Bỏ tất cả ký tự trắng bên trái và
TRIM(chuỗi)
bên phải chuỗi
+ Kiểu = 1: Đổi tất cả ký tự
chữ thường thành chữ HOA
+ Kiểu = 2: Đổi tất cả ký tự
STRCONV(chuỗi,kiểu)
chữ HOA thành chữ thường
+ Kiểu = 3: Đổi tất cả ký tự
đầu từ thành thành chữ Hoa….
Trả về vị trí đầu tiên của chuỗi
1 bên trong chuỗi ( 0 nếu
INSTR(chuỗi, chuỗi 1)
không có). Dùng để tìm kiếm 1
chuỗi bên trong 1 chuỗi khác.
Đổi giá trị của biêu thức số
STR(số)
thành chuỗi
Hàm ký tự
ASC(ký tự): Trả về giá trị là mã ASCII của ký tự
CHR(ASCII Code): Trả về ký tự có mã ASCII là ASCII
Code
SPACE(n): Trả về n ký tự trắng
Nếu người sử dụng Click vào nút Cancel thì kết quả của hàm là một
chuỗi rỗng.
Ví dụ: Viết chương trình nhập một tên bằng Inputbox và hiển thị lại
tên đã nhập
Để hiển thị chuỗi thông báo xuống hàng, chúng ta có thể ghép thêm
hằng số VBCrlf hay VBNewline hay Chr(13) & Chr(10) ngắt thông
báo thành nhiều hàng
MsgBox "Chào bạn” & vbCrLf & "DurianGroup”
MsgBox "Chào bạn” & VbNewLine & "DurianGroup”
Dạng 2:
Biến= MsgBox ( Prompt, Style, Title )
Prompt: Câu nhắc (dạng chuỗi) yêu cầu thực hiện việc nhập
Title: Tựa đề của hộp nhập dữ liệu
Style: Kiểu thể hiện của hộp hội thoại
Ví dụ: Viết code cho nút lệnh Thoát của chương trình. Trước khi
thoát, chương trình hiển thị hộp thoại xác nhận việc thoát chương
trình. Nếu người sử dụng đồng ý (chọn Yes) thì chương trình kết
thúc.
Ví dụ: Viết chương trình nhập vào 1 số nguyên. Kiểm tra số vừa
nhập là số chẵn hay số lẻ.
Thiết kế một chương trình đăng nhập (Log In) cho phép người sử
dụng đánh tên và mật mã (Password) vào sau đó kiểm tra xem
password có đúng với chuỗi được quy định trước hay không?
Ví dụ: thực
hiện lại ví dụ
nói trên, xuất
ra màn hình
chuỗi phát
âm của thứ
nhập vào
Chú ý: Có thể sử dụng lệnh Exit For để thoát sớm khỏi vòng lặp
FOR
Ví dụ: viết chương trình nhập số bằng hộp thoại Inputbox. Khi người
sử dụng nhập 1 số, chương trình hiển thị vào label lblKetqua. Nếu
người sử dụng nhập khác số, chương trình kết thúc việc nhập.
Nếu kết quả quay số =0 --> người chơi nhận được cộng
10 đồng vào tiền thưởng
Nếu kết quả quay số =9 --> người chơi được cộng 30 đồng
vào tiền thưởng
Option Explicit
Dim thuong As Long, sotien As Long ‘ Khai báo biến toàn cục
Do while Timer<J+1
84 Giáo trình Visual Basic 6.0
Loop
txt1.Text = Int(Rnd() * 10)
txt1.Refresh
Next i
t = thuong
If Val(txt1.Text) = 7 Then
t = t + 100 + Int(sotien / 5)
sotien = sotien - Int(sotien / 5)
End If
If Val(txt1.Text) = 9 Then t = t + 30
If Val(txt1.Text) = 0 Then t = t + 10
If t > thuong Then
txt_kq.Visible = True
thuong = t
txt_kq.Text = "Xin chúc mừng bạn. " & Chr(13) & Chr(10) & "Số
tiền bạn được thưởng là: " & thuong
txt_kq.Refresh
End If
End Sub
Private Sub Cmd_newgame_click()
thuong = 0
txt_sotien.Text = sotien
End Sub
Private Sub Cmd_kt_Click()
Là đối tượng được đặt cho phép người sử dụng chọn giá trị bằng
cách đánh dấu chọn (check). Hai trạng thái của check box được sử
dụng nhiều nhấtr là: được chọn hoặc không được chọn.
o 1: Right justify
Ví dụ: Viết chương trình với một checkbox dùng để cho phép một
hình trên Form được hiển thị hay không
9. Option Button
o 1: Right justify
Chú ý: Khi một option trong nhóm có giá trị true thì tất
cả các option còn lại sẽ có giá trị false
Trong một nhóm các option button, để biết option button nào đang
được chọn, chúng ta kiểm tra thuộc tính Value của các option button
Trên Form có
10. ListBox
Đối tượng này dùng để liệt kê một danh sách và cho phép người sử
dụng chọn lực các mục trong danh sách này.
Clear: Xóa toàn bộ các mục trong danh sách. Sau khi
xóa giá trị Listcount=0
Cú pháp: Tên_ListBox.Clear
Các ListBox được phép chọn nhiều mục (kết hợp giữa
phím Shift, Control và chuột)
Các nút Cmd1 và Cmd3 Khi được Click sẽ sao chép tất
cả các mục đang chọn sang ListBox bên kia, sau đó xóa
các mục đang chọn
Nút lệnh Xóa cho phép xóa các mục đang chọn trong
Lst1 (ListBox bên trái)
Combo Box là một control kết hợp giữa Textbox và Listbox, nên nó
có cac đặc tính của cả hai đối tượng này. Combo Box cho phép trình
bày, chọn các mục có trong danh sách và có thể nhập thêm các mục
mới.
Ngoài các thuộc tính giống như ListBox, Combo Box còn có thuộc
tính đặc trưng là:
Style: Dùng để quy định kiểu của ComboBox
Lưu ý: Mỗi bài tập nên tạo trên dĩa một folder để lưu những tập tin
project, Form.. của bài tập đó.
1. Viết chương trình giải phương trình bậc 2 : ax2 + bx + c = 0
2. Viết chương trình giải phương trình trùng phương: ax 4 + bx2 + c =
0
3. Viết chương trình Đổi năm dương lịch qua năm âm lịch
Cho Biết:
NỘI DUNG:
HÀM FORMAT
THỦ TỤC – HÀM - MẢNG – CHUỖI
MẢNG ĐỐI TƯỢNG
TIMER
DEBUG VÀ IN ẤN CHƯƠNG TRÌNH
1. Hàm Format
Công dụng của hàm là định dạng một giá trị theo một mẫu nào đó.
Kết quả của hàm là chuỗi giá trị đã định dạng. Cú pháp của hàm:
Format(Value, Format).
Value: Giá trị muốn định dạng
Format: Mẫu định dạng, sẽ chứa những ký tự định dạng như:
0 - Tại vị trí này là một chữ số. Nếu con số mà chúng ta
cần định dạng không có giá trị tại vị trí này thì chữ số 0
sẽ được điền vào.
o Ví dụ: Format$(123,”0000”)=”0123”
Các ví dụ:
Format$(8315.4,”######.##”)=”8315.4”
Format$(8315.4,”###,###.00”)=”8,315.40”
Format$(8315.4,”$######.00”)=”$8,315.40”
Format$(0.5 ,”000%”)=”050%”
Ngoài các thủ tục sự kiện gắn liền với các đối tượng đôi khi người
lập trình cần phải xây dựng thêm các thủ tục của riêng mình để dễ
dàng trong việc lập chương trình, chẳng hạn như giảm bớt mã lệnh,
tránh viết lập đi lặp lại một đoạn lệnh nào đó.
1. Thủ tục (Sub):
Ta có thể viết một thủ tục trong cửa sổ Code với cú pháp khai báo
như sau:
Private Sub <tên thủ tục>[(danh sách tham số)]
Lệnh của thủ tục
End sub
Thủ tục được khai báo với từ khóa private thì chỉ có thể dùng được
trong phạm vi Form chứa nó mà thôi. Nếu muốn thủ tục có thể sử
dụng trong toàn bộ chương trình (các Form khác đều sử dụng được)
thì phải khai báo với từ khóa Public
Public Sub <tên thủ tục>[(danh sách tham số)]
Lệnh của thủ tục
110 Giáo trình Visual Basic 6.0
End sub
Ví dụ:
1. Hàm (Function): Việc viết một hàm cũng giống như thủ tục chỉ
khác ở phần khai báo và trong nội dung của hàm sẽ có một câu lệnh
trả giá trị về cho hàm.
Ta có thể viết một hàm trong cửa sổ Code với cú pháp khai báo như
sau:
[Private/Public] Function <tên hàm>[(danh sách tham số)] As
<Kiểu dữ liệu>
Ví dụ: Viết chương trình tính cạnh huyền tam giác sử dụng function
Option Explicit
Private Function Giaithua(ByVal K As Integer) As Double
Dim I As Integer
Dim Kq As Double
Kq = 1
For I = 1 To K
Kq = Kq * I
Next
Giaithua = Kq
End Function
Ví dụ: cho biết kết quả xuất ra sau khi thực hiện chương trình sau
đây là gì
Sub Cmd_xuat_Click()
Dim i As Integer
Txt_xuat.Visible = True
For i = 1 To 10
Ví dụ: để duyệt nửa trên ma trận 2 chiều, tính cả đường chéo chính
Do đó, sau khi khai báo mảng động : Dim A() as Integer, chưa thể
dùng ngay mà phải khai báo số phần tử mảng động lúc đầu tiên:
ReDim A(10). Đến lúc nào cần thay đổi kích thước vị trí mảng thì
ReDim lại.
Xác định cận dưới của mảng: Hàm
Lbound(TênMảng,chiều)
Xác định cận trên của mảng: Hàm Ubound(TênMảng,
chiều)
Mã lệnh:
Option Explicit
Dim a() As Integer
Dim n As Integer
Private Sub Cmd_ketthuc_Click()
End
End Sub
Cho mảng một chiều Arr với khởi tạo như sau
Mã lệnh:
Khi ta chạy thử chương trình bằng cách bấm F5 , nếu chương trình
có lỗi thì chương trình sẽ dừng lại và hiện ra hộp thoại để cho biết
chương trình đã bị lỗi gì:
7. In Ấn
Khi cần in nội dụng của một chương trình ta chọn lệnh:
Khi đặt một control mới lên Form nếu ta đặt tên cho nó trùng với
một đối tượng đã có, hoặc khi ta tạo một đối tượng mới bằng cách
sao chép từ một đối tượng đã có thì VB sẽ hỏi chúng ta có muốn tạo
các đối tượng này thành
một mảng hay không?
Khi muốn tạo một mảng các đối tượng ta cũng có thể làm bằng cách
tạo ra các đối tượng này sau đó đặt tên của chúng giống nhau
Lưu ý: Trong các thủ tục sự kiện của một mảng đối tượng luôn có
một tham số index để cho biết sự kiện đã xảy ra trên thành viên thứ
mấy của mảng. Căn cứ trên giá trị Index này, chúng ta biết được đối
tượng nào trong mảng control kích họat sự kiện đó.
Ví dụ: Viết chương trình đổi màu cho control shape Shp từ mảng các
option button
Ở đây chúng ta giả sử các Option button đã được đặt vào mảng đối
tượng có tên là Opt2 có chỉ số là Opt(0) … Opt(3). Khi đó, cả 3
Ví dụ: Viết chương trình cho 1 lablel tự động di chuyển từ trái sang
phải của Form
Sub Timer1_Timer()
Lbl1.Left=Lbl1.Left + 50
End Sub
Ví dụ: Viết chương trình với cột đèn giao thông tự động chuyển đèn
theo thứ tự Xanh – Vàng - Đỏ
Option Explicit
Private Sub Form_DblClick()
Timer1.Enabled = False
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single)
If Shift = 0 Then
Image1.Move X, Y
140 Giáo trình Visual Basic 6.0
Else
Timer1.Enabled = True
End If
End Sub
Private Sub Timer1_Timer()
Static count As Integer
DoEvents
If count = 0 Then
Image1.Picture = LoadPicture("c:\program files\microsoft visual _
studio\common\graphics\icons\traffic\trffc10a.ico")
count = count + 1
ElseIf count = 1 Then
Image1.Picture = LoadPicture("…\trffc10b.ico")
count = count + 1
Else
Image1.Picture = LoadPicture("…\trffc10c.ico")
count = 0
End If
End Sub
Khi chương trình bắt đầu thực hiện thì textbox nhập số
được Setfocus (Gợi ý: Dùng sự kiện FormLoad và thực
hiện lệnh TextBox_name.TabIndex=0. Lưu ý trong sự
kiện này không thể sử dụng Phương thức SetFocus)
Sau khi nhập số nếu ấn Enter hoặc Click vào nút thực
hiện thì hiện kết quả lên TextBox kết quả, và TextBox
nhập vẫn được Focus
Nếu ấn Esc hoặc click vào nut1 kết thúc thì dừng chương
trình
2. Viết chương trình làm toán cơ bản theo yêu cầu sau:
142 Giáo trình Visual Basic 6.0
Lưu ý: Xây dựng các hàm tính 1+2+..+N, Tính 1*2+2*3+..
+N*(N+1)
3. Viết chương trình sử dụng mảng với các chức năng được trình bày
trên Form như sau:
Việc nhập giá trị cho các phần tử của mảng thực hiện bởi
inputbox
Làm lại bài trên với mảng động và giá trị của mảng được
tạo ngẫu nhiên.
Giao diện:
(Hình 1)
5. Dựa vào chương trình các ví dụ trên chuỗi (đã học trên lớp) hãy
tạo một chương trình được trình bày và thực hiện thao những yêu
cầu sau:
14. Viết chương trình làm mặt trăng xoay tròn. Tốc độ nháy do người
sử dụng chỉnh trên thanh cuộn,
150 Giáo trình Visual Basic 6.0
(Các icon trong thư mục: Graphics\icons\elements)
15. Viết chương trình: quả bóng dội lên xuống không ngừng trong
một Form.
16.Viết hàm tìm phần tử là số nguyên tố trong tất cả các phần tử của
mảng.
17. Viết chương trình nhập vào một dãy n số thực a[0], a[1],…, a[n-1],
sắp xếp dãy số theo thứ tự từ lớn đến nhỏ. In dãy số sau khi sắp xếp.
18. Viết một hàm đảo ngược thứ tự các phần tử của một mảng số thực:
21. Viết chương trình nhập vào một mảng, hãy xuất ra màn hình:
Phần tử lớn nhất của mảng.
Phần tử nhỏ nhất của mảng.
Tính tổng của các phần tử trong mảng.
22. Viết chương trình nhập vào một mảng số tự nhiên. Hãy xuất ra
màn hình:
Dòng 1 : gồm các số lẻ, tổng cộng có bao nhiêu số lẻ.
Dòng 2 : gồm các số chẵn, tổng cộng có bao nhiêu số
chẵn.
Dòng 3 : gồm các số nguyên tố.
Dòng 4 : gồm các số không phải là số nguyên tố
26 Viết chương trình nhập vào một số nhỏ hơn 1000. Trình bày dòng
chữ cho biết giá trị của số đó.
NỘI DUNG:
CHƯƠNG TRÌNH CÓ NHIỀU FORM
FORM MDI –SPLASH FORM
MENU
CÁC HÀM VỀ DỮ LIỆU NGÀY GIỜ
2. Quản lý Project
Lưu ý:
o Các biến Public phải khai báo trong phần General cùa
Form.
Muốn truy xuất đến một biến hoặc gọi một thủ tục
Public trong Form khác ta phải thêm tên Form chứa
biến và thủ tục phía trước và cách nhau bởi dấu chấm.
Ví dụ:
o Form2.v=100 ‘Gán giá trị 1000 vào biến V được khai
báo trong Form2
o Form2.sub1
Truy xuất đến các đối tượng của Form khác: Muốn truy
xuất đến các đối tượng và thuộc tính của đối tượng nằm
trên một Form khác ta phải đặt thêm tên Form phía
trước tên đối tượng và cách nhau bới dấu chấm.
Ví dụ:
Form2.text1.text=”DurianGroup”
Form2.shape.Fillcolor=QBColor(Rnd() * 10)
Trong trường hợp chỉ muốn làm cho Form không hiển
thị trên màn hình nhưng vẫn tồn tại trong bộ nhớ ta có
thể dùng lệnh hide
o Ví dụ: Form2.Hide
Từ khóa Me: Từ khóa này có dùng để thay thế cho tên Form trong
các câu lệnh được viết trong Form này
Ví dụ: Trong Form2 thay vì ghi câu lệnh unload Form2 ta có thể ghi
unload me
Ví dụ: Viết chương trình sư dụng 2 Form. Form đầu sẽ dùng để điều
khiển Form thứ 2 như các mô tả dưới đây:
Option Explicit
Public V As Integer
Private Sub Cmd_unload_Click()
Unload Form2 'unload me
'Hide
End Sub
Private Sub Form_Load()
V = 1000
txt1.Text = V
End Sub
Public Sub Sub1()
txt1.Text = V
End Sub
Ví dụ:
Dim frm as new Form2
Load Form2
Frm.Show
4. Splash Screen
Là một Form thường xuất hiện trên màn hình trong thời gian vài giây
khi chương trình vừa khởi động. Thông tin trên Form này tóm tắt
một vài thông tin về chương trình, ngoài ra Form này còn có mục
đích lấp bớt khoảng trống trong khi các phần của chương trình đang
nạp vào bộ nhớ (Form này sẽ được nạp ở chế độ Modeless)
Mục đích của Splash Screen
Giới thiệu thông tin về phần mềm, tác giả phần mềm
Làm cho người sử dụng bớt có cảm giác chương trình
khởi động chậm hoặc không chạy
Ví dụ: Chương trình sau gồm một splash screen, một MDI Form,
một Form mẫu có tên Form1, một module1 trong đó có Sub main()
Option Explicit
Sub Form_KeyPress(KeyAscii As Integer)
Unload Me
End Sub
Sub Form_Unload(Cancel As Integer)
MDIForm1.Show
End Sub
Private Sub Frame1_Click()
Unload Me
End Sub
Sub Timer1_Timer()
Unload Me
End Sub
Option Explicit
Private Sub MDIForm_DblClick()
Module1.bas
Option Explicit
Sub main()
frmSplash.Show
Load MDIForm1
End Sub
Menu là đối tượng thường được xử dụng do tính phân cấp và sự gọn
gàng của nó.
Để tạo menu cho một Form ta thực hiện các sau:
Chọn Tools – Menu Editor (Hoặc bấm Ctrl_E)
Ví dụ: Viết chương trình gồm có một menu Format – Bold dùng để
định dạng một textbox là in đậm hay in thường. Khi người sử dụng
click vào menu Bold, thì tùy theo trạng thái đang chọn của menu
Bold mà textbox và menu sẽ chuyển sang trạng thái còn lại.
Context menu
Menu xuất hiện khi người sử dụng bấ, right- click
Sử dụng Lệnh Popupmenu:
o Lệnh này cho xuất hiện menu ở tại vị trí hiện hành
của mouse
Cú pháp Popupmenu <tên menu>
Option Explicit
Dim n As Integer
Private Sub MDIForm_DblClick()
Me.Arrange 2
End Sub
Private Sub MDIForm_click()
Dim newForm As New Form1
n=n+1
newForm.Caption = "Form thu" & Str(n)
newForm.Show
End Sub
Private Sub MDIForm_Load()
o cdate(1)=#12/31/1899#
1. Thêm vào
các chương
trình đã làm
Form flash cho
biết mục đích
của chương
trình, tên
người thực
hiện, ngày thực hiện. Form này tự động thoát khỏi màn hình sau một
thới gian nhất định hoặc khi có một phím/chuột được ấn.
2. Tạo menu và
chương trình soạn
thảo văn bản với
giao diện và thống
menu như sau:
Lưu ý:
Tốc độ của quả banh khi thay đổi phải là một tốc độ hợp lệ
(10<=tốcđộ<=1000). Mỗi khi tốc độ bị thay đổi thì việc thay
đối này phải thể hiện trên textbox và thuộc tính value của
updown.
Màu của quả banh được chọn trên Option button group hoặc
chọn trên menu Option/color/..
NỘI DUNG:
CÁC SỰ KIỆN PHÍM
SỰ KIỆN MOUSE
BẪY LỖI
COMMON DIALOG
Các sự kiện này chỉ xảy ra trên đối tượng đang focus.
Khi một phím được ấn luôn xảy ra 3 sự kiện theo thứ
tự: KeyDown, Keypress, Keyup.
Có thể có nhiều sự kiện Keydown xảy ra nhưng chỉ có
một sự kiện Keyup khi người sử dụng ấn và giữ phím
một lúc rồi mới buông phím.
Các thủ tục xử lý cho các sự kiện này có dạng như sau:
End Sub
KeyAscii: Cho biết mã Ascii của phím được ấn
Sự kiện keypress thường được sử dụng khi cần nhận
dạng các phím ký tự vì tham số KeyAscii cho biết
chính xác đó là ký tự nào được ấn (phân biệt chữ hoa
chữ thường, phân biệt trong trường hợp phím Shift
được ấn kèm với các phím có hai ký hiệu.
Trong khi xử lý sự kiện này nếu ta gán lại giá trị mới
cho KeyAscii cũng có nghĩa là sửa phím được ấn trên
đối tượng.
Option Explicit
Private Sub Command1_Click()
End
End S ub
Private Sub txt1_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
'Xoùa phím
End Sub
Private Sub txt2_KeyDown(KeyCode As Integer, Shift As Integer)
2. Sự Kiện Mouse
Tham số truyền
Ví dụ:
184 Giáo trình Visual Basic 6.0
Sub Form_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Label1.Move X, Y
End Sub
Chú ý:
Nếu một tổ hợp các phím trên được nhấn đồng thời thì
giá trị SHIFT sẽ là tổng các giá trị của các phím: ví dụ:
phím CTRL và ALT được nhấn đồng thời thì Shift=6
Ví dụ: Viết chương trình hiển thị tọa độ chuột khi chuột di chuyển
trên Form.
Lỗi Runtime Error là những lỗi phát sinh khi chương trình đang thực
hiện. Ví dụ như trong chương rình có lệnh load một tập tin từ dĩa,
nhưng tập tin này không tồn tại. Nếu trong chương trình của chúng
ta khôn có phần xử lý lỗi thì chương trình phải kết thúc ngay tại thời
điểm này.
Các lệnh xử lý lỗi:
On Error Goto <LineLabel>: Câu lệnh này thường
được đặt ở trước các lệnh có thể gây ra lỗi (Đặt bẩy
lỗi). Nó có ý nghĩa “Nếu có lỗi xãy ra thì đi đến dòng
nhãn có tên được chỉ ra rồi bắt đầu thực hiện các lệnh
ngay dưới dòng nhãn này. Một dòng nhãn là một chuỗi
Ví dụ: trong chương trình trên ta thêm vào phần xử lý lỗi trong hai
thủ tục của nút lệnh Load và Luu
4. Common Dialog
Đối tượng này hổ trợ người lập trình khi cần hiện một hộp thoại cho
người sử dụng chọn khi thực hiện các thao tác:
Màu
Font chữ,
Open File
Save Save
Print
Chỉ có một Common Dialog nhưng phụ thuộc vào phương thức
Show đối tượng này sẽ hổ trợ một trong những chức năng trên.
Tên của đối tượng này trong hộp thoại Component là:
Microsoft Common Dialog Control 6.0
Đối tượng này không hiện trên Form khi chương trình
chạy, trừ khi ta gọi phương thức Show của nó.
Dialog dùng để chọn Font:
Để sử dụng Dialog cho việc chọn font ta cần thiết lập
giá trị cho các thuộc tính như sau(các thuộc tính này
thông thường được cài đặt trong chương trình trước khi
Show đối tượng này):
Flag: Thuộc tính này quy định dạng trình bày của
dialog font. Giá trị của nó là một hoặc tổng các các
hằng sau:
Max, Min: Hai thuộc tính này quy định kích thước nhỏ
nhất và lớn nhất hiện trong Dialog font. Hai thuộc tính
này chỉ có tác dụng khi thuộc tính Flag có chứa giá trị
CdlCFLimitSize (8192)
Để Dialog hiện font ta gọi <tên Dialog>.Showfont
Sau khi Dialog Font hiện lên người sử dụng đã chọn thì
ta có thể truy xuất đến các thuộc tính Fontname,
Fontsize, FonBold, FonItalic, FontUnderline,
Fonstrikethru
Ví dụ: Hãy xem đoạn lệnh viết cho nút đổi Font của ví dụ trên
Flag: Thuộc tính này quy định cách trình bày Dialog
chọn File. Thông thường nó được đặt bằng 0 (hoặc 3
trong trường hợp muốn hiện checkbox Open as read
only trong hộp thoại)
Để hiện hộp thoại Save File ta gọi phương thức ShowSave theo cú
pháp:
<Tên Dialog>.ShowSave
Sau khi Show hộp thoại ta có thể dựa vào các thuộc
tính sau để thao tác:
o Filename : Chứa đường dẫn, tên tập tin đã chọn
Ta thường sử dụng thuộc tính FileName cho các thao tác Open và
Save
Ví dụ: đoạn mã lệnh cho nút Lưu và Load viết lại bằng cách sử
dụng Common Dialog
1. Viết chương trình nhập liệu, sau khi nhập xong trong mỗi Text
Box, bấm phím Enter để chuyển Focus qua Text Box kế tiếp.
TextBox địa chỉ sau khi nhập xong sẽ chuyển Focus qua Command
nhập liệu (xóa các dữ liệu đã nhập), và lại chuyển Focus về Text Họ
và Tên.
2. Viết chương trình luyện tập sử dụng chuột: Picture hiển thị ngẫu
nhiên trong chương trình trong 1 thời gian nhất định (khoảng 1 giây)
và nếu người chơi bấm trúng Picture và đúng phím thì điểm cộng
thêm 1, nếu không trúng thì điểm được trừ đi 1.
NỘI DUNG:
CÔNG CỤ WINDOWS COMMON CONTROLS: CÔNG CỤ
IMAGELIST TOOLBAR – UPDOWN CONTROL- SLIDER
THAO TÁC TRÊN TẬP TIN
Là tập hợp các control phổ biến cung cấp bởi Windows với tên của
mục này là: Microsoft Windows common controls...
Các công cụ này hổ trợ người lập trình trong việc tạo ra các giao
diện thân thiện với những người sử dụng quen với môi trường
Windows.
Sau đây là một số công cụ thông dụng:
2. ImageList
Một control dùng để lưu trữ, quản lý các hình ảnh. Nó thường được
dùng để lưu trữ các hình ảnh của những control khác như Toolbar,
Listview, Treeview, Image combo
Đưa hình vào ImageList tại thời điểm thiết kế:
End Sub
o Sự kiện này có một tham số: Button cho biết text của
mục menu được ấn
Bây giờ chọn mục Toolbar Wizard trong menu Add-in để tạo thanh
công cụ.
5. Slider
Cũng có công
dụng tăng hoặc
giảm một giá trị số mỗi khi click chuột hoậc kéo chuột trên thanh
trượt.
Thuộc tính Value của đối tợng này thường được dùng để thay đổi giá
trị thuộc tính của một đối tượng khác.
Tập tin là một dãy các byte lưu trên đĩa. Khi ứng dụng truy cập đến
tập tin, nó xem các byte như là ký tự, bản ghi,số, chuỗi...Có 3 kiểu
truy cập tập tin:
Tuần tự: đọc và ghi các tập tin văn bản theo các chuỗi liên
tục.
Trong nội dung giáo trình này chỉ đề cập đến lọai tập tin tuần tự.
Mở tập tin tuần tự
Open pathname For | Input | Output | Append | As
filenumber | Len = buffersize|
Khi mở một tập tin tuần tự với Input, tập tin phải có sẵn. Nếu không
Visual basic sẽ báo lỗi. Khi ta mở một tập tin chưa có sẵn với
Output hoặc Append lệnh Open sẽ tạo mới tập tin và mở nó.
Tham số tuỳ chọn Len chỉ ra số ký tự trong vùng đệm khi sao chép
dữ liệu giữa tập tin và chương trình.
Sau khi mở tập tin với Input, Output hoặc Append ta phải
đóng nó bằng lệnh Close.
Đọc nội dung tập tin vào chuỗi
Mở tập tin với Input. Sau đó, dùng dòng lệnh line Input #,
Input() hoặc Input # để sao chép nội dung tập tin vào biến.
Visual basic cung cấp hàm Line để đọc ghi 1 ký tự hoặc một
dòng vào tập tin.
NỘI DUNG:
DANH SÁCH PREFIX
TÙY BIẾN GIAO DIỆN IDE
SỬ DỤNG TOOLBAR
CÁC SHORTCUT
MỘT SỐ THỦ THUẬT KHÁC
Khi làm việc với VB, có nhiều chọn lựa để tăng tốc thiết kế - phát
triển chương trình.
Sắp xếp màn hình làm việc cho thuận lợi nhất.
Sử dụng Toolbar Standard để hiển thị nhanh các cửa sổ, tùy biến
màn hình làm việc. Để Sử dụng ToolBar Standard của VB :
Project Explorer Windows
Properties Windows
Form Layout Windows
4. Sử Dụng Short Cut (Phím Tắt) Của Vb Hiển Thị Các Cửa
Sổ
Khóa hay Thả nổi thông qua Menu: [Tool]-[Option], và chọn Tab
[Docking]
Outdent
Toggle Breakpoint
Comment Block
UnComment Block
Toggle Bookmark
Next Bookmark
Indent
Thẻ General
Show Grid: Hiển thị lưới trên Form khi chúng ta đang
thiết kế giao diện. Lưới giúp chúng ta dễ dàng gióng
hàng đối tuợng.
Gird Width, Grid Height: kích thước lưới. Kích thước
càng nhỏ, chỉnh cành chính xác, tuy nhiên giao diện sẽ
bị rối.
Sử dụng khả năng Kéo và Thả của chuột để di chuyển khối lệnh:
Chọn khối lệnh và kéo đến vị trí mới.
Sử dụng khả năng Kéo và Thả của chuột để Copy khối lệnh: Chọn
khối lệnh và kéo đến vị trí cần dán, trong khi kéo thì giữ phím Ctrl.
Khi cần tạo nhiều đối tượng cùng loại, bình thường mỗi lần vẽ phải
chọn lại (bằng cách Click chuột) đối tượng đó từ Toolbox.
Để tạo nhiều đối tượng cùng loại một cách nhanh chóng – các đối
tượng này lấy tên khác nhau, không phải tạo mảng đối tượng, khi
chọn ToolBox cho đối tượng đầu tiên, giữ phím Ctrl khi Click. Việc
tạo các đối tượng thứ 2,3… được tiến hành trong khi vẫn giữ phím
Ctrl.
Để tạo nhiều đối tượng cùng loại một cách nhanh chóng – các đối
tượng trong 1 mảng đối tượng, sử dụng khả năng Copy và Dán các
đối tượng.
Sử dụng toolbar này để nhanh chóng thiế kế và canh chỉnh đối tượng
Để mở Form Edittor Toolbar: Từ Menu: [View] – [ToolBar]-[Form
Editor]
Với các nút lệnh từ trái qua phải:
Send to Front: đưa đối tượng lên trên đối tượng khác
Send to Back: đưa đối tượng xuống dưới đối tượng khác
Align Objects: gióng hàng.
Center Object In Form: cho đối tượng nằm giữa Form
Make Same Size: điều chỉnh kích thước nhóm đối tượng
Lock Controls On Form: Khóa đối tượng trên Form. Không cho
phép di chuyển.
Visual Basic cung cấp cho chúng ta công cụ Color Palette để chọn
màu (nền, font chữ) khi thiết kế giao diện.
Method Icon
Event Icon
Property Icon
Project / Library
Box
Sử dụng With khi có đọan lệnh lặp lại nhiều lần với một đối tượng
nào đó. With …End With giúp chương trình dễ đọc, viết nhanh hơn,
rõ nghĩa hơn.
Visual Basic đi kèm với bộ giúp đỡ rất mạnh và phong phú, đầy đủ,
và chi tiết. Để cài bộ Help, chúng ta phải cài bộ đĩa MSDN Library
sau khi cài xong Visual Studio. Để hiện giúp đỡ, chúng ta bấm phím
F1 ngay tại các control, đọan lệnh… để hiện trợ giúp ngữ cảnh tương
ứng
Để cài đặt Visual Baisc 6.0, chúng ta sử dụng đĩa Visual Studio 6.0
hay còn gọi là Visual Studio 98 (1 CDROM). Nếu muốn cài đặt thêm
bản giúp đỡ (help) cho Visual Basic 6.0, chúng ta cần có bộ đĩa
MSDN 98 (2 CDROM).
Sau đây sẽ trình bày các bước cơ bản cài đặt Visual Basic 6.0
Bước 1:
Bước 2
Màn hình “End User License Agreement” xuất hiện. Chọn mục “I
accept” và bấm nút Next
Bước 4
Màn hình nhập Product Number. Nhập vào Serial của phần mềm. (ví
dụ: 415-0287065)
Bước 5
Bước 6
Bước 7
Chương trình Setup sẽ nhắc bạn đóng bất cứ bản Visual Studio nào
bạn đang thực thi. Nếu máy bạn chưa cài, thì chọn “Continue”.
Đến bước này, chương trình sẽ xác nhận lại Product ID của bạn.
Click “OK”.
Bước 10
Đây là bước quan trọng nếu bạn muốn tiết kiệm đĩa và không cài các
thàn phần không sử dụng do Visual Studio có rất nhiều chương trình
và thư viện dùng cho các mục đích khác nhau.
Bước 11
Bước 12
Bước kế tiếp bạn sẽ được hỏi về việc cài đặt bộ giúp đỡ “MSDN
Library”.
Nếu muốn cài đặt thì chọn “Install MSDN” và click “Next”.
Bước 14
Chương trình đưa ra chọn lựa về việc cài đặt component cho sever.
Bỏ qua phần này bằng cách bấm nút Next
Bước cuối
cùng bạn sẽ
được nhắc
nhở về việc
đăng ký với
Microsoft về
bản Visual
Studio đang
sử dụng. Nếu
không muốn
đăng ký, bỏ
chọn “Register Now” và bấm nút “Finish”.
1. Hãy tạo một Form trong đó chứa một menu có cấu trúc như sau:
Nút Nhập Họ và Tên cho phép nhập thêm một Họ tên mới
bởi InputBox sau đó đưa vào ListBox họ tên.
Nút Số người có họ = ? cho biết có bao nhiêu người có họ
giống với họ được nhập vào bởi hàm InputBox.
Nút Số người có tên = ? cho biết có bao nhiêu người có tên
giống với tên được nhập vào bởi hàm InputBox.
Xóa học viên: Xóa tất cả các học viên đang chọn trong Lớp A
và Lớp B. (các listbox Lớp A và Lớp B cho phép chọn cùng
lúc nhiều mục)
Chuyển sang lớp A: Chuyển các mục đang chọn trong Lớp B
sang Lớp A
Chuyển sang lớp B: Chuyển các mục đang chọn trong Lớp A
sang Lớp B
5. Hãy tạo một project giúp cho rạp chiếu phim quản lý việc bán vé
của mình. Rạp có 6 hàng ghế, mỗi hàng có 3 ghế, các ghế được đánh
số từ 1 đến 15 và được phân thành 3 lô như (hình bên):
Q.1/ 60
Nếu Item1 có giá trị là 15 và Item2 =30, thì kết quả của chương trình
Visual Basic sau đây xuất hiện ở Label1 là gì?
A) Empty
B) Không thể biết được
C) Chương trình lỗi
Nếu biến Temp =95, thì kết quả xuất ra Label của đọan chương trình
sau là bao nhiêu?
A) DurianGroup
B) Không có gì xuất ra label
C) Chương trình bị lỗi
D) http://DurianGroup.Wordpress.com
E) DurianGroup.Wordpress.com
F) Không thể xác định được
Q.3/ 60
Trong chương trình sau, bao nhiêu lần Visual Basic thực hiện thông
điệp MSgbox?
A) 8
B) 2
C) 4
D) 3
E) 6
F) 1
Q.4/ 60
A) 64
B) 16
A) text1=Lcase(Text1)
B) ModCase(text1,"L")
C) Text1=Format(text1,"LowerCase")
D) ToLower(Text1.text)
E) LCase(Text1.text)
F) LowerCase(Text1.text)
Q.6/ 60
Cho biết kết quả của chương trình sau đây là gi?
Sub ProcA()
On Error GoTo eh:
Dim x as integer
x = 1000
ProcB(x)
msgbox "x = " + x
Exit Sub
eh:
msgbox "Có lỗi"
A) x = 1000
B) Thông báo: "Có lỗi"
C) z = 1000, y = 1, x = 1000
D) chương trình bị lỗi và không thực hiện được
Q.7/ 60
Form lọai gì sau đây là các Form khác trong cùng chương trình
không thể được kích họat cho đến khi nó đóng lại?
Các chọn lựa?
A) Modeless Form
B) Startup Form
C) Modal Form
D) MDI Form
Q.8/ 60
A) txtCreditLimit_Click
B) txtCreditLimit_Change
C) txtCreditLimit_KeyPress
D) cmdOK_Click
Q.9/ 60
Sub ProcA()
Dim strProcNameA As String
On Error GoTo ErrorHandler
strProcNameA = "ProcA"
Call Proc2(strProcNameA)
ExitHere:
MsgBox "It Worked!"
Exit Sub
ErrorHandler:
MsgBox "Error in " + strProcNameA
End Sub
Chương trình sẽ hiển thị ra gì trong thông điệm (message) đầu tiên
sau khi bạn gọi call ProcA?
Các chọn lựa?
A) It Worked!
B) Error in ProcA
C) Error in ProcB
D) Error in ProcC
Q.10/ 60
Chương trình của bạn chứa một frame tên là fraMyFrame. Trên
frame này chứa 2 option buttons, dạng mảng đối tượng tên là
optShowText.
Đọan code code sau đây làm cho một text box control trên Form hiển
thị khi người sử dụng chọn option button đầu tiên:
Const SHOWTEXTBOX = 0
Const HIDETEXTBOX = 1
If Index = SHOWTEXTBOX Then
txtMyText.Visible = True
Else
txtMyText.Visible = False
Chọn sự kiện thích hợp để đưa đọan code nói trên vào?
A) optShowText(0)_Click
B) optShowText(1)_Click
C) optShowText_Click
D) fraMyFrame_Click
Q.11/ 60
Chương trình của bạn có một text box tên là txtMyTextbox và một
list box control tên là LstMyUstbox.
Khi người sử dụng click chọn một phần tử trong LstMyListbox, bạn
muốn giá trị đang chọn trong Listbox hiển thị vào textbox.
Chọn chương trình thích hợp?
txtMyTextbox.Text =
A)
1stMyListbox.Selected(lstMyListbox.Listlndex)
txtMyTextbox.Text = 1stMyListbox.
B)
ItemData(lstMyListbox.Listlndex)
C) txtMyTextbox = 1stMyListbox
txtMyTextbox.Text = 1stMyListbox(1stMyListbox.
D)
Listlndex).List
Q.12/ 60
A) txtUserName _Change
B) txtUserName _LostFocus
C) txtUserName _Click
D) txtUserName _Validate
Q.13/ 60
File
Item 1
Item 2
Item 3
Bạn muốn viết đọan code để bật tất cả menu ỡ vị trí chọn?
Các chọn lựa?
With mnuFileItem
C)
. Checked = True
End With
With mnuFileItem
. Checked(0) = True
D)
. Checked(1) = True
. Checked(2) = True
End With
Q.14/ 60
Đọan code nào sau đây sẽ chọn tất cả các phần tử của listbix
lstForms?
For i = 0 To lstForms.ListCount - 1
lstForms.List(i).Selected = TRUE
A)
Next
For i = 0 To lstForms.ListCount - 1
B) lstForms.Selected(i) = TRUE
Next
For i = 0 To lstForms.ListCount - 1
C) lstForms.List(i).SetFocus
Next
Q.15/ 60
A) ColorText
B) ForeColor
C) TextColor
D) FontColor
E) FillColor
F) Color
Q.16/ 60
Ứng dụng của bạn có một menu mnuCsutomer, với 2 menu con là -
Find và Edit. Menu Edit hiện nay đang bị cấm. (disabled). Bạn muốn
người sử dụng tìm một khách hàng (customer) trước khi có thể chọn
menu Edit. Bạn muốn viết code để cho phép cập nhật khách hàng.
Q.17/ 60
Sub MyProcA()
On Error goto ErrorHanler
Text1="MyProcA"
Call MyProcB
Text3="MyProcC"
Exit Sub
ErrorHanler:
Msgbox "đã có lỗi."
‘-------------CODE Còn thiết ở đây -------------
Sub MyProcB()
Text2="MyProcB"
Call MyProcC
End Sub
Sub MyProcC()
Dim vDiv
Vnum=3/vDiv
Text2=vNum
End Sub
Chọn đọan code tương ứng bên dưới để chèn vào chương trình để
cho phép chương trình vẫn tiếp tục thực hiện khi có lỗi xảy ra?
Các chọn lựa?
A) Resume
B) Exit Sub
C) Resume Next
D) Exit
E) Exit For
F) Exit Function
Q.18/ 60
if vlwWatch="DurianGroup" then
vType="123"
B)
else
vType="789"
Private vrtype as Integer
Private vrPick as string
Vrtype=1vrPick ="4"
if vrtype = vrPick then
C)
Text1.Text="DurianGroup"
Else
Text1.Text="DurianGroup.WOordpress.com"
End if
Dim vHold as Boolean
D)
vHold ="DurianGroup"
Q.20/ 60
Để ngăn người sử dụng đưa focus vào một button với bất cứ cách
nào, bạn nên ___________
Các chọn lựa?
Lệnh nào sau đây sẽ gán giá trị Caption của CommandButton vào
nội dung của textbox Text1
Các chọn lựa?
A) Text1 = Command1.Caption
B) Text1.Text = CStr(Command1)
C) Text1 = Command1.Text
D) Text1.Text = Command1.Text
Q.23/ 60
A) End
B) Show
C) Exit
D) Unload
Q.25/ 60
Bạn muốn viết một hàm tên là Calculate. Hàm này có 2 tham trị kiểu
Integer và trả về giá trị kiểu số LONG.
Chọn khai báo thích hợp nhất?
Nếu từ khóa Option Explicit được khai báo trong một module, thì tác
dụng của nó là
Chương trình sẽ hiển thị giá trị gì khi nút lệnh btnDiaplay được
click?
A) 0
B) 12
Chương trình sẽ hiển thị giá trị gì khi nút lệnh btnDiaplay được
click?
A) SecondThirdFirst
B) ThirdSecondFirst
C) Program will be error
D) FirstSecondThird
E) No output
Q.30/ 60
A) can tin
B) can can
C) Lỗi khi thực hiện chương trình
D) tin can
E) tin tin
Q.31/ 60
For x = 1 To 100
A) s = s+(1 / (x + 1))
Next
For n = 1 To 99
B) s = s+(n / (1 + n))
Next
For d = 2 To 99
C) s = 1 / d + d / (d + 1)
Next
For q = 100 To 1
D) s =s+ ((q + 1) /q)
Next
Q.32/ 60
Bạn muốn thiết lập tất cả giá trị của mảng thành 100. Chọn chương
trình thích hợp?
For j = 0 to 100
A) myArray(j) = 100
Next
B) All options
Nếu bạn muốn tạo thêm một command button cho Form, bạn sẽ lấy
command button này từ thành phần nào trong môi trường thiết kế
của VB (Visual Basic environment)?
Các chọn lựa?
A) Exit
B) Halt
C) End
Chương trình của bạn cho phép người khác chọn màu của Form. Bạn
có 5 màu để chọn.
Bạn nên sử dụng đối tương nào là thích hợp nhất?
Các chọn lựa?
A) option buttons
B) text boxes
C) check boxes
D) name boxes
Q.36/ 60
Để đưa hình ảnh vào một image control, ngừoi ta dùng thuộc tính
_______
Các chọn lựa?
A) icon
B) graphic
C) image
D) picture
Q.37/ 60
Để xác định xem một option button có được chọn hay không, nguời
ta dùng thuộc tính __________
A) Visible
B) Enabled
C) Value
D) Caption
E) GotFocus
F) Selected
Q.38/ 60
A) lab
B) lb
C) l
D) la
E) lbl
F) lbe
Q.39/ 60
Nếu một biến được khai báo mà không chỉ định kiểu dữ liệu, thì biến
đó sẽ có kiểu là ________
Các chọn lựa?
A) boolean
B) variable
C) string
Nếu một hàm (Sub/Function) cần được gọi trong nhiều Form, thì
hàm này nên được đặt trong __________
Các chọn lựa?
Đối với một Listbox trong Visual Basic 6, để thêm 1 phần tử vào,
người ta sử dụng phương thức _________
Các chọn lựa?
A) LisstIndex
B) AddValue
C) AddItem
D) AddList
E) ItemAdd
F) List
Q.42/ 60
A) 24
B) 3
C) 8
D) 10
E) 5
F) 15
Q.43/ 60
Khi button btnDisplay được click, thì kết quả của chương trình sẽ
hiển thị?
A) ABBA
B) ab ba
C) AB BA
D) ABAB
E) abba
Q.44/ 60
Khi button btnDisplay được click, thì kết quả của chương trình sẽ
hiển thị?
Private Sub btnDisplay_Click()
Dim var1, var2, var3, num As Integer
var1 = 2
var2 = 4
var3 = 6
Add(num)
txtBox.Text = CStr(num)
End Sub
A) 6
B) 12
C) 0
D) 8
Khi button btnDisplay được click, thì kết quả của chương trình sẽ
hiển thị?
A) 20
B) 0
C) 40
D) 80
Q.46/ 60
Chọn phát biểu sai trong các phát biểu sau đây khi thực hiện với
Visual Basic?
Các chọn lựa?
A) x = 10
B) If run then lblOut.Text = "True"
Chọn đọan lệnh nào sau đây để thay đổi giá trị hiển thị trên Button
Button1 thàn "Push Me" ?
Các chọn lựa?
A) boolean
B) string
C) long
D) integer
E) Kiểu dữ liệu khác
Giáo trình Visual Basic 6.0 271
Q.49/ 60
A) LstA.Clear
B) LstA.Remove
C) LstA.removeItem LstA.ListCount-1
D) LstA.Unload
E) LstA.RemoveAll
F) LstA.removeItem 0
Q.50/ 60
Cho chương trình sau đây, với Index là biến kiểu Integer và thisarray
là một mảng (0 to 5) của các số Integer
For index = 0 To 5
thisarray(index) = index
Next
For index = 0 To 5
Msgbox thisarray(index): 'Print
Next
Kết quả hiển thị khi thực thi chương trình lần luợt là?
Các chọn lựa?
A) 123456
Sub Form_Load ()
Dim MyString As String * 5
Dim Index As Integer
Msgbox MyString
End Sub
Kết quả hiển thị khi thực hiện chương trình là?
Các chọn lựa?
A) EEEEE
B) ABBBB
C) Chương trình bị lỗi
D) AAAAA
Q.53/ 60
Sub Form_Load ()
Dim i, a As Integer, b As Integer
i=0
a=4
b = 10
swap a, b
Cho biết kết quả sau khi chương trình thực hiện?
Các chọn lựa?
A) 10 4 0
B) 4 10 0
C) 10 4 1
D) 4 10 1
Q.54/ 60
A) OptionButtons
B) TextBoxes
C) CheckBoxes
D) Listbox
Q.55/ 60
A) dùng dấu //
B) /* comment */
C) dấu '
D) REM
Q.56/ 60
A) ToString
B) Str
C) Convert
D) ParseString
Q.57/ 60
Bao nhiêu lần MsgBox sẽ hiển thị khi thực thi chương trình sau?
For Index = 0 To 2
MsgBox Index
Next
Các chọn lựa?
A) 2
B) 0
C) 1
D) 3
Giá trị hiển thị cuối cùng khi thực hiện chương trình sau là bao
nhiêu?
Twos = 2
Do While Twos < 100
MsgBox Twos
Twos = Twos * 2
Loop
A) 2
B) 100
C) 64
D) 128
Q.59/ 60
Chương trình nào sau đây sẽ tính tổng các giá trị từ 1 đến 100?
Các chọn lựa?
Sum = 0
For I = 1 To 100
A)
Sum = Sum + I
Next I
B) Sum = 0
For I = 100 To 1 Step -1
Sum = Sum + I
Q.60/ 60
Chương trình nào sau đây sẽ tính tổng các giá trị các số chẵn từ 1
đến 100?
Các chọn lựa?
Sum = 0
For I = 1 To 100
A)
if i mod 2 =0 then Sum = Sum + I
Next I
Sum = 0
For I = 2 To 100 step 2
B)
Sum = Sum + I
Next I
C) Sum = 0