1. Trang chủ
  2. » Công Nghệ Thông Tin

Thực hành với visual basic

141 609 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 141
Dung lượng 4,5 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài thực hành số 2: Biến, mảng, hàm, thủ tục và các cấu trúc điều khiểnKhai báo, gán và hiển thị giá trị của các loại biến cơ bản Khai báo biến • Thực hành: Khai báo các biến tương ứng v

Trang 1

Thực hành với Visual Basic

Biên tập bởi:

Khoa CNTT ĐHSP KT Hưng Yên

Trang 2

Thực hành với Visual Basic

Trang 3

MỤC LỤC

1 Bài thực hành số 1: Cài đặt Visual Basic và môi trường làm việc của VB

1.1 Cài đặt phần mềm Visual Basic

1.2 Chạy chương trình Visual Basic 6.0

1.3 Thiết lập môi trường làm việc

1.4 Lưu dự án (Project) ra đĩa

1.5 Chạy và đóng chương trình Visual Basic (VB)

1.6 Viết lệnh (Code) cho Form để hiển thị lời chào “Hello World”

1.7 Sử dụng câu lệnh Debug.Print

1.8 Sử dụng Câu lệnh InputBox

2 Bài thực hành số 2: Biến, mảng, hàm, thủ tục và các cấu trúc điều khiển

2.1 Khai báo, gán và hiển thị giá trị của các loại biến cơ bản

2.2 Khai báo và sử dụng biến mảng

2.3 Định nghĩa và sử dụng kiểu dữ liệu mới - Kiểu bản ghi

2.4 Định nghĩa Hàm (function) trong Visual Basic

2.5 Định nghĩa thủ tục trong Visual Basic

2.6 Truyền tham trị cho chương trình con

2.7 Truyền tham chiếu cho chương trình con

2.8 Cấu trúc rẽ nhánh If Then và If ElseIf Then

2.9 Cấu trúc đa rẽ nhánh Select Case

2.10 Cấu trúc lặp For

2.11 Cấu trúc lặp Do Loop While | Do Loop Until

3 Bài thực hành số 3: Sử dụng các điều khiển cơ bản trong Visual Basic

3.1 Sử dụng TextBox, Label kết hợp với Command Button

3.2 Sử dụng điều khiển Option

3.3 Sử dụng điều khiển CheckBox

3.4 Sử dụng điều khiển ListBox

3.5 Sử dụng điều khiển PictureBox

3.6 Sử dụng điều khiển Image

3.7 Sử dụng HscrollBar (Thanh cuộn ngang)

3.8 Sử dụng điều khiển Timer, Drive, Dir và File

4 Bài thực hành số 4: Sử dụng các hộp thoại

4.1 Sử dụng các hộp thoại

5 Bài thực hành số 5: Sử dụng Menu và các thanh công cụ

1/139

Trang 4

5.1 Tạo menu có nhiều cấp

5.2 Tạo một Menu ngang có nhiều mục

5.3 Tạo một Menu ngang (Menu bar) đơn giản

5.4 Viết lệnh cho các mục của menu

5.5 Tạo thanh công cụ Toolbar

5.6 Viết lệnh cho các nút trên thanh công cụ

5.7 Xây dựng chương trình soạn thảo văn bản đơn giản

5.8 Xây dựng chương trình nghe nhạc đơn giản

6 Bài thực hành số 6: Tạo, thao tác với cơ sở dữ liệu và sử dụng các đối tượng

6.1 Tạo một bảng CSDL trong Microsoft Access 2000

6.2 Kết nối đến CSDL sử dụng đối tượng ADO Data Control

6.3 Hiển thị bảng CSDL trong Data Grid

6.4 Thêm một bản ghi vào bảng CSDL

6.5 Sửa đổi nội dung của bản ghi

6.6 Tìm kiếm một bản ghi trong bảng

6.7 Loại bỏ (Xoá) một bản ghi khỏi bảng CSDL

6.8 Sử dụng các phương thức của đối tượng RecordSet đề duyệt các bản ghi

Tham gia đóng góp

Trang 5

Bài thực hành số 1: Cài đặt Visual Basic và môi trường làm việc của VB

Cài đặt phần mềm Visual Basic

Để cài đặt Visual Basic 6.0 chúng ta cần có bộ Visual Studio 6.0 (hoặc đĩa cài VB riêng)lưu trong đĩa cứng hoặc đĩa CD-ROM Với bộ Visual Studio cài đặt trên đĩa cứng, Cácbước thực hiện như sau :

