19
L L A A Ä Ä P P T T R R Ì Ì N N H H Ö Ö Ù Ù N N G G D D U U Ï Ï N N G G BAØI TAÄP VISUAL BASIC 6.0 BGIÁO DC VÀ ĐÀO TO TRƯỜNG ĐẠI HC SƯ PHM TP,HCM KHOA TOÁN – TIN HC http://www.hcmup.edu.vn

Giao Trinh Bai Tap VB 6 Bai 01-02

Embed Size (px)

Citation preview

Page 1: Giao Trinh Bai Tap VB 6 Bai 01-02

LLAAÄÄPP TTRRÌÌNNHH ÖÖÙÙNNGG DDUUÏÏNNGG

BAØI TAÄP VISUAL BASIC 6.0

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP,HCM KHOA TOÁN – TIN HỌC http://www.hcmup.edu.vn

Page 2: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 2

Mục lục

1. BÀI TẬP 1....................................................................................................................4

1.1. Bài toán .................................................................................................................4 1.2. Nội dung thực hành..............................................................................................4

2. BÀI TẬP 2....................................................................................................................8

2.1. Bài toán .................................................................................................................8 2.2. Nội dung thực hành..............................................................................................8 2.3. Phần tự chọn.......................................................................................................14

3. BÀI TẬP 3..................................................................................................................15

3.1. Bài toán ...............................................................................................................15 3.2. Nội dung thực hành............................................................................................15 3.3. Phần tự chọn.......................................................................................................20

4. BÀI TẬP 4..................................................................................................................21

4.1. Bài toán ...............................................................................................................21 4.2. Nội dung thực hành............................................................................................21

5. BÀI TẬP 5..................................................................................................................23

5.1. Bài toán ...............................................................................................................23 5.2. Nội dung thực hành............................................................................................23 5.3. Phần tự chọn.......................................................................................................26

6. BÀI TẬP 5..................................................................................................................28

6.1. Bài toán ...............................................................................................................28 6.2. Nội dung thực hành............................................................................................28 6.3. Phần tự chọn.......................................................................................................28 6.4. Phần tự chọn.......................................................................................................29

7. BÀI TẬP 6..................................................................................................................30

7.1. Bài toán ...............................................................................................................30 7.2. Nội dung thực hành............................................................................................30

8. BÀI TẬP 7..................................................................................................................31

8.1. Bài toán ...............................................................................................................31 8.2. Nội dung thực hành............................................................................................31 8.3. Phần tự chọn.......................................................................................................32

9. BÀI TẬP 8..................................................................................................................33

9.1. Bài toán ...............................................................................................................33

Page 3: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 3

9.2. Nội dung thực hành............................................................................................33 9.3. Phần tự chọn.......................................................................................................34 9.4. MỘT SỐ ĐIỂM LƯU Ý......................................................................................35

Page 4: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 4

1. BÀI TẬP 1

1.1. Bài toán

1.1.1. Đề bài

Tìm hiểu và làm quen với môi trường lập trình Visual Basic

1.1.2. Mục đích

- Cài đặt và khởi động Visual Basic (VB) - Làm quen với môi trường lập trình VB - Làm quen với Toolbox - Làm quen với cửa sổ Properties - Làm quen một ứng dụng đơn giản của VB

1.1.3. Yêu cầu

- Thời gian thực hiện : 2 tiết - Biết được cách khởi động VB - Hiểu được cấu trúc của một chương trình VB - Biết được cách tạo, lưu và mở một project - Biết được cách sử dụng Toolbox, cửa sổ Project, Properties,..

1.2. Nội dung thực hành

1.2.1. Khởi động chương trình Visual basic

- Chọn biểu tượng của chương trình Visual Basic từ desktop

- Khởi động chương trình VB bằng cách chọn lần lượt Start/Programs/Microsoft Visual Studio 60/Microsoft Visual Basic 6.0

Page 5: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 5

1.2.2. Tạo mới Project

- Chọn mục New Project từ menu File, xuất hiện dialog

- Chọn mục Standard EXE trong hộp thoại trên, sau đó nhấn OK, VB sẽ tạo sẵn cho chúng ta một Form mặc định có tên là Form1

1.2.3. Lưu project lên đĩa

- Chọn mục Save Project từ menu File, xuất hiện dialog yêu cầu nhập tên của tập tin cần lưu Form1

