Tài liệu hướng dẫn thực tập tốt nghiệp Tin học xây dựng - Chương 1 - Pdf 19

B

môn Tin h

c Xây d

ng –
Đ
HXD Tài li

u h
ướ
ng d

n th

c t

p t

t nghi

p

8CHƯƠNG I. Công cụ lập trình
Phần này xin giới thiệu về công cụ lập trình Visual Basic (VB), đây là môi trường phát triển
thường được các sinh viên chuyên ngành Tin h ọc Xây d ựng sử dụng trong các đồ án t ốt
nghiệp. Sau khi đọc phần này, bạn có thể:


c Xây d

ng –
Đ
HXD Tài li

u h
ướ
ng d

n th

c t

p t

t nghi

p

9

Visual Basic còn có hai dạng khác: Visual Basic for Application (VBA) và VBScript. VBA
là ngôn ngữ nằm phía sau các ch ương trình Word, Excel, MSAccess, MSProject, .v.v còn
gọi là Macros. Dùng VBA trong MSOffice, AutoCAD , ta có th ể làm tăng chức năng bằng
cách tự động hóa các chương trình.
Dù cho mục đích của bạn là tạo một tiện ích nhỏ cho riêng b ạn, trong một nhóm làm vi ệc
của bạn, trong m ột công ty l ớn, hay c ần phân b ố chương trình ứng dụng rộng rãi trên th ế
giới qua Internet, VB6 cũng sẽ có các công cụ lập trình mà bạn cần thiết.

ng –
Đ
HXD Tài li

u h
ướ
ng d

n th

c t

p t

t nghi

p

10

I.1.2. Giao diện (IDE)
Khi khởi động VB6 bạn sẽ thấy mở ra hộp thoại New Project. Ở đây VB6 cho bạn chọn một
trong nhiều loại chương trình, hãy ch ọn Standard EXE ( để tạo chương trình là file EXE,
chạy độc lập)

Sau khi l ựa chọn loại chương trình, giao di ện của môi trường phát tri ển (IDE - Integrated
Development Environment) của VB hiện ra

B



I.1.2.2. Toolbars (Debug, Edit, form Editor, Standard)
Các toolbars có hình các icons cho phép b ạn click để thực hiện công việc tương đương với
dùng một menu, nhưng nhanh và tiện hơn. Bạn dùng menu View | Toolbars để làm cho các
toolbars hiện ra hay bi ến mất đi. Bạn có thể thay đổi vị trí một toolbar bằng cách nắm vào
hai gạch dọc nằm bên trái toolbar rồi dời toolbar đi chỗ khác (nắm ở đây nghĩa là để con trỏ
chuột lên chỗ hai gạch dọc rồi bấm xuống và giữ nút bên trái c ủa chuột, trong khi kéo con
trỏ chuột đi nơi khác).

B

môn Tin h

c Xây d

ng –
Đ
HXD Tài li

u h
ướ
ng d

n th

c t

p t

t nghi


c Xây d

ng –
Đ
HXD Tài li

u h
ướ
ng d

n th

c t

p t

t nghi

p

13

I.1.2.5. Properties window
Liệt kê các đặc tính c ủa các form ho ặc control
được chọn. Một property là m ột đặc tính c ủa một
object chẳng hạn như size, caption, hoặc color. Khi
bạn sửa đổi một property bạn sẽ thấy hiệu quả ngay
lập tức, thí dụ thay đổi property Font của một Label
sẽ thấy Label ấy được hiển thị bằng Font chữ mới.

Đ
HXD Tài li

u h
ướ
ng d

n th

c t

p t

t nghi

p

14

I.1.2.8. Immediate Window
Dùng để gỡ rối (debug) trình ứng dụng
của b ạn. B ạn có th ể hi ển th ị d ữ ki ện
trong khi ch ạy chương trình ứng d ụng.
Khi chương trình đang tạm ngừng ở một
break point, b ạn có th ể thay đổi giá tr ị
các biến (variables) hay ch ạy một dòng
chương trình. Phím tắt để bật / tắt cửa sổ
Immediate là tổ hợp Ctrl+G

I.1.2.9. View Code button

ướ
ng d

n th

c t

p t

t nghi