B1: Tìm và chạy file Setup.exe

Chạy file Setup

B2: Chọn Next

Chọn Next

3/139

Trang 6

B3: Chọn “I Accept the Agreement”, sau đó chọn (click) Next

12

Các điều khoản về bản quyền

B4: Chọn Next

Nhập thông tin đăng ký

B5: Chọn “Custom” và chọn Next (Hoặc có thể chọn Products để cài đặt các sản phẩm

riêng biệt – Đây là cách đơn giản nhất)

12

Trang 9

Chạy chương trình Visual Basic 6.0

Click chọn Start→ Programs→ MS Visual Studio 6.0→ MS Visual Basic 6.0 Sau đóchọn kiểu dự án là Standard EXE khi có hộp thoại hiện ra:

Trang 10

Cửa sổ giao diện chính của Visual Basic

Trang 11

Thiết lập môi trường làm việc

Từ cửa sổ chính, click chọn thực đơn (Menu) Tools, và chọn mục options

Đặt các tuỳ chọn cho môi trường làm việc

Huỷ lựa chọn tự động kiểm tra cú pháp và đặt độ rộng phím TAB = 8 (hoặc 6 v.v )

1 2 3

Đặt chế độ kiểm tra cú pháp và yêu cầu khai báo biến

Chọn Font chữ hiển thị cho văn bản chương trình nguồn Hãy chọn font chữ là fontvntime hoặc VK Sans serif

9/139

Trang 12

Chọn font và màu chữ cho văn bản chương trình nguồn

Đặt độ rộng của lưới trên Form :

Đặt độ rộng cho lưới

Ngoài ra còn nhiều thiết lập khác nữa, yêu cầu sinh viên tự thực hành !

Trang 13

Lưu dự án (Project) ra đĩa

Để lưu dự án ra đĩa, chọn menu File → Save Project Hoặc nhấn biểu tượng đĩa mềmtrên thanh công cụ

Lưu ý khi lưu Project: Một project có thể chứa các Form, report, module, image,

clAss v.v… Thì mỗi đối tượng này nên lưu vào một thư mục riêng tương ứng như thư mục Forms, reports, modules, images, clAss v.v… Còn riêng file *.vbp (Visual Basic

Project) thì được lưu ở thư mục cha

Dưới đây là một hình ảnh của việc lưu trữ các thành phần của một Project:

Việc tổ chức lưu trữ các thành phần của một dự án

11/139

Trang 14

Chạy và đóng chương trình Visual Basic (VB)

Để chạy chương trình, chúng ta có thể vào menu Run → Start (F5) hoặc Run→Startwith Full compile (Ctrl + F5)

• Run → Start: Chạy chương trình nhưng không dịch toàn bộ chương trình (tức

là chương trình chạy đến đâu thì máy dịch tới đó)

• Run → Start with full compile : Dịch toàn bộ chương trình trước khi chạy,

như vậy nếu có xuất hiện lỗi ở bất cứ đâu trong chương trình thì máy sẽ dừnglại và thông báo lỗi

Trang 15

Viết lệnh (Code) cho Form để hiển thị lời chào “Hello

World”

Hiển thị lời chạy trong cửa sổ trung gian (Intermediate Window)

Bước 1: Tạo một Project : Vào menu Project → New Project, sau đó chọn loại Project

là Standard EXE như Hình 9.

Bước 2 : Mở cửa sổ soạn thảo lệnh: Vào menu View → Code

Bước 3: Viết lệnh như sau:

Viết lệnh trong cửa sổ Code

Bước 4: Chạy chương trình : Nhấn phím F5 hoặc tổ hợp phím Ctrl-F5 và quan sát kết

quả, ta sẽ thấy xuất hiện dòng chữ “Hello world” trong một cửa sổ có tên là Immediate

Có thể hiện cửa sổ này bằng tổ hợp phím Ctrl-G

Như vậy, lệnh Debug.print có chức năng hiển thị kết quả ra màn hình, nó tương tự như lệnh Writeln trong PAscal, printf trong C hay ? trong Foxpro…

Hiển thị lời chào trong hộp thoại - MsgBox

Các bước thực hiện giống như phần a) nhưng viết lệnh sau thay vì lệnh print:

13/139

Trang 16

Hiển thị lời chào bằng lệnh MsgBox