- Nhập tên của tập tin (Form) vào hộp File name, sau đó nhấn Save, xuất hiện hộp thoại yêu cầu nhập tên của Project

- Thực hiện tương tự như trường hợp lưu tên tập tin Form1

1.2.4. Mở project đã được lưu trên đĩa

- Chọn mục Open Project từ menu File, xuất hiện dialog yêu cầu chọn Project cần mở

Page 6: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 6

- Thực hiện chọn project cần mở như thực hiện mở một tập tin Word

1.2.5. Sử dụng Toolbox

(Xem thêm giáo trình lý thuyết)

Page 7: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 7

1.2.6. Cửa sổ Project

(Xem thêm giáo trình lý thuyết)

1.2.7. Cửa sổ Properties

(Xem thêm giáo trình lý thuyết)

Page 8: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 8

2. BÀI TẬP 2

2.1. Bài toán

2.1.1. Đề bài

Xây dựng chương trình minh họa các chức năng của một máy tính tay (calculator) với các phép toán +, -, x, /

2.1.2. Mục đích

- Hiểu được cách xây dựng ứng dụng đơn giản. - Tìm hiểu qui tắc đặt tên các đối tượng trong VB

o Control o Biến

- Tìm hiểu cách viết mã (code)

2.1.3. Yêu cầu

- Thời gian thực hiện : 4 tiết - Đặt tên các đối tượng theo đúng qui tắc. - Phân biệt và hiểu được công dụng của các control

2.2. Nội dung thực hành

2.2.1. Giao diện chương trình

2.2.2. Ý nghĩa các control

o TextBox: chức năng tương tự như là màn hình của máy tính o Nút lệnh C: dùng để xóa màn hình hiện hành o Nút lệnh AC: thực hiện tính toán mới o Nút lệnh = hiển thị kết quả của các phép tính tương ứng lên TextBox o Nút lệnh 0,1,2,3,4,5,6,7,8,9: nhập các số cần thực hiện tính toán o Nút lệnh +,-,x,/: chọn phép tính tương ứng

Page 9: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 9

2.2.3. Hướng dẫn cài đặt

2.2.3.1. Thiết kế giao diện (màn hình)

o Tạo Form o Sử dụng đối tượng Textbox để tạo màn hình máy tính o Sử dụng đối tượng Command Button để tạo các nút trên máy tính o Sử dụng đối tượng Label để tạo nội dung mô tả : calculated the operation…

2.2.3.2. Lưu Project

o Thư mục lưu trữ : C:\<Lop.MaSo>\BaiTap02, ví dụ: C:\11A12.23\Baitap02 o Tên Form: frmCal.frm o Tên Project : Baitap02.vbp

2.2.3.3. Đặt tên và giá trị của các đối tượng

STT Đối tượng Thuộc tính Giá trị Mô tả

Name txtScreen 1 Textbox Locked True Màn hình máy tính

Name cmdOne 2 Command Caption 1 Nút số 1 (tương tự cho các nút 2,3,4,5,6,7,8,9,0)

Name cmdClear 3 Command Caption C Xóa màn hình

Name CmdAC 4 Command Caption AC Thực hiện tính toán mới

Name cmdAdd 5 Command Caption + Phép cộng (Addition)

Name cmdSub 6 Command Caption - Phép trừ (Substraction)

Name cmdMul 7 Command Caption x Phép nhân (Multiplication)

Name cmdDiv 8 Command Caption / Phép chia (Division)

Name cmdResult 9 Command Caption = Kết quả

Name cmdDot 10 Command Caption . Dấu chấm (số thập phân)

Name lblDes 11 Label Caption Calculated the

operation

Mô tả

Page 10: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 10

2.2.3.4. Viết mã lệnh

- Khai báo biến Dim nVal1, nVal2 As Double Dim nResult As Double Dim sOperator As String

- Nút lệnh AC Private Sub cmdAC_Click() sOperator = "" nVal1 = 0 txtScreen.Text = "" End Sub

- Nút lệnh C Private Sub cmdC_Click() txtScreen.Text = "" End Sub

- Nút lệnh Dot Private Sub cmdDot_Click() If txtScreen.Text = "" Then txtScreen.Text = txtScreen.Text & "0." Else txtScreen.Text = txtScreen.Text & "." End If End Sub