p

15

form ra cái gì có ý ngh ĩa hơn b ằng cách đổi thuộc tính Caption của form trong c ửa sổ
Propeties (trong hình dưới đây ta sửa thuộc tính Caption của form thành ra "Chuong trinh
dau tien").

I.1.3.1. Sắp đặt các vật dụng lên Form
Muốn đặt một Control lên Form, click hình cái Control trong Toolbox r ồi Drag (b ấm nút
trái của con chu ột rồi kéo cho thành hình ch ữ nhật trước khi buông nút trái ra) con chu ột
trên Form vẽ thành cỡ của Control. Những Controls bạn sẽ dùng thường nhất từ Toolbox là
Label (nhãn), Textbox (hộp để đánh chữ vào) và CommandButton (nút bấm mệnh lệnh).

Trong hình trên ta có 1 Label, 1 Textbox và 1 CommandButton. Mu ốn sửa chữ Label1 ra
"Loi chao" thì s ửa thuộc tính Caption. Còn Textbox không dùng thu ộc tính Caption mà
dùng thuộc tính Text. Ta cũng có thể thay đổi các thuộc tính Caption và Text trong khi chạy
chương trình (at run-time). Trong lúc thi ết kế (design time) bạn có thể sửa đổi kiểu chữ của
những Controls bằng cách đổi thuộc tính Font của chúng trong cửa sổ Properties (click bên

thể giải quyết bằng cách s ửa cỡ chữ của chính Form cho nó l ớn hơn. Vì khi m ột Control
được đặt lên một Form, nó thừa kế cỡ chữ của Form.
I.1.3.2. Viết code
Nháy đúp vào Button, VB bật lên cửa sổ Code cùng với một thủ tục Command1_Click mà
nội dung chưa có gì, bạn hãy bổ sung nội dung để có thủ tục Command1_Click như sau
Private Sub Command1_Click()
MsgBox "Xin chao " & Text1.Text
End Sub
Trong đoạn ch ương trình trên, Command1 là tên c ủa Command button trên form.
Command1_Click là hàm được gọi khi ng ười dùng nh ấn nút. Đoạn lệnh MsgBox th ực
chất là l ời gọi hàm. Hàm MsgBox hi ển thị một hộp thoại với nội dung trên h ộp thoại là
tham số đầu tiên của hàm. Text1 là tên của hộp nhập liệu TextBox trên form, Text1.Text là
nộp dung c ủa hộp nhập liệu. Trong đoạn chương trình này, chúng ta s ẽ hiển thị một hộp
thoại với lời nhắc trong hộp thoại là Xin chao + nội dung của hộp nhập liệu Text1.
I.1.3.3. Chạy chương trình
Để chạy chương trình vừa lập được, bạn nhấn F5 hoặc biểu tượng Run trên Toolbar. Sau
khi chạy, một hộp thoại giống với form mà chúng ta v ừa vẽ sẽ hiện ra. Click chu ột vào
TextBox để ghi tên c ủa bạn vào, ví d ụ: sửa nội dung TextBox thành “Tin hoc Xay dung”.
Nhấn vào nút Command1, chương trình sẽ hiển thị một hộp thoại khác với lời nhắc trên hộp
thoại giống như hình sau
B

môn Tin h

c Xây d

ng –
Đ
HXD Tài li


lệnh của người dùng.
I.1.4.1. Sắp đặt controls lên Form
Ta hãy bắt đầu thiết kế một chương trình mới (New Project) bằng cách chọn Standard EXE,
môi trường triển khai l ập trình (IDE) cho b ạn sẵn một Form tên là Form1. Mu ốn đặt một
Control lên Form, click hình Control tương ứng trong Toolbox rồi Drag (bấm nút trái của
con chuột rồi kéo cho thành hình chữ nhật trước khi buông nút trái ra) con chu ột trên Form
vẽ thành c ỡ c ủa Control. M ột cách khác để đặt m ột control lên Form là nháy đúp
(doubleClick) control trong Toolbox, m ột hình control s ẽ hi ện ra trên Form. K ế đó bạn
chuyển control đi đến chỗ mình muốn và thay đổi kích thước của nó. Nếu bất cứ lúc nào bạn
không thấy Túi đồ nghề (Toolbox) nằm bên trái, b ạn có thể dùng mệnh lệnh Menu View |
Toolbox để bắt nó hi ện ra. Có m ột cách khác là click lên bi ểu tượng toolbox trên toolbar
chính của VB6.

B

môn Tin h

c Xây d

ng –
Đ
HXD Tài li

u h
ướ
ng d

n th

c t

môn Tin h

c Xây d

ng –
Đ
HXD Tài li

u h
ướ
ng d

n th

c t

p t

t nghi

p

19

Bạn c ũng có th ể nhân d ịp này thay đổi kho ảng cách chi ều r ộng (Width) và chi ều cao
(Height) của các chấm đen của grid. Kích thước nhỏ nhất của Width hay Height là 24. Hãy
so sánh hai trường hợp form có và không có Show Grid như dưới đây

I.1.4.4. Control Locking
Một khi bạn đã sắp đặt kích thước và vị trí của các control trên form

Label Hiển thị thông tin để nhắc người dùng. Thường được sử dụng
kết h ợp với một TextBox để nêu ý ngh ĩa của dữ liệu trong
TextBox đó
CheckBox Cho phép người dùng nhập dữ liệu theo kiểu có / không
OptionButton Cho phép ng ười dùng nh ập dữ liệu theo ki ểu một l ựa chọn
trong nhiều lựa chọn khác nhau. Nếu như CheckBox cho phép
chọn nhiều lựa chọn trong 1 nhóm thì OptionButton ch ỉ cho
B

môn Tin h

c Xây d

ng –
Đ
HXD Tài li

u h
ướ
ng d


hình
I.1.5. Thuộc tính & Sự kiện
Chúng ta đã làm vi ệc với form và control (v ẽ các đối tượng), thay đổi các thu ộc tính của
form, control qua bảng thuộc tính (properties). Phần này sẽ trình bày một cách hệ thống các
thuộc tính và sự kiện phổ biến.
I.1.5.1. Thuộc tính
Mỗi đối tượng có các thuộc tính mô t ả vị trí, kích th ước, tính chất khác nhau, thay đổi các
giá trị của thuộc tính thì tính chất của đối tượng thay đổi. Bảng dưới đây liệt kê những thuộc
tính thông dụng của hầu hết tất cả các control.
Tên thu

c tính Mô t


Left Vị trí bên trái của control
Top Vị trí bên trên của control
Height Chiều cao của control
Width Chiều rộng của control
Name Tên control (tên này sẽ được sử dụng như là tên biến của đối tượng)
Enabled (True/False) Người dùng có thể tác động đến control hay không?
Visible (True/False) Control có được nhìn thấy hay không?
I.1.5.2. Sự kiện
Sự kiện là khái ni ệm mới m ẻ đối với những người chuyển t ừ Pascal sang VB. M ỗi đối
tượng sở hữu nhiều sự kiện khác nhau, tùy theo tác động của người dùng (hoặc hệ thống)
mà các đối tượng phát sinh ra các sự kiện tương ứng. Ví dụ: trong một ô nhập dữ liệu tên là
txtDuLieu
B

môn Tin h



kiên Mô t


Change Người dùng sửa nội dung của combo box hoặc text box
Click Người dùng click trái chuột trên button hoặc control
DblClick Người dùng click đúp trái chuột trên control
DragDrop Người dùng kéo control đến một vị trí khác
DragOver Người dùng kéo control lên trên một control khác
GotFocus Control nhận focus (tức là mọi thao tác phím được gửi đến control)
KeyDown
Người dùng nhấn phím khi control đang focus (chỉ phát sinh 1 l ần khi người dùng
nhấn phím)
KeyPress
Người dùng nhấn phím khi control đang focus (phát sinh nhiều lần, khi người dùng
giữ phím thì sẽ phát sinh nhiều sự kiện KeyPress – hiện tượng giữ và lặp phím)
KeyUp Người dùng thả phím khi control đang focus
LostFocus Control mất focus
MouseDown
Người dùng nh ấn phím chu ột (c ả trái và ph ải) khi con tr ỏ chu ột đang ở trên
control
MouseUp Người dùng thả phím chuột (cả trái và phải) khi con trỏ chuột đang ở trên control
MouseMove Người dùng di chuyển con trỏ chuột trên control
I.1.6. Các control thông dụng
I.1.6.1. TextBox
TextBox là control đuợc dùng nhiều nhất để hiển
thị văn bản và nhập dữ liệu. Thuộc tính chính của
Textbox là Text. Ta có th ể disable (khiến nó bất
lực, không phản ứng gì hết và không cho sửa đổi)
một TextBox bằng cách đặt thuộc tính Enable là

Text có thể được căn lề (thuộc tính Alignment) để căn chữ bên trái, chính giữa hay bên phải
của hộp nó (như hình bên).
I.1.6.2. CommandButton
CommandButton rất tiện cho ta dùng vào vi ệc xử lý một chuyện gì khi ng ười dùng Click
(chuột hoặc phím) lên button. Event ta dùng th ường nhất cho CommanButton là Click. Nội
dung hiển thị trên Button được xác định thông qua thu ộc tính Caption. Để người dùng có
thể sử dụng phím nóng (ví d ụ: Phím Exit – ALT+E – đè nút Atl trong lúc b ấm nút E), bạn
đặt ký tự "&" trước chữ E trong Caption c ủa button (&Exit). Button sẽ hiển thị với chữ E
được gạch chân (Exit).
Ngoài ra ta cũng có thể cho thêm một cái hình vào CommandButton bằng cách chọn một
icon cho thuộc tính Picture và đặt thuộc tính Style là Graphical (thay vì Standard)
Lúc run-time bạn có thể thay đổi hình hay Caption của CommandButton. Trong thí dụ dưới
đây, Caption của CommandButton CmdOperation biến đổi giữa hai values Stop và Start:
Private Sub CmdOperation_Click()
If CmdOperation.Caption = "&Stop" Then
CmdOperation.Caption = "St&art"
Else
CmdOperation.Caption = "&Stop"
End If
End Sub
I.1.6.3. Label
Mục đích chính của Label là để hiển thị thông tin hỗ trợ người dùng. Do đó ta có thể dùng
thuộc tính Font, ForeColor và Backcolor hiển thị chữ theo ý thích. Ngoài ra thu ộc tính
BorderStyle có thể cho Label lõm xuống nếu bạn đặt nó là Fixed Single. Nếu đặt thuộc tính
BackStyle bằng Transparent sẽ tránh trường hợp Backcolor của Label làm cho không đẹp.
Label c ũng có thu ộc tính Tabindex. N ếu b ạn mu ốn dùng ALT key để focus v ề m ột
Textbox, hãy để một Label với TabIndex bằng TabIndex của TextBox trừ 1. Giả sử Label
có Caption là "&Address" thì ALT+A sẽ mang Tab Cursor về TextBox màu vàng như trong
thí dụ dưới đây:


có dấu, bằng 1), Unchecked (làm cho hộp vuông trống không, bằng 0) hay Grayed (làm cho
hộp vuông có d ấu màu nh ạt, bằng 2). B ạn có th ể dùng thu ộc tính Alignment để làm cho
Caption đứng bên phải (Left Justify) hay bên trái (Right Justify) của hộp vuông.

I.1.6.5. OptionButton
OptionButton (còn g ọi là RadioButton) có hình tròn v ới một chấm ở giữa, thay gì hình
vuông với một gạch ở giữa như CheckBox. OptionButton luôn luôn được qui tụ thành một
nhóm, chứa trong m ột container. Container là m ột Control có kh ả năng chứa các controls
khác (Frame, PictureBox, hay chính Form đều là Container). Sau khi đặt một Container lên
Form, nếu muốn để một OptionButton lên Container, trước hết ta phải chọn container, rồi kế
đó chọn OptionButton. Sở dĩ, tất cả OptionButtons phải nằm trong một container là vì b ất
cứ lúc nào, nhi ều nhất là m ột OptionButton trong container có value True (vòng tròn có
chấm ở giữa).
Muốn biết một OptionButton có thật sự nằm trong một container, bạn thử kéo container đi
chỗ khác. Nếu OptionButton b ị dời theo container thì nó n ằm trong container. M ột cách
khác là th ử kéo OptionButton ra kh ỏi container. Nếu kéo ra được thì nó không n ằm trong
container.
Muốn di chuy ển m ột OptionButton t ừ container này sang container khác, b ạn Cut
OptionButton rồi Paste nó vào container kia.
B

môn Tin h

c Xây d

ng –
Đ
HXD Tài li

u h

End Sub
Chú ý: Để người dùng không th ể nhập thông tin vào Combo nh ư TextBox, hãy thi ết lập
thuộc tính Style là Dropdown List. Giá trị mặc định của Style là Dropdown Combo, ở kiểu
này, Combo ho ạt động như 1 TextBox nh ưng lại cho phép ng ười dùng nh ập nhanh b ằng
cách lựa chọn các giá trị từ danh sách.

B

môn Tin h

c Xây d

ng –
Đ
HXD Tài li

u h
ướ
ng d

n th

c t

p t

t nghi

p


u h
ướ
ng d

n th

c t

p t

t nghi

p

26

Tương tự như vậy, khi ta click d ấu tên ch ỉ qua trái thì MenuItem ta đang Edit sẽ mất bốn
dấu chấm, tức là trồi một bậc trong Menu.
Nếu muốn cho User dùng Alt key để xử dụng Menu, bạn đánh thêm dấu & trước character
bạn muốn trong menu Caption. Thí dụ Alt-F sẽ thả xuống Menu của Menu Command File.
Nếu bạn đặt cho MenuItem &Open tên mnuOpen, thì khi b ạn Click lên Caption nó trên
Form trong lúc thi ết kế, VB6 IDE s ẽ hiển thị cái vỏ của Sub mnuOpen_Click(), giống như
Sub cmdButton_Click() của một CommandButton
Private Sub mnuOpen_Click()
MsgBox "You clicked mnuOpen"
End Sub
Trong thí d ụ trên ta đánh thêm m ột Statement để hi ển th ị một message đơn gi ản "You
clicked mnuOpen". B ạn có th ể đặt cho m ột MenuItem tên gì c ũng được, nhưng người ta
thường dùng ti ền tố mnu để dễ phân bi ệt một menuItem Event v ới một CommandButton
Event. Do đó, ta có những tên mnuFile, mnuOpen, mnuSave, mnuClose, mnuExit.

p t

t nghi

p

27

Khi một MenuItem có Enabled=False thì nó bị mờ và người dùng sẽ không dùng được.
Bạn dùng các dấu mũi tên chỉ lên và xuống để di chuyển MenuItem đã được selected lên và
xuống trong danh sách các MenuItems. B ạn dùng button Delete để hủy bỏ MenuItem đã
được selected, Insert để nhét một MenuItem mới ngay trên MenuItem đã được selected và
Next để chọn MenuItem ngay dưới MenuItem đã được selected.
I.2. Ngôn ngữ Visual Basic
I.2.1. Kiểu, biến & biểu thức
I.2.1.1. Biến
VB không bắt buộc bạn phải khai báo biến, tuy nhiên một lời khuyên là bạn hãy đặt chế độ
bắt buộc khai báo bi ến. Để thiết lập chế độ này, b ạn vào menu Tools | Options , trên tab
Editor, đánh d ấu vào “Require Variable Declaration ”. Sau đó, b ất k ỳ m ột Form hay
Module nào được tạo mới đều có khai báo sau đây ở đầu tiên.
Option Explicit
Với khai báo này, tất cả các biến trước khi sử dụng đều phải có khai báo với cú pháp sau.
Dim <Tên biến> As <Kiểu biến>
Ví dụ
Dim i As Integer ' Biến kiểu số nguyên
Dim s As String ' Biến kiểu xâu ký tự
Dim a As Double ' Biến kiểu số thực kép
Dim c, d, e As Double ' Khai báo thế này là sai, chỉ có e là Double
' Còn c, d là kiểu Variant (biến tùy ý)
Dim c As Double, d As Double, e As Double

t nghi

p

28

Khi bạn đã biết lập trình trên một ngôn ngữ, việc hiểu kiểu biến của một ngôn ngữ khác là
tương đối đơn giản. Các kiểu biến trong VB được chia thành các loại sau
Biến kiểu số
Ki

u Mô t

Kho

ng giá tr

Ví d


Byte Số nguyên ngắn 0 255
Integer Số nguyên -32768 32767
Long Số nguyên dài -2147483648 2147483647
Single Số thực độ chính xác đơn
Double Số thực độ chính xác kép

' Thay gì viết
Dim Result As Long
Result = 30345 * 100 ' sẽ bị overflow error



u h
ướ
ng d

n th

c t

p t

t nghi

p

29

Mảng là kiểu dữ liệu phức gồm nhiều giá trị cùng kiểu sắp xếp liên tiếp nhau. Các phần
tử này được truy xu ất qua ch ỉ số. Mảng trong VB g ồm mảng tĩnh và mảng động, mảng
tĩnh là m ảng được xác định kích thước ngay từ khi dịch chương trình, mảng động có kích
thước chưa xác định và chỉ được cấp phát khi run-time.
Tốc độ truy xuất dữ liệu của mảng tĩnh và mảng động của VB là như nhau
Dim N(3) As Long ' Không nên khai báo kiểu này, gây mập mờ
Dim M(1 To 3) As Long ' Khai báo với cả chỉ số đầu và cuối cho tường minh
Dim Q() As Long
Dim i As Integer
M(1) = 1
M(2) = 2
M(3) = 3
ReDim Q(1 To 100)

B

môn Tin h

c Xây d

ng –
Đ
HXD Tài li

u h
ướ
ng d

n th

c t

p t

t nghi

p

30

Kiểu liệt kê (Enum)
Kiểu liệt kê là ki ểu do ng ười dùng định nghĩa, biến thuộc kiểu này có giá tr ị là một trong
các giá tr ị được liệt kê trong ki ểu. Sử dụng kiểu liệt kê v ừa đơn giản vừa có t ốc độ cao
(nhanh hơn rất nhiều so với thói quen sử dụng String để phân biệt các trường hợp). Để nắm

ng –
Đ
HXD Tài li

u h
ướ
ng d

n th

c t

p t

t nghi

p

31MsgBox Ten(1) ' Sử dụng tập hợp như mảng
MsgBox Ten(3) ' Truy cập theo chỉ số

Dim TuDien As New Collection
TuDien.Add "Cong nghe Thong tin", "CNTT" ' Thêm 1 phần tử gồm giá trị, tên
TuDien.Add "Tin hoc Xay dung", "THXD" ' Tên phần tử phải là duy nhất
TuDien.Add "Cong nghe phan mem", "CNPM"
TuDien.Add "Ky thuat He thong", "KTHT"


Toán t

Gi

i thích Ví d


K
ế
t qu


^ Mũ 2 ^ 3
8
* Nhân 2 * 3 6
/ Chia 6 / 2 3
+ Cộng 2 + 3 5
- Trừ 6 – 3 3
Mod phần dư 11 Mod 3 2
B

môn Tin h

c Xây d

ng –
Đ
HXD Tài li

u h


K
ế
t qu


1 Ngoặc () (2 + 3) * 7
35
2 ^ 2 ^ 3 + 1 9
3 *, /, \, Mod 2 + 3 * 7 23
4 +, - 10 – 4 * 2 + 1 3
I.2.1.5. Phép gán
Phép gán làm nhiệm vụ đưa một giá trị mới vào trong biến, giá trị này được tính từ các giá
trị đã có bằng các biểu thức. Cú pháp của phép gán như sau
<Tên biến> = <Biểu thức>
Chú ý, vế trái của phép gán bao giờ cũng là biến, vế phải là biểu thức. Vế trái của phép gán
không được là hằng số, biểu thức. Các ví dụ áp dụng.
Dim n As Integer
n = 10
n = 2*n*(n+1) ' n = 2*10*11 = 220
n = n+1 ' n = 221
Dim s1 As String, s2 As String
s1 = "Hello,"
s2 = "There"
s1 = s1 & " " & There ' s1 = "Hello, There"
I.2.1.6. Toán tử điều kiện
Các toán tử điều kiện dùng để so sánh các giá tr ị (biểu thức) với nhau, giá trị trả về là kiểu
Boolean (True – đúng hoặc False – sai)
Toán t


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status