Nhấn F5 để chạy chương trình, ta có kết quả:

Kết quả chạy chương trình

Như vậy, lệnh MsgBox cũng có chức năng hiển thị kết quả ra màn hình giống như

Debug.Print nhưng trên một cửa sổ (hộp thoại) riêng

Trang 17

Sử dụng câu lệnh Debug.Print

Lệnh Print dùng để in một biểu thức ra cửa sổ tạm thời (Immediate)

Chương trình sau đây sẽ hiển thị một xâu, một số, một biến số, một xâu với một biến,một biểu thức bất kỳ bằng lệnh Debug.Print

Các cách sử dụng lệnh Print

Nhấn F5 để chạy chương trình Cửa sổ Immediate cho ta kết quả như sau:

Kết quả chạy chương trình

Lưu ý: Dấu “&” dùng để ghép các giá trị cần in.

15/139

Trang 18

Sử dụng Câu lệnh InputBox

Lệnh (hàm) InputBox có chức năng nhập dữ liệu từ người dùng, tương tự như Readln

trong PAscal, scanf trong C, Accept trong Foxpro Hàm InputBox có thể nhận một trong 3 tham số quan trọng là: Dòng nhắc “Prompt”, Tiêu đề của hộp thoại “Title”

và giá trị mặc định “Default” Hàm này trả về giá trị mà người dùng vừa nhập.

• Thực hành 1 : nhập họ tên của người dùng bằng hàm InputBox

Gõ đoạn lệnh sau vào trong thủ tục Form_Load :

SubForm_Load

Dim HoTen As String

HoTen = InputBox(“Nhập họ tên”)

Msgbox “Bạn vừa nhập xâu là : “ &HoTen

End Sub

• Thực hành 2: Nhập Họ tên và tuổi, sau đó thông báo ra màn hình bằng MsgBox

SubForm_Load

Dim HoTen As String

Dim Tuoi As Integer

HoTen = InputBox(“Nhập họ tên”,”Tiêu đề: Nhập thông tin”)

Tuoi = InputBox(“Tuổi của bạn : “,”Nhập thông tin”, 20)

Msgbox “Bạn vừa nhập xâu là : “ &HoTen

MsgBox “Tuổi là : “ &Tuoi

End Sub

Một số nhận xét:

• Thủ tục SubForm_Load tương tự như hàm main trong C hay Begin … End trong PAscal sẽ được gọi đầu tiên khi chương trình chạy.

Trang 19

• Hàm MsgBox, Debug.Print và InputBox được sử dụng như những lệnh nhập

xuất dữ liệu đơn giản nhất trong Visual Basic

17/139

Trang 20

Bài thực hành số 2: Biến, mảng, hàm, thủ tục và các cấu trúc điều khiển

Khai báo, gán và hiển thị giá trị của các loại biến cơ bản

Khai báo biến

• Thực hành: Khai báo các biến tương ứng với các kiểu dữ liệu cơ bản trong VB,

sau đó gán giá trị và hiển thị giá trị của các biến ra màn hình bằng hàm

MsgBox

• Hướng dẫn: Các kiểu dữ liệu cơ bản trong VB bao gồm Byte, Integer, Long,

Single, Double, String, Variant…

• Viết lệnh: Tạo một Project mới và gõ đoạn lệnh sau trong Form

Option Explicit

Dim ToanCucTrongFormAs Integer

Public ToanCucTrongUngDung As Integer

Trang 21

MsgBox "Biến b, chiếm 1 byte, phạm vi biểu diễn 0-255"

MsgBox "Biến Bool, 2 byte, biểu diễn giá trị True và False"

MsgBox "Biến i, 2 byte, phạm vi: -32768 +32767"

MsgBox "Biến L, chiếm 4 byte, phạm vi: -2,147,483,648 đến 2,147,483,647 "

MsgBox "Biến F, chiếm 4 byte, biểu diễn số thực âm và dương"

MsgBox "Biến D, chiếm 8 byte, biểu diễn số thực âm và dương rất lớn"

MsgBox "Biến S, chiếm 10+độ dài của xâu có thể lưu tới 2 tỉ ký tự"

MsgBox "Biến S1 là biến xâu có độ dài cố định (trường hợp này là 30)." & _

"có thể lưu tối đa khoảng 65400 ký tự"

MsgBox "Biến V là biến Variant, chiếm 16 byte Nó có thể lưu bất kỳ loại giá trị nào"End sub