- Nút lệnh Zero Private Sub cmdzero_Click() If txtScreen.Text <> "0" And txtScreen.Text <> "" Then txtScreen.Text = txtScreen.Text & 0 End If End Sub

- Nút lệnh cmdOne Private Sub cmdOne_Click() txtScreen.Text = txtScreen.Text & 1 End Sub

- Nút lệnh cmdTwo Private Sub cmd2_Click() txtScreen.Text = txtScreen.Text & 2 End Sub

- Nút lệnh cmdThree Private Sub cmd3_Click() txtScreen.Text = txtScreen.Text & 3 End Sub

- Nút lệnh cmdFour Private Sub cmdFour_Click() txtScreen.Text = txtScreen.Text & 4 End Sub

Page 11: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 11

- Nút lệnh cmdFive Private Sub cmdFive_Click() txtScreen.Text = txtScreen.Text & 5 End Sub

- Nút lệnh cmdSix Private Sub cmdSix_Click() txtScreen.Text = txtScreen.Text & 6 End Sub

- Nút lệnh cmdSeven Private Sub cmdSeven_Click() txtScreen.Text = txtScreen.Text & 7 End Sub

- Nút lệnh cmdEight Private Sub cmdEight_Click() txtScreen.Text = txtScreen.Text & 8 End Sub

- Nút lệnh cmdNine Private Sub cmdNine_Click() txtScreen.Text = txtScreen.Text & 9 End Sub

- Nút lệnh cmdAdd Private Sub cmdAdd_Click() sOperator = "+" nVal1 = Val(txtScreen.Text) txtScreen.Text = "" End Sub

- Nút lệnh cmdDiv Private Sub cmdDiv_Click() sOperator = "/" nVal1 = Val(txtScreen.Text) txtScreen.Text = "" End Sub

- Nút lệnh cmdMul Private Sub cmdMul_Click() sOperator = "*" nVal1 = Val(txtScreen.Text) txtScreen.Text = "" End Sub

- Nút lệnh cmdSub Private Sub cmdSub_Click() sOperator = "-" nVal1 = Val(txtScreen.Text) txtScreen.Text = "" End Sub

Page 12: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 12

- Nút lệnh cmdResult Private Sub cmdResult_Click() Dim nTem As Double nTem = Val(txtScreen.Text) Select Case sOperator Case "+" nResult = nVal1 + nTem Case "-" nResult = nVal1 - nTem Case "*" nResult = nVal1 * nTem Case "/" If nTem <> 0 Then nResult = nVal1 / nTem Else txtScreen.Text = "Cannot divide by zero" Exit Sub End If End Select If sOperator <> "" Then txtScreen.Text = Str(nResult) sOperator = "" End If End Sub

- Lưu ý: trong đoạn mã trên có sử dụng một số cấu trúc điều khiển. Cấu trúc này sẽ được học kỹ hơn trong phần lý thuyết

o If…then…..else…End if If blnBoolean then If blnFunction(strString) then Exit sub End if End if

Hoặc

If blnBoolean then If blnFunction(strString) then Exit sub Else IntCounter = intCounter + 1 End if Else Msgbox "Boolean is false"

End if

Page 13: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 13

o Select …case

Select Case intMenuItem Case 1 Do Statement S1 Case 2 If blnSecurityPass Then Do Statement S21 Else Do Statement S22 End if Else Do Statement S3 End select

Ví dụ minh họa cấu trúc điều khiển Select… Case

Trường hợp phép tính được chọn là

- Phép cộng (case “+”) Thực hiện phép cộng 2 số

- Phép trừ (case “-”) Thực hiện phép trừ 2 số

- Phép nhân (case “*”) Thực hiện phép nhân 2 số

- Phép chia (case “/”) o Nếu số chia khác không

Thực hiện phép tính chia o Ngược lại (số chia bằng 0) Thông báo lỗi không chia được

Select Case sOperator Case "+" nResult = nVal1 + nTem Case "-" nResult = nVal1 - nTem Case "*" nResult = nVal1 * nTem Case "/" If nTem <> 0 Then nResult = nVal1 / nTem Else txtScreen.Text = "Cannot divide by zero" Exit Sub End If End Select

Page 14: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 14