Giải thích thêm:

• Biến ToanCucTrongForm (Toàn cục trong Form) được khai báo với từ khoá

Dim là biến có thể sử dụng ở bất kỳ đâu trong chính Form nó được khai báo.

• Biến ToanCucTrongUngDung (toàn cục trong toàn ứng dụng) được khai báo

với từ khoá Public có thể sử dụng ở bất kỳ Form nào trong toàn ứng dụng.

• Các biến khai báo trong SubForm_Load được gọi là các biến cục bộ trong thủ

tục, chúng chỉ được sử dụng bên trong chính thủ tục đó mà thôi

• Đối với các biến thuộc kiểu Variant thì khi khai báo chỉ cần viết, ví dụ: Dim V

• Khai báo Dim V, S As String tương đương với : Dim V As Variant, S As

String (V sẽ có kiểu là Variant chứ không phải là string !!!)

• Biến kiểu Variant không được hỗ trợ trong phiên bản VB.NET !

• Dấu & _ (Có 1 dấu cách giữa dấu & và dấu _ ) cho phép ngắt câu lệnh trênnhiều dòng

Gán và hiển thị giá trị của các biến

Thực hành: Gán giá trị cho các biến và hiển thị ra màn hình

Viết lệnh: Gõ đoạn code sau vào trong Form

Option Explicit

19/139

Trang 23

ToanCucTrongForm = 10

ToanCucTrongUngDung = 1000

MsgBox "b=" & b

MsgBox "Bool=" & Bool

MsgBox "i=" & i

MsgBox "ToanCucTrongForm=" & ToanCucTrongForm

MsgBox "ToanCucTrongUngDung=" & ToanCucTrongUngDung

End sub

21/139

Trang 24

Khai báo và sử dụng biến mảng

Khai báo hai biến mảng để lưu danh sách họ tên và điểm của 100 SV

Viết lệnh: Hãy gõ đoạn code sau vào trong Form:

Option Explicit

Dim HT(100) As String '/// Mảng chứa được 101 phần tử từ 0 đến 100

Dim Diem(1 To 100) As Single '/// Mảng chứa được 100 phần tử từ 1 đến 100

Dim MaTran1(4, 4) As Single '/// Ma trận (mảng 2 chiều) có 5 hàng 5 cột

Dim MaTran2(1 To 4, 1 To 4) As Single '/// Mảng 2 chiều có 4 hàng, 4 cột

Trang 25

MsgBox "Diem(2) = " & Diem(2)

MsgBox "MaTran1(0,4)=" & MaTran1(0, 4)

MsgBox "MaTran2(4,4) = " & MaTran2(4, 4)

• Lbound(M) (LBound = Lower Bound = Cận dưới) cho biết chỉ số dưới của

mảng M Ví dụ LBound(Diem) cho ta 1 LBound(MaTran1) cho ta 0

• Ubound(M) (UBound = Upper Bound = Cận trên) cho ta chỉ số trên của mảng

M UBound(Diem) → 100

• Khi khai báo một biến mảng mà không chỉ rõ số phần tử, ví dụ: Dim D()

AsInteger thì D được gọi là một mảng động (Dynamic array).

• Đối với mảng động, ta có thể thay đổi lại số phần tử của mảng bằng câu lệnh

Redim Ví dụ, xin 50 phần tử lưu trữ cho mảng D bằng cách viết : Redim

D(50)

23/139

Trang 26

Định nghĩa và sử dụng kiểu dữ liệu mới - Kiểu bản ghi

Thực hành: Định nghĩa kiểu dữ liệu mới để biến thuộc kiểu dữ liệu này có thể lưu trữ

được các thông tin về một cuốn sách (Tên sách, Tên tác giả, năm xuất bản, giá)

Hướng dẫn: Kiểu dữ liệu mới nên định nghĩa trong Module, còn nếu định nghĩa trong

Form thì chỉ có thể ở dạng Private (tức chỉ sử dụng cục bộ trong Form) mà không thể

ở dạng Public (Sử dụng trong mọi Form).

Minh hoạ: Tạo module mới: Vào menu Project → Add Module Lưu module này với

tên : modDataTypes.bAs

Gõ đoạn lệnh dưới đây vào trong module vừa tạo:

Option Explicit

'/// Định nghĩa kiểu dữ liệu mới : KieuSach

Public Type KieuSach

Dim Sach As KieuSach

Dim KhoSach(100) As KieuSach

Private SubForm_Load()

Sach.TenSach = "Lập trình VB thật là đơn giản"

Sach.TacGia = "Software Team - UTEHY"

Trang 27

Sach.NamXB = 2006

Sach.Gia = 45000

'/// Gán một số giá trị cho phần tử có chỉ số là 1 cho mảng

KhoSach(1).TenSach = "Bài tập Visual Basic"

KhoSach(1).TacGia = "Software Team - UTEHY"

KhoSach(1).NamXB = 2006

KhoSach(1).Gia = 34500

MsgBox Sach.TenSach & " giá : " & Sach.Gia

MsgBox KhoSach(1).TenSach & " Giá : " & KhoSach(1).Gia

End sub

• Ghi chú:

• Đoạn chương trình trên định nghĩa kiểu bản ghi (tương tự như Record trong PAscal hay struct trong C/C++) bằng câu lệnh Type, từ khoá Public đứng trước để chỉ ra rằng kiểu dữ liệu này có thể được dùng trong mọi Form, mọi module Còn nếu sử dụng từ khoá Private thay vì Public thì kiểu dữ liệu mới

này chỉ được sử dụng trong chính module đó mà thôi

• Đoạn code tiếp theo khai báo 2 biến thuộc kiểu dữ liệu vừa định nghĩa Một làbiến thông thường, biến thứ hai là một mảng

? Kiểu dữ liệu mảng thường được thao tác kết hợp với vòng lặp Các ví dụ thêm về

mảng kết hợp với vòng lặp sẽ được đề cập ở các phần tiếp sau

25/139

Trang 28

Định nghĩa Hàm (function) trong Visual Basic

Hàm và thủ tục được gọi là những chương trình con, giúp cho chương trình dễ bảo trì,

dễ hiểu và tránh phải viết lại những đoạn lệnh tương tự nhau

Thực hành: Định nghĩa hàm tính tổng của 2 số nguyên, kết quả được trả lại (gán) về cho

hàm

Hướng dẫn: Vì hàm cần tính tổng của 2 số nguyên nên số tham số đầu vào là 2, kiểu của

tham số đầu vào là Integer, và vì chỉ cần lấy giá trị của tham số vào mà không có nhu cầu thay đổi giá trị của nó do vậy ta sẽ khai báo 2 tham số của hàm thuộc dạng tham trị.

Minh hoạ:

Option Explicit

'/// Hàm tính tổng của hai số nguyên, 2 tham số truyền vào dưới dạng tham trị

Function Tong(byVal a AsInteger, byVal b AsInteger) As Long

Tong 10,20 '/// Gọi hàm Tong độc lập

Z = Tong(X,Y) '// Gọi hàm Tong và gán KQ cho Z

Trang 29

MsgBox "Tổng là : " & Tong(10, 20) '// Gọi hàm Tong

End sub

Chú ý:

• Khi định nghĩa hàm, nếu trước các tham số hình thức (tham số a, b ở trên) màkhông có từ khóa byVal thì VB sẽ hiểu là tham số đó ở dạng tham chiếu (thambiến) mà ta sẽ nói sau

• Hàm thì có thể gọi độc lập (ví dụ : Tong 10,20), khi đó các tham số không đượcđặt trong cặp ngoặc đơn Còn nếu hàm tham gia vào biểu thức hay câu lệnhkhác (2 cách gọi còn lại ở trên) thì các tham số phải được đặt trong cặp ngoặcđơn

• Việc gán kết quả cho tên hàm được gọi là trả kết quả về cho hàm

27/139

Trang 30

Định nghĩa thủ tục trong Visual Basic

Khi tính tổng của 2 số nguyên như phần trên thì ta cần lấy kết quả trả về là tổng củachúng, khi tính sin(x) thì ta cần kết quả trả về là sin của số x lúc đó ta cần phải địnhnghĩa hàm Tuy nhiên, trong một số trường hợp khi viết các chương trình con, nếu khôngcần phải kết quả trả về từ chương trình con, lúc đó ta nên định nghĩa chương trình con

đó ở dạng thủ tục (Sub).

Thực hành: Hiển thị ngày tháng năm, giờ phút giây hiện tại trong máy tính

Hướng dẫn: Hàm Now cho ta biết thông tin về ngày/tháng/năm và giờ/phút/giây hiện