2.3. Phần tự chọn - Xây dựng máy tính với một số tính năng nâng cao theo mẫu sau

o ON : giống như chức năng mở máy tính, sau khi nhấn nút này thì Không cho thao tác nút ON Tất cả các nút còn lại được thao tác Màn hình máy tính xuất hiện số 0

o OFF: giống như chức năng tắt máy tính, sau khi nhấn nút này thì Chỉ cho thao tác nút ON Tất cả các nút còn lại không được thao tác. Màn hình máy tính không xuất hiện gì (để trống)

o Backspace: xóa ký tự cuối cùng trên màn hình, ví dụ Nếu trên màn hình xuất hiện 1234, thì khi nhấn vào nút Backspace,

màn hình sẽ còn lại 123. Nếu trên màn hình xuất hiện 1, thì khi nhấn vào nút Backspace, màn

hình sẽ còn lại 0 o M+: Cộng giá trị hiện tại trên màn hình máy tính vào bộ nhớ, ví dụ

Nếu giá trị bộ nhớ = 0 và giá trị trên màn hình =10 thì kết quả = 10 Nếu giá trị bộ nhớ = 10 và giá trị trên màn hình =20 thì kết quả = 30

o M-: Trừ giá trị hiện tại trên màn hình máy tính vào bộ nhớ, ví dụ Nếu giá trị bộ nhớ = 0 và giá trị trên màn hình =10 thì kết quả = -10 Nếu giá trị bộ nhớ = 30 và giá trị trên màn hình =20 thì kết quả = 10

o MC: xóa bộ nhớ o MR: hiển thị giá trị trong bộ nhớ ra màn hình o M: cho biết trạng thái của bộ nhớ

M: đang nhớ ( giá trị ô nhớ <> 0) : không thực hiện chức năng nhớ ( giá trị ô nhớ = 0)

o +/-: đổi giá trị trên màn hình, số âm thành số dương và ngược lại

Page 15: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 15

3. BÀI TẬP 3

3.1. Bài toán

3.1.1. Đề bài

Xây dựng chương trình minh họa màn hình chọn Font trong Word

3.1.2. Mục đích

- Tìm hiểu cách sử dụng các đối tượng o Radio Button o Checkbox o Combobox o Listbox. o Frame

3.1.3. Yêu cầu

- Thời gian thực hiện : 4 tiết - Biết được cách sử dụng các loại Radio Button, Checkbox, Combobox, Listbox,… - Biết được cách xác lập các property về font cho Textbox

o FontName, FontSize o FontBold, FontItalic, FontUnderline,… o Alignment

3.2. Nội dung thực hành

3.2.1. Giao diện chương trình

Page 16: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 16

3.2.2. Ý nghĩa các control

- Giao diện chương trình gồm các thành phần sau o Danh sách (List) các font chữ cho phép người dùng chọn, khi chọn Font chữ

trong listbox thực hiện hiển thị kết quả tương ứng trong : Preview và Textbox phía trên.

o Danh sách màu chữ (ComboBox) cho phép người dùng chọn màu chữ thể hiện trong Preview.

o Danh sách kích cỡ (ComboBox) cho phép người dùng kích cỡ chữ thể hiện trong Preview.

o Các CheckBox cho phép người dùng chọn kiểu chữ: in đậm, in ngihêng, gạch dưới,..

o Các Tùy chọn (Radio Button) cho phép người dùng chọn cách canh lề: canh trái (Left), canh phải (Right),… thể hiện trong Preview.

- Xem cách hoạt động trong chương trình Demo có tên Font.exe

3.2.3. Hướng dẫn cài đặt

3.2.3.1. Thiết kế giao diện

o Tạo Form o Sử dụng đối tượng ListBox để lưu danh sách các Font chữ o Sử dụng đối tượng ComboBox để lưu danh sách kích thước (Size) và màu

chữ (Color). o Sử dụng đối tượng CheckBox để xác định Font style: Bold, Italic,.. o Sử dụng đối tượng Radio Button để xác định thuộc tính Align: Left, Right o Sử dụng đối tượng Frame để gom nhóm các đối tượng o Sử dụng đối tượng TextBox để làm Preview sample

3.2.3.2. Lưu Project