tại trong máy tính Muốn trích riêng ngày, tháng, năm, giờ, phút, giây thì dùng các hàmtương ứng là Year, Month, day, hour, minute, second

Viết lệnh:

Option Explicit

'/// Thủ tục hiển thị thời gian hiện tại trong máy tính

Private Sub ThoiGian()

Dim D As Date '// Khai báo một biến kiểu Date/Time

D = Now '// Lấy ngày, tháng, năm, giờ, phút, giây hiện hành trong máy tính

MsgBox "Hôm nay là ngày " & Day(D) & " tháng " & Month(D) & " năm " & Year(D)

MsgBox "Bây giờ là " & Hour(D) & " giờ " & Minute(D) &" phút và " & Second(D) &

Trang 31

Kết quả thực hiện chương trình

Chú thích:

• Vì công việc ở trên chỉ đơn thuần là hiển thị thời gian hiện có trong máy tính

mà không cần lấy giá trị trả về từ chương trình con, do vậy chương trình con

được định nghĩa ở đây nên là dạng thủ tục (Sub).

• Việc gọi độc lập hàm hay thủ tục có thể kèm thêm từ khoá Call, nhưng không

bắt buộc (Từ khoá Call được VB giữ lại từ phiên bản Basic for Dos) Tuy nhiên

khi chúng ta gọi chương trình con với từ khoá Call thì các tham số (nếu có) bắtbuộc phải đặt trong cặp ngoặc đơn

• Câu lệnh Date = <Thời gian mới> và Time = <Giờ phút mới> để đặt lại thờigian của máy tính Ví dụ: Date = #February 12, 1985# và Time = #4:35:17PM# để thay đổi thời gian trong máy tính

29/139

Trang 32

Truyền tham trị cho chương trình con

Khi ta có một biến số và truyền biến số này cho một chương trình con nhưng ta khôngmuốn giá trị trong biến số này bị thay đổi khi gọi chương trình con đó thì lúc định nghĩachương trình con, tham số hình thức tương ứng phải ở dạng tham trị (có từ khoá byValđứng trước)

Thực hành: Viết chương trình tăng giá trị của một số lên 1 đơn vị và hiển thị.

Hướng dẫn: Hãy gõ đoạn lệnh dưới đây và chạy, bạn sẽ quan sát thấy rằng, giá trị củabiến số X sẽ không bị thay đổi giá trị sau khi kết thúc gọi thủ tục Tang, mặc dù trongchương trình có làm thay đổi giá trị của tham số truyền vào Tham số truyền vào chỉ bịthay đổi tạm thời trong thủ tục đó mà thôi, bởi vì tham số ta khai báo ở dạng THAMTRỊ

Viết lệnh:

Option Explicit

'/// Khai báo thủ tục với tham số ở dạng tham trị (Có từ khoá byVal)

PrivateSub Tang(ByVal a AsInteger)

Trang 33

Kết quả sau khi chạy

Kết luận:

• Khi tham số hình thức khai báo ở dạng tham trị thì tham số thực sự truyền vào

sẽ không bị thay đổi bởi chương trình con đó (cho dù trong chương trình con cólệnh làm thay đổi tham số truyền vào)

• Khi khai báo tham số ở dạng tham trị thì tham số thực sự truyền vào có thể làhằng số, biến số hay biểu thức

31/139

Trang 34

Truyền tham chiếu cho chương trình con

Không giống như truyền theo tham trị ở phần 5, nếu một chương trình con có làm thay

đổi giá trị của tham số thực sự truyền vào và ta muốn giữ lại sự thay đổi này thì cần khai báo tham số hình thức ở dạng tham chiếu.

Thực hành: Viết chương trình tăng giá trị của một số lên 1 đơn vị và hiển thị.

Hướng dẫn: Viết chương trình giống như phần 5, nhưng thay byVal bởi byRef (hoặc có

thể xoá từ khoá byVal đứng trước)

Option Explicit

'/// Khai báo thủ tục với tham số ở dạng tham trị (Có từ khoá byVal)

PrivateSub Tang(ByRef a AsInteger)

Trang 35

Kết quả sau khi chạy

• Qui tắc chung khi khai báo các tham số và chương trình con:

• Nếu có sự thay đổi giá trị của các tham số truyền vào chương trình con thì tham

số hình thức được khai báo sẽ ở dạng tham trị (có từ khoá byVal đứng trước)

• Nếu có nhu cầu thay đổi tham số truyền vào cho chương trình con thì tham sốtruyền vào sẽ ở dạng tham chiếu (có từ khoá byRef đứng trước, mặc định

không có từ khoá byVal hay byRef thì được coi là byRef)

• Chương trình con cần bao nhiêu Dữ kiện đầu vào thì mới giải quyết được Thựchành đặt ra thì sẽ khai báo bấy nhiêu tham số tương ứng

• Các tham số có thể khai báo là các tham số ngầm định (tức khi gọi chươngtrình con thì có thể bỏ qua tham số nay)

Ví dụ:

Sub ThongBao(Optional TB As String = "Hôm nay không có gì để Thông báo, nếu cò

gì cần thông báo, chúng tôi sẽ ")

MsgBox TB

End sub

• Hàm thì có thể tham gia vào biểu thức tính toán, thủ tục thì không

33/139

Trang 36

Cấu trúc rẽ nhánh If Then và If ElseIf Then

Cấu trúc IF Then dùng để thực hiện việc thay đổi luồng thực thi của chương trình tuỳ

vào điều kiện đang được xét

Thực hành: Giải phương trình bậc hai sử dụng cấu trúc IF.

Hướng dẫn: Chương trình giải phương trình bậc hai có thể viết trực tiếp ngay bên trong

thủ tục Form_load hoặc có thể viết trong một chương trình con riêng Ở đây ta viết trong một thủ tục và thủ tục này sẽ được gọi trong thủ tục chính Form_Load.

Boolean) Còn nếu viết theo hàm thì phải khai báo là: Function GiaiPT(ByVal

a As Single, byVal b As Single, byVal c As Single, x1 As Single, x2 As Single)

As Boolean Ở đây ta giảm đi một tham số vì dấu hiệu có nghiệm hay không

được trả về từ hàm 2 cách khai báo này coi như là một bài tập về nhà để bạnđọc tự làm !

• Có thể viết câu lệnh If theo dạng : If <Đkiện> Then <Câu_Lệnh>

Trang 37

Cấu trúc đa rẽ nhánh Select Case

Thực hành: Viết chương trình hiển thị thứ trong tuần ứng với mỗi số người dùng nhập từ bàn phím.

Viết lệnh:

PrivateSubForm_Load()

Dim Thu As Integer

Thu = InputBox("Nhập vào một con số : ", "Sử dụng cấu trúc SelectCase", 2)

Select Case Thu

Trang 38

• Biểu thức để kiểm tra (đứng sau SelectCase) có thể là một biểu thức số thực,

số nguyên, ký tự, xâu ký tự v.v

• Có thể viết nhiều câu lệnh trên cùng một dòng bằng cách thêm vào dấu hai

chấm ":" giữa các câu lệnh (Như các phần Case ở trên)

Thực hành: Viết chương trình tra cứu từ điển tin học Anh-Việt Người dùng

gõ từ Tiếng Anh, chương trình sẽ hiển thị nghĩa tiếng Việt của từ đó.

Viết lệnh:

PrivateSubForm_Load()

Dim TiengAnh As String

TiengAnh = InputBox("Nhập từ tiếng Anh: ", "Sử dụng cấu trúc Select", "computer") SelectCase TiengAnh

Case "computer"

MsgBox "Nghĩa của computer là Máy tính"

Case "ram"

MsgBox "Nghĩa của ram là Bộ nhớ trong"

Case "cpu", "CPU"

MsgBox "Nghĩa của cpu là: Bộ xử lý trung tâm"

Thực hành: Giải phương trình bậc hai sử dụng cấu trúc SelectCase (Đối với các ngôn

ngữ khác như PAscal hay C/C++ thì không hỗ trợ cách thức này)

Trang 40

Cấu trúc lặp For

Vòng lặp for dùng để lặp đi lặp lại một khối lệnh với số lần lặp xác định.

Thực hành: Viết chương trình tính tổng của N số tự nhiên đầu tiên, số N nhập từ bàn phím.

Hướng dẫn: Sử dụng hàm InputBox để nhập số N, Sau đó cộng dồn các số i (i chạy từ

1 đến N) vào tổng S Vì việc cộng lặp lại với số lần lặp cố định là N do vậy ta sử dụng

Hướng dẫn: Có nhiều cách tính, nhưng ở đây cần tận dụng thêm điều khoản step trong

cấu trúc lặp for như sau:

Viết lệnh:

Option Explicit

Ngày đăng: 28/11/2014, 17:16

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w