o Thư mục lưu trữ : C:\<Lop.MaSo>\BaiTap03, ví dụ: C:\11A12.23\Baitap03 o Tên Form: frmFont.frm o Tên Project : Baitap03.vbp

3.2.3.3. Đặt tên và giá trị của các đối tượng

STT Đối tượng Thuộc tính Giá trị Mô tả

Name fraFont 1 Frame Caption Font Khung chứa: danh sách tên font chữ, màu, kích cỡ chữ

Name fraAlign 2 Frame Caption Align Khung chứa: các option chọn canh lề trái, phải…

Name fraStyle 3 Frame Caption Font Style

Khung chứa: các checkbox chọn kiểu chữ in đậm, in nghiêng, gạch dưới,..

Name fraPreview 4 Frame Caption Preview Khung chứa textbox minh hoạ kiểu chữ được chọn

Page 17: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 17

Name lstFontName

5 Listbox

List Arial Times New Roman Tahoma Vni-Times Vni-Centur …

Danh sách font chữ

Name cboSize

6 Combobox List 8

9 10 …

Danh sách kích cỡ chữ

Name cboColor

7 Combobox

List Red Green Blue Magenta …

Danh sách màu chữ

Name optLeft 8 RadioButton Caption Left Canh lề trái, tương tự cho trường hợp canh lề phải,…

Name chkBold 9 CheckBox Caption Bold

Kiểu chữ in đậm, tương tự cho trường hợp in nghiêng,..

Name txtFontName 10 Textbox Text Times New Roman Hiển thị tên font đang được chọn trong danh sách

Name txtSample 11 Textbox Text Times New Roman Minh họa kiểu chữ đang được chọn

3.2.3.4. Viết mã

- Lưu ý các thuộc tính (Properties) o của TextBox

FontName, FontSize FontBold, FontItalic, FontUnderline,… Alignment

o ListBox và ComboBox ListIndex ListCount List

- Sự kiện (event) o Sự kiện Click của Combo và Listbox o Sự kiện Click của CheckBox và Radio Button

Page 18: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 18

- Sư kiện Click vào Combo Color

Private Sub cboColor_Click()

Dim nIndex As Integer

nIndex = cboColor.ListIndex

Select Case nIndex

Case 0 'Red

txtSample.ForeColor = vbRed

Case 1 'Green

txtSample.ForeColor = vbGreen

Case 2 'Blue

txtSample.ForeColor = vbBlue

Case 3 'Magenta

txtSample.ForeColor = vbMagenta

End Select

End Sub

- Sư kiện Click vào Combo Size

Private Sub cboSize_Click()

'MsgBox cboSize.Text

txtSample.FontSize = Val(cboSize.Text)

End Sub

- Sư kiện Click vào Checkbox Bold

Private Sub chkBold_Click()

txtSample.FontBold = chkBold.Value

End Sub

- Sư kiện Click vào Checkbox Italic

Private Sub chkItalic_Click()

txtSample.FontItalic = chkItalic.Value

End Sub

- Sư kiện Click vào Checkbox Strikethrough

Private Sub chkStrikethrough_Click()

txtSample.FontStrikethru = chkStrikethrough.Value

End Sub

Page 19: Giao Trinh Bai Tap VB 6 Bai 01-02

Khoa Toaùn – Tin hoïc Baøi taäp thöïc haønh Visual Basic

GV: Ths Traàn Ngoïc Baûo Trang 19

- Sư kiện Click vào Checkbox Underline

Private Sub chkUnderline_Click()

txtSample.FontUnderline = chkUnderline.Value

End Sub

- Sư kiện Click vào Listbox FontName

Private Sub lstFontName_Click()

txtSample.Text = vbCr + vbLf + lstFontName.List(lstFontName.ListIndex)

txtFontName.Text = lstFontName.List(lstFontName.ListIndex)

txtSample.FontName = txtFontName.Text

End Sub

- Sư kiện Click vào Option Center

Private Sub optCenter_Click()

txtSample.Alignment = 2

End Sub

- Sư kiện Click vào Option Justify

Private Sub optJustify_Click()

txtSample.Alignment = 0

End Sub

- Sư kiện Click vào Option Left

Private Sub optLeft_Click()

txtSample.Alignment = 0

End Sub

- Sư kiện Click vào Option Right

Private Sub optRight_Click()

txtSample.Alignment = 1

End Sub