Tải bản đầy đủ (.pdf) (154 trang)

Bài giảng tin học xây dựng lê đắc hiền

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.39 MB, 154 trang )

Bài giảng TIN HỌC XÂY DỰNG

ĐẠI HỌC GIAO THÔNG VẬN TẢI

ft

BỘ MÔN TỰ ĐỘNG HÓA THIẾT KẾ CẦU ĐƯỜNG

D
ra

BÀI GIẢNG

TIN HỌC XÂY DỰNG

Lê Đắc Hiền
Bộ môn Tự động hóa Thiết kế Cầu đường

1


Bài giảng TIN HỌC XÂY DỰNG

MỤC LỤC
MỤC LỤC................................................................................................................2
PHẦN 1 TỔNG QUAN MÔN HỌC ..........................................................................6
PHẦN 2 CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC.........................11
CHƯƠNG I.
TỔNG QUAN VỀ VISUAL BASIC ...............................................12
I.1
I.2



GIỚI THIỆU VỀ VISUAL BASIC......................................................................................................12
Integrated Development Environment (IDE) .....................................................................................12
I.2.1
Cấu trúc một dự án VB..................................................................................................................13
I.2.2
Các thành phần của IDE ................................................................................................................13
I.2.3
Soạn thảo mã lệnh .........................................................................................................................14
I.3 TRỢ GIÚP TRONG QUÁ TRÌNH LÀM VIỆC (Help) ....................................................................14

CHƯƠNG II.

NGÔN NGỮ LẬP TRÌNH VISUAL BASIC ..................................16

D
ra

ft

II.1
QUY TẮC VIẾT MÃ LỆNH...........................................................................................................16
II.2
CÁC TỪ KHÓA TRONG VB6 .......................................................................................................17
II.3
CÁC KIỂU DỮ LIỆU CƠ BẢN......................................................................................................17
II.3.1 Boolean..........................................................................................................................................17
II.3.2 Byte ...............................................................................................................................................18
II.3.3 Integer (Kiểu nguyên) ...................................................................................................................18
II.3.4 Long ..............................................................................................................................................18

II.3.5 Single.............................................................................................................................................18
II.3.6 Double (Kiểu thực)........................................................................................................................18
II.3.7 String (Kiểu chuỗi)........................................................................................................................19
II.3.8 Date (Kiểu thời gian).....................................................................................................................20
II.3.9 Kiểu mảng (array) .........................................................................................................................21
II.3.10
Kiểu tự định nghĩa ....................................................................................................................21
II.3.11
Kiểu lớp (class).........................................................................................................................21
II.3.12
Kiểu Variant .............................................................................................................................21
II.3.13
Chuyển đổi (convert) kiểu dữ liệu ............................................................................................22
II.4
CÁC KHAI BÁO..............................................................................................................................23
II.4.1 Khai báo biến với các kiểu dữ liệu thông thường..........................................................................23
II.4.2 Khai báo hằng................................................................................................................................23
II.4.3 Khai báo kiểu tự định nghĩa. .........................................................................................................23
II.4.4 Khai báo mảng...............................................................................................................................24
II.4.5 Khai báo, tạo và làm việc với biến đối tượng................................................................................26
II.4.6 Các chú ý khi khai báo ..................................................................................................................26
II.5
BIỂU THỨC .....................................................................................................................................27
II.5.1 Các khái niệm................................................................................................................................27
II.5.2 Các loại phép toán .........................................................................................................................27
II.6
CÁC CÂU LỆNH .............................................................................................................................29
II.6.1 Lệnh gán........................................................................................................................................29
II.6.2 Lệnh rẽ nhánh If ............................................................................................................................29
II.6.3 Câu lệnh lựa chọn Select Case ......................................................................................................31

II.6.4 Câu lệnh lặp xác định ....................................................................................................................32
II.6.5 Câu lệnh lặp xác định trong một tập hợp.......................................................................................33
II.6.6 Câu lệnh lặp không xác định .........................................................................................................33
II.7
CHƯƠNG TRÌNH CON (HÀM VÀ THỦ TỤC)...........................................................................34
II.7.1 Khái niệm ......................................................................................................................................34
II.7.2 Hàm - Function..............................................................................................................................34
II.7.3 Thủ tục - Sub .................................................................................................................................35
II.7.4 Truyền tham số cho chương trình con ...........................................................................................36
II.8
TRUY XUẤT DỮ LIỆU TRONG VISUAL BASIC......................................................................38
II.8.1 Các khái niệm................................................................................................................................38
II.8.2 Biến toàn cục .................................................................................................................................38
II.8.3 Biến cục bộ....................................................................................................................................38
II.8.4 Biến module ..................................................................................................................................39
II.9
GỠ LỖI TRONG VISUAL BASIC (Debug)..................................................................................39

Bộ môn Tự động hóa Thiết kế Cầu đường

2


Bài giảng TIN HỌC XÂY DỰNG
II.9.1 Phân loại lỗi lập trình ....................................................................................................................39
II.9.2 Phát hiện và khắc phục lỗi trong lập trình .....................................................................................40
II.9.3 Dùng khai báo Option Explicit......................................................................................................42
II.9.4 Dùng Breakpoints..........................................................................................................................42
II.9.5 Dùng Immediate Window .............................................................................................................42
II.9.6 Dùng Watch Window....................................................................................................................43

II.9.7 Dùng Comment (chú thích) ...........................................................................................................43
II.10
TỔ CHỨC CHƯƠNG TRÌNH........................................................................................................43

CHƯƠNG III. FORM VÀ CÁC THÀNH PHẦN ĐIỀU KHIỂN..............................45
III.1
CÁC VẤN ĐỀ CHUNG ...................................................................................................................45
III.1.1
Thao tác tạo Form và các thành phần điều khiển trong VBIDE ...............................................46
III.1.2
Các thuộc tính của Form và các thành phần điều khiển............................................................47
III.1.3
Các phương thức của Form và các thành phần điều khiển. ......................................................48
III.1.4
Các sự kiện trên giao diện.........................................................................................................49
III.2
LÀM VIỆC VỚI FORM..................................................................................................................51
III.3
CÁC ĐIỀU KHIỂN THÔNG DỤNG .............................................................................................52
Điểu khiển nút lệnh (Command Button)

................................................................................52

2

Điều khiển hộp văn bản (TextBox)

3

Điều khiển nhãn (Label)


4

Điều khiển hộp đánh dấu (CheckBox)

5

Điều khiển nút tuỳ chọn (OptionButton)

6

Điều khiển hộp danh sách (ListBox)

7

Điều khiển hộp danh sách tổ hợp (ComboBox)

8
9

Điều khiển khung (Frame)
.....................................................................................................60
Thanh cuộn ngang (HscrollBar)
............................................................................................61

10

Thanh cuộn đứng (VScrollBar)

11


Thời gian (Timer)

12

Danh sách ổ đĩa (DriveListbox), Thư mục (DirListbox), Tập tin (FileListbox)

ft

1

........................................................................................53

..........................................................................................................55
...................................................................................55
...............................................................................56

D
ra

......................................................................................57
....................................................................60

.................................................................................................61

....................................................................................................................61
.62

CHƯƠNG IV. LÀM VIỆC VỚI TẬP TIN (FILE) ..................................................63


IV.1
HÀM I/O VÀ LỆNH XỬ LÝ TẬP TIN..........................................................................................63
IV.1.1
Mở tập tin .................................................................................................................................63
IV.1.2
Đọc nội dung tập tin .................................................................................................................64
IV.1.3
Ghi dữ liệu lên tập tin ...............................................................................................................64
IV.1.4
Đóng tập tin ..............................................................................................................................66
IV.1.5
Ví dụ .........................................................................................................................................66
IV.2
MÔ HÌNH File System Object (FSO).............................................................................................67
IV.2.1
Tạo đối tượng FileSystemObject ..............................................................................................68
IV.2.2
Truy cập ổ đĩa, thư mục, tập tin................................................................................................68
IV.2.3
Đối tượng ổ đĩa .........................................................................................................................68
IV.2.4
Đối tượng thư mục, làm việc với thư mục ................................................................................69
IV.2.5
Đối tượng tập tin, làm việc với tập tin ......................................................................................69
IV.2.6
Ví dụ .........................................................................................................................................71

PHẦN 3 TIN HỌC XÂY DỰNG .............................................................................74
CHƯƠNG I.
TIN HỌC HÓA TRONG XÂY DỰNG CÔNG TRÌNH....................75


I.1
I.2
I.3

KHẢ NĂNG CỦA MÁY TÍNH ...........................................................................................................75
TẠI SAO PHẢI TIN HỌC HÓA .........................................................................................................76
PHƯƠNG PHÁP THỰC HIỆN TIN HỌC HÓA...............................................................................76

CHƯƠNG II.
II.1
II.2

THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG ........................................78

LỰA CHỌN GIAO DIỆN ...............................................................................................................78
TRÌNH TỰ XÂY DỰNG GIAO DIỆN...........................................................................................81

Bộ môn Tự động hóa Thiết kế Cầu đường

3


Bài giảng TIN HỌC XÂY DỰNG

ft

II.3
THIẾT KẾ MENU ...........................................................................................................................81
II.3.1 Khái niệm ......................................................................................................................................81

II.3.2 Các thuộc tính................................................................................................................................81
II.3.3 Cách tạo menu ...............................................................................................................................82
II.4
CÁC HỘP THOẠI THÔNG DỤNG...............................................................................................83
II.4.1 Khái niệm ......................................................................................................................................83
II.4.2 Hộp thoại thông điệp .....................................................................................................................83
II.4.2.1
Loại chỉ xuất thông báo........................................................................................................83
II.4.2.2
Loại tương tác với người dùng.............................................................................................84
II.4.3 Hộp thoại nhập ..............................................................................................................................84
II.4.4 Hộp thoại dựa trên điều khiển Common Dialog............................................................................84
II.4.4.1
Hộp thoại mở và lưu tập tin .................................................................................................85
II.4.4.2
Hộp thoại Chọn màu ............................................................................................................85
II.4.4.3
Hộp thoại chọn Font chữ......................................................................................................86
II.4.4.4
Hộp thoại In ấn ....................................................................................................................87
II.5
SỰ KIỆN CHUỘT VÀ BÀN PHÍM................................................................................................87
II.5.1 Sự kiện chuột.................................................................................................................................87
II.5.2 Sự kiện bàn phím...........................................................................................................................88
II.6
SỬ DỤNG GIAO DIỆN ĐA TÀI LIỆU (MDI)..............................................................................88
II.6.1 Khái niệm ......................................................................................................................................88
II.6.2 Thiết lập ứng dụng MDI................................................................................................................89
II.7
GIAO DIỆN Wizard (Thuật sĩ).......................................................................................................90


CHƯƠNG III. ĐỒ HỌA TRONG VISUAL BASIC...............................................92

D
ra

III.1
TỌA ĐỘ MÀN HÌNH......................................................................................................................92
III.2
MÀU (Color).....................................................................................................................................93
III.3
CÁC THUỘC TÍNH ĐỒ HỌA CỦA Form & PictureBox ...........................................................94
III.4
CÁC PHƯƠNG THỨC ĐỒ HỌA ..................................................................................................94
III.4.1
Phương thức Print.....................................................................................................................94
III.4.2
Phương thức PSet .....................................................................................................................95
III.4.3
Phương thức Line .....................................................................................................................95
III.4.4
Phương thức Circle...................................................................................................................98
III.4.5
Phương thức PaintPicture .........................................................................................................98
III.4.6
Vẽ đa giác bất kỳ ....................................................................................................................100
III.5
CÁC ĐIỀU KHIỂN ĐỒ HỌA.......................................................................................................102
III.5.1


Điều khiển hộp hình ảnh (Picture Box)

..........................................................................102

III.5.2

Điều khiển hình ảnh (Image)

.........................................................................................103

III.5.3

Điều khiển hình dạng (Shape)

.........................................................................................103

III.5.4
Điều khiển Line
...............................................................................................................104
III.6
CÁC PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA 2 CHIỀU.................................................................104
III.6.1
Phép tịnh tiến ..........................................................................................................................104
III.6.2
Phép biến đổi tỷ lệ ..................................................................................................................104
III.6.3
Phép quay ...............................................................................................................................105
III.6.4
Phép đối xứng trục..................................................................................................................106
III.6.5

Phép biến dạng........................................................................................................................106
III.6.6
Phép biến đổi ngược ...............................................................................................................106
III.6.7
Một số tính chất của phép biến đổi .........................................................................................107

CHƯƠNG IV. LÀM VIỆC VỚI AUTOCAD/EXCEL ..........................................108

IV.1
TỔNG QUAN VỀ Component Object Model (COM) ................................................................108
IV.1.1
Khái niệm cơ bản về COM .....................................................................................................108
IV.1.2
Cấu trúc cơ bản của một COM Object....................................................................................108
IV.1.3
Các dạng đối tượng COM.......................................................................................................109
IV.1.4
Quản lý các đối tượng COM trong hệ thống ..........................................................................110
IV.1.5
Sử dụng các đối tượng COM ..................................................................................................110
IV.2
LÀM VIỆC VỚI AutoCAD...........................................................................................................111
IV.2.1
Hệ thống các đối tượng trong AutoCAD ................................................................................111
IV.2.1.1 Mô hình đối tượng trong AutoCAD...................................................................................111
IV.2.1.2 Một số đối tượng chính trong AutoCAD ...........................................................................112

Bộ môn Tự động hóa Thiết kế Cầu đường

4



Bài giảng TIN HỌC XÂY DỰNG
IV.2.2
Kết nối VB với AutoCAD ......................................................................................................116
IV.2.3
Các thao tác cơ bản trong AutoCAD ......................................................................................118
IV.2.3.1 Điều khiển AutoCAD ........................................................................................................118
IV.2.3.2 Tạo mới đối tượng hình học...............................................................................................121
IV.3
LÀM VIỆC VỚI Microsoft Excel .................................................................................................127
IV.3.1
Hệ thống các đối tượng trong Excel .......................................................................................128
IV.3.1.1 Mô hình đối tượng trong Excel..........................................................................................128
IV.3.1.2 Một số đối tượng cơ bản trong Excel.................................................................................130
IV.3.2
Kết nối VB với MS Excel.......................................................................................................135
IV.3.3
Các thao tác cơ bản trong Excel .............................................................................................138
IV.3.3.1 Làm việc với Workbook ....................................................................................................138
IV.3.3.2 Làm việc với Worksheet ....................................................................................................139
IV.3.3.3 Làm việc với Range và Cells .............................................................................................140
IV.3.3.4 Sử dụng các hàm có sẵn trong Excel .................................................................................142

CHƯƠNG V.

TRÌNH BÀY KẾT QUẢ...............................................................143

HIỂN THỊ TRỰC TIẾP TRONG CHƯƠNG TRÌNH................................................................143
THÔNG QUA AutoCAD, Excel....................................................................................................145

XUẤT FILE KẾT QUẢ.................................................................................................................145

ft

V.1
V.2
V.3

CHƯƠNG VI. CÁC BÀI TOÁN CƠ BẢN TRONG XÂY DỰNG .......................148

D
ra

VI.1
PHÂN TÍCH KẾT CẤU CẦU.......................................................................................................148
VI.1.1
Khái quát ................................................................................................................................148
VI.1.2
Mục đích chính .......................................................................................................................148
VI.1.3
Trình tự thực hiện ...................................................................................................................149
VI.1.3.1 Giao diện (Nhập số liệu + Điều khiển chương trình).........................................................149
VI.1.3.2 Tính toán (Thuật toán + kiến thức chuyên môn)................................................................149
VI.1.3.3 Xuất kết quả .......................................................................................................................149
VI.2
VẼ ĐỐI TƯỢNG HÌNH HỌC ......................................................................................................149
VI.2.1
Khái quát ................................................................................................................................149
VI.2.2
Mục đích chính .......................................................................................................................149

VI.2.3
Trình tự thực hiện ...................................................................................................................149
VI.2.3.1 Giao diện............................................................................................................................149
VI.2.3.2 Tính toán............................................................................................................................149
VI.2.3.3 Xuất kết quả .......................................................................................................................149
VI.3
THIẾT KẾ CẤU KIỆN..................................................................................................................150
VI.3.1
Khái quát ................................................................................................................................150
VI.3.2
Mục đích chính .......................................................................................................................150
VI.3.3
Trình tự thực hiện ...................................................................................................................150
VI.3.3.1 Giao diện............................................................................................................................150
VI.3.3.2 Tính toán............................................................................................................................151
VI.3.3.3 Xuất kết quả .......................................................................................................................151
VI.4
XỬ LÝ DỮ LIỆU ĐO ĐẠC...........................................................................................................151
VI.4.1
Khái quát ................................................................................................................................151
VI.4.2
Mục đích chính .......................................................................................................................151
VI.4.3
Trình tự thực hiện ...................................................................................................................152
VI.4.3.1 Giao diện............................................................................................................................152
VI.4.3.2 Tính toán............................................................................................................................152
VI.4.3.3 Xuất kết quả .......................................................................................................................152

PHỤ LỤC ............................................................................................................153


Bộ môn Tự động hóa Thiết kế Cầu đường

5


ft

Bài giảng TIN HỌC XÂY DỰNG

D
ra

PHẦN 1
TỔNG QUAN MÔN HỌC

Bộ môn Tự động hóa Thiết kế Cầu đường

6


Bài giảng TIN HỌC XÂY DỰNG

D
ra

ft

Trong lĩnh vực xây dựng công trình giao thông cũng như xây dựng dân dụng, sự ra đời của
một công trình bao giờ cũng là một quá trình, mà ở đó hàng loạt các công việc được thực
hiện trong phòng cũng như ngoài công trường theo một trình tự nhất định. Trong hàng loạt

công việc đó, để có được kết quả tốt nhất, người ta sử dụng những công cụ hỗ trợ, mà đắc
lực nhất cho những công việc nội nghiệp là hệ thống thông tin chuyên dùng cho xây dựng.
Hệ thống thông tin bao gồm hai thành phần cơ bản:
¾ Phần cứng: bao gồm các thiết bị tin học như: máy tính, máy in, máy quét, mạng...
Những thiết bị này là nền tảng cho các phần mềm hoạt động và chính chúng tạo ra
kết quả cuối cùng của công việc (bản vẽ, báo cáo, bảng biểu... in trên giấy hoặc số
liệu)
¾ Phần mềm: là hệ thống các chương trình do con người tạo ra để thực hiện một mục
tiêu nào đó. Nó là cầu nối cho việc biểu diễn và mô hình hóa ý tưởng của con người
trên hệ thống máy tính. Nhờ có phần mềm mà hệ thống máy tính mới vận hành
được, và từ đó, sức mạnh của phần cứng được khai thác để phục vụ cho các công
việc khác nhau trong mọi lĩnh vực, ví dụ trong xây dựng, nhờ có sự phối hợp hoạt
động của phần mềm và phần cứng mà ta có được mô hình 3 chiều của công trình
(hình 1) hay hệ thống các bản vẽ (hình 2) hoặc bản tính kết cấu (hình 3) với tốc độ
nhanh chóng và chính xác hơn hẳn so với làm thủ công.

Hình 1 – Mô hình 3 chiều của công trình được xây dựng trên máy tính

Bộ môn Tự động hóa Thiết kế Cầu đường

7


D
ra

ft

Bài giảng TIN HỌC XÂY DỰNG


Hình 2 – Hầu hết các bản vẽ kỹ thuật hiện nay đều thực hiện trên máy tính

Hình 3 – Phân tích kết cấu công trình trên máy tính

Bộ môn Tự động hóa Thiết kế Cầu đường

8


Bài giảng TIN HỌC XÂY DỰNG

D
ra

ft

Thông thường, khả năng của một hệ thống thông tin được biết đến ở khía cạnh chính sau:
¾ Tốc độ tính toán rất lớn, có thể thực hiện được hàng tỷ phép tính trong một giây.
¾ Cho phép dựng mô hình nhanh và chi tiết (hình 1) với các phần mềm hỗ trợ.
¾ Tạo bản vẽ, báo cáo, tài liệu trên giấy rõ ràng, đẹp và nhanh.
¾ Lưu trữ và sử dụng lại dữ liệu rất hiệu quả.
Hệ thống thông tin chuyên dụng cho ngành xây dựng bao gồm các thiết bị phần cứng và
các phần mềm, mà ở đó, các chức năng chính của chúng là phục vụ cho các công việc liên
quan đến xây dựng công trình như: dựng mô hình, tạo bản vẽ, in bản vẽ, tính toán kết cấu,
tổng hợp khối lượng, tính dự toán, lập kế hoạch.... Thông thường, phần cứng bao gồm các
máy tính (có thể nối mạng với nhau) và các thiết bị phụ trợ cho việc nhập dữ liệu (máy
quét, bàn số hóa) và xuất kết quả (máy in). Phần mềm là thành phần có sự khác biệt lớn
nhất giữa các hệ thống thông tin với nhau. Trong lĩnh vực xây dựng, phần mềm bao gồm
các loại cơ bản sau:
¾ Hệ thống các phần mềm văn phòng (tạo văn bản, bảng tính, biểu đồ, báo cáo, kế

hoạch...) mà phổ biến nhất là bộ phần mềm Office của Microsoft.
¾ Các phần mềm phân tích kết cấu như: SAP, MIDAS/Civil, Piling...
¾ Các phần mềm sử lý dữ liệu khảo sát và mô hình hóa địa hình: Topo, Land
Desktop...
¾ Các phần mềm lập dự toán: CE++, ACITT...
¾ Các phần mềm dựng bản vẽ kỹ thuật và phối cảnh: AutoCAD, 3DS Max, Micro
Station...
Khi người ta triển khai hệ thống thông tin có đặc điểm trên (về phần cứng và phần mềm)
vào quá trình xây dựng công trình thì quá trình này gọi là tin học hóa trong xây dựng.
Tùy thuộc vào khả năng của hệ thống phần cứng và phần mềm mà mức độ tin học hóa hay
tự động hóa được xác định ở mức cao hay thấp. Xét về tổng quát thì hiện nay ở Việt Nam,
mức độ tin học hóa theo hệ thống là chưa cao nhưng về chi tiết từng bước trong quá trình
xây dựng thì khá tốt. Do đặc điểm của quá trình xây dựng, cho nên phần mềm có vai trò
quan trọng nhất trong quá trình tin học hóa vì thế hiện nay mức độ tin học hóa chủ yếu
được đánh giá dựa trên hệ thống phần mềm mà đơn vị đó sử dụng.
Hệ thống phần mềm dùng trong xây dựng, về xuất xứ, được chia làm hai loại cơ bản:
¾ Phần mềm do các công ty chuyên về tin học làm ra (phần mềm thương mại), chúng
có khả năng hoạt động tốt, đáp ứng được hầu hết các vấn đề cơ bản trong quá trình
thiết kế, quản lý và tổ chức thi công của công trình.
¾ Phần mềm do chính các công ty hoạt động trong lĩnh vực xây dựng thực hiện (phần
mềm tự tạo), chúng được tạo ra chủ yếu với mục đích giải quyết những vấn đề phát
sinh cục bộ của công ty mà những phần mềm thương mại không đáp ứng được hoặc
chưa có phần mềm thương mại phù hợp.
Để có được những phần mềm thương mại và triển khai chúng một cách hiệu quả đòi hỏi
đơn vị hoặc công ty đó phải có được nhiều yếu tố như: nhân lực có trình độ tin học nhất
định, kinh tế, quy trình sản xuất phù hợp... Trong khi đó các phần mềm tự tạo lại có thể
ứng dụng được ngay do chúng xuất phát từ nhu cầu thiết thực của công ty cũng như người
làm ra nó cũng chính là người sử dụng, và đương nhiên, nó phù hợp hoàn toàn với quy
trình làm việc của công ty đó. Hơn nữa, các phần mềm thương mại không thể bao quát hết
mọi vấn đề trong lĩnh vực xây dựng công trình cho nên các công ty tin học thường tập

trung vào các bài toán cơ bản, vào những phần chính của quá trình thiết kế. Do đó chúng
giải quyết tốt những vấn đề này và những vấn đề khác của công việc thường được giải
quyết bằng thủ công hoặc dựa trên phần mềm tự tạo trên nền tảng kết quả của những phần
mềm thương mại. Ví dụ, trong thiết kế cầu, phần phân tích nội lực của kết cấu (phần trên
và phần dưới) đều có các phần mềm thương mại làm rất tốt (SAP, MIDAS/Civil, Piling...)

Bộ môn Tự động hóa Thiết kế Cầu đường

9


Bài giảng TIN HỌC XÂY DỰNG

D
ra

ft

trong khi đó triển khai bản vẽ kỹ thuật cho kết cấu cầu lại chưa có phần mềm thương mại
hỗ trợ cho nên hầu hết chúng được tạo ra một cách thủ công hoặc nhờ phần mềm tự tạo.
Phần mềm tự tạo, để có thể làm được nó, thì những kỹ sư chuyên ngành công trình cần
nắm được:
¾ Công cụ lập trình thích hợp, thường bao gồm:
o Ngôn ngữ lập trình: là công cụ để thể hiện những ý tưởng, kiến thức chuyên
môn, quy trình thực hiện, định dạng kết quả... thành ngôn ngữ mà máy tính
có thể hiểu được.
o Môi trường lập trình: là công cụ giúp cho việc xây dựng chương trình được
thuận lợi. Thông thường người ta tích hợp ngôn ngữ lập trình và môi trường
lập trình thành một sản phẩm thống nhất dưới tên gọi của ngôn ngữ lập
trình.

o Thư việc lập trình: là những bổ trợ giúp cho việc lập trình được nhanh và
hiệu quả, đây là thành phần không bắt buộc phải có thì mới lập được
chương trình.
¾ Phương pháp phân tích và tổng hợp vấn đề theo hướng có thể lập trình được. Thông
thường khi gặp một vấn đề và cần giải quyết nó bằng một chương trình tự tạo thì sự
tổng hợp và khái quát vấn đề sẽ đưa ra cách giải tổng quát, giúp cho khả năng của
phần mềm sẽ rộng hơn và tính ứng dụng tốt hơn. Trong khi đó việc phân tích theo
hướng chức năng hóa sẽ giúp cho việc xây dựng và bảo trì phần mềm thuận lợi.
Như vậy có thể thấy rằng, vai trò và phạm vi ứng dụng của phần mềm tự tạo là rất lớn và
rất rộng, trong khi đó, việc xây dựng nó lại dựa chủ yếu vào nhân lực của chính công ty
xây dựng công trình, cho nên việc tin học hóa quá trình xây dựng, ngoài việc triển khai
hiệu quả các hệ thống phần mềm thương mại, thì việc xây dựng phần mềm tự tạo là một
yếu tố quan trong không kém và trong nhiều trường hợp nó mang lại hiệu quả cao hơn là
đầu tư phần mềm thương mại.
Xét về mức độ phức tạp thì việc triển khai các phần mềm thương mại đơn giản hơn rất
nhiều so với việc tự xây dựng phần mềm. Thông thường các phần mềm thương mại được
chuyển giao thành một gói bao gồm:
¾ Phần mềm
¾ Đào tạo, hướng dẫn sử dụng phần mềm.
¾ Bảo hành, trợ giúp kỹ thuật trong quá trình sử dụng phần mềm.
Quá trình triển khai này thường khá nhanh và yêu cầu nhân lực có trình độ tin học ở mức
trung bình.
Trong khi đó, để xây dựng phần mềm tự tạo, đòi hỏi nhân lực có trình độ về chuyên môn
và tin học cao hơn. Chính vì lý do này, cho nên mục tiêu đào tạo kỹ sư trong các trường đại
học thuộc khối xây dựng (Giao thông, Xây dựng, Mỏ địa chất, Thủy lợi ...) luôn dành một
lượng thời gian thích hợp cho những môn học có thể giúp sinh viên lập trình được và môn
học này là một phần chính trong mảng kiến thức đó. Với những kiến thức này, sinh viên có
thể tự xây dựng những chương trình phục vụ cho quá trình học tập trong trường đại học
cũng như trong công tác sau này.
Do đó, mục tiêu chính của môn học này là hướng đến các mảng kiến thức giúp cho người

học có thể xây dựng được những chương trình ứng dụng cho ngành xây dựng công trình
nói chung. Nói cách khác, tin học xây dựng ở đây được tập trung vào phần xây dựng các
chương trình tự tạo.

Bộ môn Tự động hóa Thiết kế Cầu đường

10


ft

Bài giảng TIN HỌC XÂY DỰNG

D
ra

PHẦN 2
CƠ BẢN VỀ NGÔN NGỮ LẬP
TRÌNH VISUAL BASIC

Bộ môn Tự động hóa Thiết kế Cầu đường

11


CHƯƠNG I: TỔNG QUAN VỀ VISUAL BASIC

CHƯƠNG I. TỔNG QUAN VỀ VISUAL BASIC
Mục tiêu:
Chương này giới thiệu về môi trường phát triển tích hợp (IDE) Microsoft

Visual Basic 6.0; cũng như giúp sinh viên có cái nhìn tổng quan về Visual Basic.
Nội dung chính:
- Sử dụng môi trường phát triển tích hợp VB 6.0 để phát triển ứng dụng.
- Cách tạo dự án mới (New Project) trong VB 6.0.
- Sử dụng tốt hệ thống trợ giúp trong quá trình làm việc
Kiến thức có liên quan:

ft

- Sử dụng hệ điều hành Windows.

I.1 GIỚI THIỆU VỀ VISUAL BASIC

Visual Basic 6.0 (VB6) là một phiên bản của bộ công cụ lập trình Visual Basic (VB), cho
phép người dùng tiếp cận nhanh cách thức lập trình trên môi trường Windows.

D
ra

Visual Basic là gì?

Phần "Basic" đề cập đến ngôn ngữ BASIC (Beginners All-Purpose Symbolic Instruction
Code), một ngôn ngữ lập trình đơn giản, dễ học, được phát triển cho những người không
chuyên sâu về lập trình. VB được phát triển và mở rộng dựa trên BASIC.
Phần "Visual" đề cập đến phương pháp được sử dụng để tạo giao diện đồ họa người dùng
(Graphical User Interface hay viết tắt là GUI). VB có sẵn các thành phần điều khiển trực
quan (controls), các điểu khiển này được lập trình viên sắp xếp trên form tạo thành giao
diện người dùng.
Chính bởi sự đơn giản, dễ học nên VB6 là cách nhanh và tốt nhất để lập trình trong môi
trường Microsoft Windows. VB6 cung cấp bộ công cụ hoàn chỉnh để đơn giản hóa việc lập

trình ứng dụng dựa trên giao diện đồ họa.
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, AutoCAD, .v.v..
còn gọi là Macros. Dùng VBA trong MSOffice, 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.
VBScript được dùng cho Internet và chính Operating System.
Cài đặt Visual Basic
Phiên bản: Visual Basic 6.0
Cấu hình tối thiểu: 32 MB RAM, CPU Pentium II, Windows 98.
Sử dụng các file cài đặt (1CD) để cài, sửa đổi, xóa VB. Ngoài ra có thể cài thêm thư viện
MSDN – Help (3CD)

I.2 Integrated Development Environment (IDE)
IDE là tên tắt của môi trường phát triển tích hợp, đây là nơi tạo ra các chương trình VB.
Bộ môn Tự động hóa Thiết kế Cầu đường

12


CHƯƠNG I: TỔNG QUAN VỀ VISUAL BASIC

ft

I.2.1 Cấu trúc một dự án VB
- Dự án (Project) là tập hợp các file để hình thành nên chương trình ứng dụng.
- Dự án VB (VB Project) = Code Modules + Class Modules + Form
- Code Module: mã lệnh chính của chương trình
- Class Module: thiết kế các lớp của dự án
- Form: giao diện dạng hộp thoại của dự án để nhập số liệu và xuất kết quả.


VB hỗ trợ tạo nhiều kiểu ứng dụng khác nhau. Để tạo mới một dự án thực thi ta chọn
Standard EXE rồi chọn Open.
Các thành phần của IDE
Form trắng để thiết kế giao diện cho ứng dụng
Cửa sổ dự án hiển thị các file được tạo trong ứng dụng.
Cửa sổ thuộc tính hiển thị các thuộc tính của đối tượng và điều khiển được chọn.
Toolbox chứa các điều khiển cần thiết đễ xây dựng một ứng dụng VB.
Cửa sổ viết mã chương trình (Code).
MenuBar, Toolbar, Layout, Immediate Window,ViewCode, ViewForm

D
ra

I.2.2
-

Menu Bar
Chứa đầy đủ các lệnh để làm việc với VB6, kể cả các menu để truy cập các chức năng đặc
biệt dành cho việc lập trình như Project, Format, hoặc Debug

Bộ môn Tự động hóa Thiết kế Cầu đường

13


CHƯƠNG I: TỔNG QUAN VỀ VISUAL BASIC

Toolbars (Debug, Edit, form Editor, Standard)
Các toolbars gồm các biểu tượng cho phép chọn nhanh các chức năng cần thiết. Sử dụng
Menu View | Toolbars để tắt hoặc mở các toolbars.

Các toolbars có thể sửa đổi theo ý thích bằng chức năng: View | Toolbars | Customize...
Toolbox
Bao gồm các điều khiển (controls), dùng thiết kế giao diện đồ họa.
Khi có nhiều các control, có thể sử dụng Add Tab... để sắp xếp lại vị các control theo ý
muốn.
Project Explorer
Là nơi liệt kê các forms, modules và class trong dự án hiện hành.

ft

Properties window
Cửa sổ thuộc tính hiển thị các thuộc tính của đối tượng và điều khiển được chọn. Một
property là một đặc tính của một đối tượng 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 display bằng Font chữ mới.

D
ra

Form Layout
Dùng form Layout để chỉnh vị trí của các form khi form hiện ra lần đầu lúc chương trình
chạy.

Immediate Window
Dùng để gở rối (debug) quá trình kiểm tra ứng dụng.
Ta có thể xem các thông số khi chạy chương trình hay khi đang tạm ngừng. Có thể thay đổi
giá trị các biến hay chạy một dòng chương trình.

I.2.3 Soạn thảo mã lệnh
Trong Visual Basic IDE, cửa sổ mã lệnh (Code) cho phép soạn thảo mã chương trình với

một số chức năng (Tắt mở trong Tools|Option)
- Đánh dấu (Bookmarks): Chức năng này cho phép đánh dấu các dòng lệnh của chương
trình giúp việc xem lại các phần mã lệnh dễ dàng. Sử dụng tính năng này qua thanh công
cụ hoặc menu Edit.
- Tự động kiểm tra cú pháp (Auto Syntax Check). Khi chức năng này bật, nếu viết một
dòng chứa lỗi, VB sẽ thông báo về lỗi và hiển thị con trỏ ngay dòng chương trình lỗi. Nếu
không có chức năng này, VB chỉ hiển thị dòng mã sai với màu đỏ không kèm chú thích.
- Yêu cầu khai báo biến (Require Variable Declaration) (Tùy chọn): VB sẽ thông báo lỗi
khi một biến được dùng mà không khai báo và sẽ chỉ ra vị trí của biến đó.
- Gợi nhớ mã lệnh: (Auto List Members) Tự động hiển thị gợi ý khi ta gõ vào tên của
chúng. Sử dụng Ctrl+Space để sử dụng chức năng tự động hoàn thành mã chương trình.

I.3 TRỢ GIÚP TRONG QUÁ TRÌNH LÀM VIỆC (Help)

Trong khi lập trình có thể cần tìm hiểu thông tin liên quan đến các câu lệnh, hàm .v.v.. của
VB6. Các thông tin này được Microsoft cung cấp rất đầy đủ trong thư viện trợ giúp
Microsoft Developer Network | MSDN Library Visual Studio 6.0.
Truy cập thông qua menu Help | Contents của VB6, hoặc chọn (bôi đen) một từ khóa trong
mã lệnh rồi ấn F1.

Bộ môn Tự động hóa Thiết kế Cầu đường

14


CHƯƠNG I: TỔNG QUAN VỀ VISUAL BASIC

Phần trợ giúp được thiết kế giống như 1 quyển sách, kết hợp với chức năng tìm kiếm theo
từ khóa khiến người đọc dễ dàng tra cứu. Các thông tin được liên kết với nhau đầy đủ giúp
việc tham khảo đạt hiệu quả cao.

Yêu cầu: Máy tính phải cài đầy đủ thư viện MSDN (3CD)

Context Sensitive Help (trợ giúp đúng tình huống)
Nhiều phần của VB6 hỗ trợ context sensitive, có nghĩa là khi gặp lỗi hoặc cần trợ giúp chỉ
cần ấn F1 hoặc bôi đen từ khóa rồi nhấn F1. Chương trình sẽ hiển thị thông tin liên quan
đến vấn đề cần trợ giúp.
Các phần context sensitive là:







Các
Các
Các
Các
Các
Các

Windows của VB6 như Properties, Code .v.v..
control trong Toolbox.
Object trên một form hoặc Object tài liệu.
đặc tính trong Window Properties.
keywords của VB6
thông báo lỗi (error messages)

ft


Ngoài ra, trong Help thường có Example là các ví dụ minh họa cách dùng cho một đối
tượng nào đó dùng tham khảo rất phù hợp.

Tìm kiếm trợ giúp trên Internet

D
ra

Việc tìm kiếm thông tin trên Internet là hết sức cần thiết, dù trong lĩnh vực nào. Đặc biệt là
trong công việc lập trình. Chúng ta có thể tra cứu, tìm kiếm ví dụ, thảo luận về vấn đề mắc
phải…
Một số website hữu ích:
- Trang chủ của Microsoft Developer Network

- Trang tìm kiếm nhanh và hiệu quả
- Mã nguồn miễn phí và nhiều ví dụ hữu ích

Bộ môn Tự động hóa Thiết kế Cầu đường

15


CHƯƠNG II: NGÔN NGỮ LẬP TRÌNH VISUAL BASIC

CHƯƠNG II. NGÔN NGỮ LẬP TRÌNH VISUAL BASIC
Mục tiêu:
Chương này giới thiệu về các cấu trúc lập trình trong VB; đây là các cấu trúc cốt
lõi để xây dựng nên một chương trình VB.
Nội dung chính:
- Sử dụng môi trường lập trình VB để viết mã lệnh, các quy tắc, từ khóa.

- Các kiểu dữ liệu trong VB.
- Cách khai báo hằng, biến trong VB.

ft

- Biểu thức trong VB.
- Các câu lệnh đơn cũng như các câu lệnh có cấu trúc.
- Chương trình con trong VB.

- Truy xuất dữ liệu, tổ chức chương trình trong VB.
- Gỡ lỗi trong VB.

D
ra

Kiến thức có liên quan:

- Cách sử dụng môi trường phát triển của VB

II.1 QUY TẮC VIẾT MÃ LỆNH

Cũng giống như các ngôn ngữ lập trình khác, VB đưa ra những quy tắc cho người lập trình
trong quá trình viết mã lệnh. Người lập trình cần phải tuân theo các quy tắc này để trình
biên dịch có thể dịch mã lệnh mà không phát sinh lỗi cú pháp.
- Các câu lệnh phải là các dòng riêng biệt. Nếu có nhiều lệnh trên cùng một dòng thì
giữa các lệnh ngăn cách nhau bằng dấu hai chấm (:). Nếu dòng lệnh quá dài, muốn ngắt
lệnh thành hai dòng thì sử dựng dấu cách và dấu gạch dưới (_).
- Dòng chú thích được bắt đầu bằng (‘)

Qui ước đặt tên biến của ngôn ngữ VB cũng tương tự như các ngôn ngữ khác:

• Chỉ dùng được ký tự (hoa và thường), số, và ký tự gạch chân.
• Phải bắt đầu bằng ký tự, dài không quá 255 ký tự.
• Không có khoảng trống, không trùng tên từ khóa.
Ví dụ:
Đúng
Sai
My_Car
My.Car
ThisYear
1NewBoy
Long_Name_Can_beUSE
He&HisFather
Các lỗi cú pháp sẽ được VBIDE phát hiện và báo lỗi cho người lập trình ngay trong quá
trình viết mã lệnh.

Bộ môn Tự động hóa Thiết kế Cầu đường

16


CHƯƠNG II: NGÔN NGỮ LẬP TRÌNH VISUAL BASIC

II.2 CÁC TỪ KHÓA TRONG VB6
Từ khoá là tập hợp các từ cấu thành một ngôn ngữ lập trình. Mỗi ngôn ngữ lập trình có một
bộ từ khoá riêng, dưới đây là danh sách các từ khoá trong ngôn ngữ lập trình VB6:
As
Binary
ByRef
ByVal
Date

Else
Empty
Error
False

For
Friend
Get
Input
Is
Len
Let
Lock
Me

Mid
New
Next
Nothing
Null
On
Option
Optional
ParamArray

Print
Private
Property
Public
Resume

Seek
Set
Static
Step

String
Then
Time
To
True
WithEvents

ft

II.3 CÁC KIỂU DỮ LIỆU CƠ BẢN

Kiểu dữ liệu là một tập hợp các giá trị mà một biến của kiểu có thể nhận và một tập hợp
các phép toán có thể áp dụng trên các giá trị đó.
Trong VB6 có rất nhiều kiểu dữ liệu khác nhau như: Boolean, Double, Integer, Object,
String, Variant... Từng kiểu có mục đích riêng và việc sử dụng đúng sẽ giúp chương trình
chạy nhanh. Chúng ta sẽ đi tìm hiểu các kiểu dữ liệu cơ bản

D
ra

II.3.1 Boolean
Đặc điểm: Chỉ có 2 trạng thái: True và False.
Khi chuyển từ các dữ liệu dạng số sang kiểu logic, 0 sẽ được chuyển thành FALSE còn giá
trị khác sẽ được chuyển thành TRUE. Khi chuyển từ kiểu logic sang kiểu số, giá trị FALSE
sẽ được chuyển thành 0 còn giá trị TRUE sẽ được chuyển thành -1.

Phạm vi áp dụng: các bài toán lặp, if then, thường dùng làm cờ hiệu (flags).
Ví dụ:

Bộ môn Tự động hóa Thiết kế Cầu đường

17


CHƯƠNG II: NGÔN NGỮ LẬP TRÌNH VISUAL BASIC

ft

‘Cách 1:
DKTuoi = (Tuoi =< 18)
DKThuNhap = (ThuNhap > 1000000)
If DKTuoi And DKThuNhap Then
LaTrieuPhuTre
End If
‘Cách 2:
If (Tuoi =< 18) Then
DKTuoi = 1
Else
DKTuoi = 0
End If
If (ThuNhap > 1000000) Then
DKThuNhap = 1
Else
DKThuNhap = 0
End If
If (DKTuoi = 1) And (DKThuNhap = 1) Then

LaTrieuPhuTre
End If

D
ra

II.3.2 Byte
Đặc điểm: Sử dụng 8-bit để lưu trữ giá trị, tức có thể lưu giá trị dương từ 0 đến 255
Phạm vi áp dụng: hữu ích trong việc lưu dữ liệu nhị phân
II.3.3 Integer (Kiểu nguyên)
Đặc điểm: Kiểu số nguyên, sử dụng 16-bit để lưu trữ,
Khoảng giá trị: từ -32768 đến 32767
Phạm vi áp dụng: Khi trong chương trình không sử dụng giá trị thập phân

II.3.4 Long
Đặc điểm: Kiểu số nguyên, sử dụng 32-bit để lưu trữ, thường được gọi là số nguyên dài.
Khoảng giá trị: từ -2,147,483,648 đến 2,147,483,647
Phạm vi áp dụng: Kiểu Long giống như Integer chỉ chứa số nguyên.

II.3.5 Single
Đặc điểm: Kiểu số thực, sử dụng 32-bit để lưu trữ, kiểu dữ liệu này còn được gọi là độ
chính xác đơn.
Khoảng giá trị:
-3.402823e38 đến -1.401298e-45 với số âm và từ
1.401298e-45 đến 3.402823e38 cho số dương
Phạm vi áp dụng: Sử dụng với giá trị thập phân nằm trong khoảng trên.
II.3.6 Double (Kiểu thực)
Đặc điểm: Kiểu số thực, sử dụng 64-bit để lưu trữ, kiểu dữ liệu này được gọi là độ chính
xác kép.
Khoảng giá trị:

-1.79769313486232e308 đến -4.94065645841247e-324 với số âm và từ
4.94065645841247e-324 đến 1.79769313486232e308 cho số dương
Phạm vi áp dụng: Khi cần tính toán với yêu cầu độ chính xác cao.

Bộ môn Tự động hóa Thiết kế Cầu đường

18


CHƯƠNG II: NGÔN NGỮ LẬP TRÌNH VISUAL BASIC

II.3.7 String (Kiểu chuỗi)
Đặc điểm:
Chuỗi dữ liệu chứa từ 0 đến 65.500 ký tự. Từng ký tự có khoảng giá trị từ 0 đến 255 trong
bảng ASCII.
Có sẵn một số hàm liên quan đến chuỗi ví dụ: cắt chuỗi, tách chuỗi, nhập chuỗi,… Có thể
tra cứu các hàm này trong các tài liệu tham khảo như MSDN hoặc Object Browser (thư
viện Strings).
Phạm vi áp dụng: Khi cần làm việc với dữ liệu văn bản (Text).
Được sử dụng nhiều trong các bài toán quản lý, các bài toán yêu cầu nhập xuất dữ liệu.
Việc dùng string cũng giúp cho các bài toán có giao diện thân thiện hơn.
Ví dụ:

D
ra

ft

Private Sub Command1_Click()
Dim sText As String

Dim lTextLength As Long
Dim sChar As String
Dim bASCII As Byte
Dim x As Long
sText = " VB that la don gian!"
lTextLength = Len(sText) 'So ky tu trong sText
For x = 1 To lTextLength ‘Lap den ky tu cuoi cung trong sText
sChar = Mid$(sText, x, 1)'Lay ky tu thu x trong sText
bASCII = Asc(sChar)
'Lay gia tri ASCII cua ky tu
MsgBox "Ma ASCII cua ky tu '" & sChar & "' la " & bASCII ‘Hien
thi ket qua
Next x
End Sub

Các hàm xử lý chuỗi
- Ghép chuỗi: cho phép ghép 2 hay nhiều chuỗi lại với nhau nhờ toán tử &.
Ví dụ:
FirstWord = "Hello"
SecondWord = "World"
Greeting = FirstWord & SecondWord
' Greeting bây giờ là "HelloWorld"

- Len: trả về chiều dài một chuỗi được chỉ định.
Ví dụ: iLen = Len(Greeting) ' iLen bằng 8
- Left: Trích chuỗi con từ phần đầu chuỗi gốc
Left (String, [length]).
- Right: Trích chuỗi con từ phần đuôi chuỗi gốc Right (String, [length])
- Mid: Trích chuỗi con từ giữa chuỗi gốc Mid(String, Start As Long, [length])
Ví dụ:

Today = "24/05/2001"
StrDay = Left(Today,2)
StrYear = Right(Today,4)
StrMonth = Mid(Today,4,2)

' StrDay = "24" '
' StrYear = "2001" '
' StrMonth = "05"

- InStr: Tìm chuỗi con trong chuỗi gốc. Nếu hàm InStr trả về 0, nghĩa là không tìm thấy.
Cú pháp: InStr([start,] string1, string2, [compare])

Bộ môn Tự động hóa Thiết kế Cầu đường

19


CHƯƠNG II: NGÔN NGỮ LẬP TRÌNH VISUAL BASIC

Trong đó:
Start: Xác định vị trí trong chuỗi bắt đầu việc tìm kiếm. Nếu giá trị là Null thì sẽ bắt đầu từ
đầu chuỗi. Nếu như tham số Compare có đặc tả thì bắt buộc phải khai báo tham số Start.
String1: Biểu thức chuỗi để so sánh.
String2: Chuỗi cần tìm.
Compare: Xác định kiểu so sánh chuỗi. Giá trị: vbTextCompare,
vbBinaryCompare.
Ví dụ 1:
myString = "The *rain in Spain mainly..."
Position = Instr(myString,"*") ' Position sẽ là 5
Nếu trong myString không có dấu "*" thì Position sẽ bằng 0


ft

Ví dụ 2:
KeyValuePair = "BeatlesSong=Yesterday"
Pos = Instr(KeyValuePair, "=")
Key = Left(KeyValuePair, Pos-1) ‘Key= “BeatlesSong”
Value = Mid(KeyValuePair, Pos+1) ‘Key= “Yesterday”

D
ra

- Replace: tìm và thay thế chuỗi.
Cú pháp: Replace(Expression, find, replace[, start[, count[, compare]]])
Trong đó:
- Expression: Biểu thức chuỗi chứa chuỗi cần thay thế.
- find: Chuỗi cần tìm.
- replace: Chuỗi thay thế chuỗi tìm được.
- start: Tương tự như hàm InStr.
- count: Xác định số lần thay thế. Mặc định là 1.
- compare: Kiểu so sánh chuỗi. Giá trị: vbTextCompare, vbBinaryCompare
- LTrim (RTrim): cắt tất cả các khoảng trắng bên trái (bên phải của chuỗi)
- UCase: đổi chuỗi sang chuỗi gồm các ký tự là chữ hoa. Cú pháp: UCase(string)
- Asc: cho mã Ascii của một ký tự.
- Chr: trả về ký tự ứng với mã Ascii được chỉ định.
- InstrRev: tương tự như InStr nhưng việc tìm kiếm được tiến hành từ phải sang.
- Val: Hàm đổi chuỗi sang số.
- Str: Hàm đổi số sang chuỗi.

II.3.8 Date (Kiểu thời gian)

Đặc điểm:
Dùng để lưu trữ và thao tác trên các giá trị thời gian (ngày và giờ). Để cho VB biết dữ
liệu là kiểu Date ta cần đặt giữa dấu ## hoặc “”.
Việc định dạng hiển thị tùy thuộc vào việc thiết lập trong Control Panel.
Phạm vi áp dụng: Lưu trữ các giá trị thời gian, ngày tháng.
Ví dụ:

Bộ môn Tự động hóa Thiết kế Cầu đường

20


CHƯƠNG II: NGÔN NGỮ LẬP TRÌNH VISUAL BASIC

Dim D As Date
D = #01/02/98# ‘ Hay “01/02/98”

Nếu hiểu theo kiểu người Mỹ, đây là ngày 2 tháng 1 năm 1998, còn nếu theo kiểu
Vietnam thì đây là ngày 1 tháng 2 năm 1998. Chọn kiểu ngày tháng trong Control
Panel|Regional Setting.
- Hàm Now: trả về ngày giờ hiện tại.
Ví dụ:
MsgBox "NOW IS " & Format (Now, "ddd dd-mmm-yyyy hh:nn:ss")
' sẽ hiển thị NOW IS Tue 05-Oct-2004 16:15:53

D
ra

ft


II.3.9 Kiểu mảng (array)
Đặc điểm:
- Mảng là một khối dữ liệu gồm các phần tử có cùng tên và kiểu dữ liệu. Các phần tử trong
mảng phân biệt với nhau bởi các chỉ số.
- Mảng có thể có một chiều hoặc nhiều chiều.
- Trong VB có hai loại biến mảng: mảng có chiều dài cố định và mảng động (chiều dài có
thể thay đổi lúc thi hành).
Phạm vi áp dụng: Đôi khi chúng ta có nhiều biến tương tự nhau, thí dụ như điểm thi của 10
học sinh, nếu phải đặt tên khác nhau cho từng biến (VD: HoaMark, TaiMark, SonMark,
TamMark, NgaMark, HuongMark .v.v..) thì bất tiện. Chúng ta có thể dùng Array để có một
tên chung cho cả nhóm, rồi nói đến điểm của từng người một bằng cách dùng một con số
gọi là ArrayIndex.
Việc lưu trữ dùng mảng còn giúp chúng ta xử lý dữ liệu dễ dàng hơn. Ví dụ việc tổng hợp
điểm của danh sách trên.
II.3.10 Kiểu tự định nghĩa
Đặc điểm: Kiểu dữ liệu do người dùng định nghĩa tương tự như kiểu bản ghi (Record)
trong Pascal hay kiểu cấu trúc (Struct) trong C.
- Kiểu dữ liệu này gồm các trường, có thể là các kiểu dữ liệu khác nhau.
Phạm vi áp dụng: Trong các trường hợp cần lưu một giá trị có nhiều thuộc tính. Ví dụ các
thông số của một lỗ khoan.

II.3.11 Kiểu lớp (class)
Đặc điểm: Lớp được xây dựng trong Class Module hoặc trong các thư viện có sẵn.
- Lớp bao gồm:
• Các thuộc tính (Property): thực chất là các biến thành viên khai báo trong lớp đó.
• Các phương thức (Method): thực chất là các chương trình con được khai báo trong
lớp - các hàm (Function) và thủ tục (Procedure) thành viên.
- Ngoài ra trong VB, lớp có thể có sự kiện (Event). Sự kiện tạo ra khả năng linh động trong
xây dựng quan hệ giữa đối tượng với nhau và với mô môi trường.
II.3.12 Kiểu Variant

Đặc điểm: Kiểu Variant là một kiểu dữ liệu đặc biệt trong VB. Biến kiểu Variant có thể
chứa mọi giá trị của các kiểu dữ liệu khác, kể cả mảng.
Tuy Variant tiện dụng nhưng nếu Variant được dùng nhiều chỗ, trong nhiều tình huống,
cần xác định rõ hiện đang là kiểu nào.
Bộ môn Tự động hóa Thiết kế Cầu đường

21


CHƯƠNG II: NGÔN NGỮ LẬP TRÌNH VISUAL BASIC

Ví dụ:

ft

Phạm vi sử dụng: Hạn chế dùng Variant vì sẽ gây lãng phí bộ nhớ và giảm tốc độ thực thi
của chương trình.
Một số chú ý khi dùng biến kiểu Variant:
- Nếu muốn thi hành các hàm toán học, Variant phải chứa giá trị kiểu số.
- Nếu muốn nối chuỗi, dùng toán tử & thay vì toán tử +.
Giá trị Empty:
- Đây là giá trị đặc biệt xuất hiện khi một biến chưa được gán giá trị. Ta dùng hàm
IsEmpty để kiểm tra giá trị Empty.
- Giá trị Empty biến mất khi có một giá trị bất kỳ được gán cho biến Variant, để trở về
giá trị Empty, ta gán từ khoá Empty cho biến Variant.
Giá trị Null: Biến Variant chứa giá trị Null trong trường hợp những ứng dụng cơ sở dữ liệu
thể hiện không có dữ liệu hoặc dữ liệu không xác định.
Giá trị Error: Trong một biến kiểu Variant, Error là một giá trị đặc biệt cho biết đã có một
lỗi đã xảy ra bên trong thủ tục.


D
ra

Private Sub cmdShowDataTypes_Click()
Dim sMess As String
Dim vVariant As Variant
vVariant = "Xin chao"
'String
sMess = TypeName(vVariant) & vbCrLf ' xuống dòng & về đầu dòng
vVariant = 25
' Integer
sMess = sMess & TypeName(vVariant) & vbCrLf
vVariant = True ' Boolean
sMess = sMess & TypeName(vVariant) & vbCrLf
'Date
vVariant = #1/1/2001#
'trong cặp dấu #
sMess = sMess & TypeName(vVariant)
MsgBox sMess
End Sub

Khi chạy chương trình kết quả là:

II.3.13 Chuyển đổi (convert) kiểu dữ liệu
VB cung cấp một số hàm để chuyển kiểu dữ liệu của một biến từ loại này sang loại khác.
Val (str): Trả về giá trị kiểu thực của một chuỗi: a= Val(“1245.43 asd”)
Nếu trong chuỗi có chứa ký tự khác số, hàm sẽ loại bỏ ký tự đó.
CDbl (x):Trả về giá trị kiểu thực của chuỗi, chuỗi này phải là các số (number).
CInt (x): Trả về giá trị kiểu nguyên (Integer).
CStr (x): Trả về giá trị kiểu chuỗi.

Str (x): Trả về giá trị kiểu chuỗi của một số.
Các lưu ý:
- Kiểu dữ liệu số nguyên: Byte, Integer, Long khi gán giá trị thập phân thì VB sẽ gán giá trị
nguyên làm tròn. Lấy VD.
Bộ môn Tự động hóa Thiết kế Cầu đường

22


CHƯƠNG II: NGÔN NGỮ LẬP TRÌNH VISUAL BASIC

- Thực hiện các phép tính số nguyên với số thực sẽ cho kết quả là số thực. VD: Integer +
Double = Double.
Question for today!

II.4 CÁC KHAI BÁO
VB cho phép dùng một biến mà không cần khai báo, tuy nhiên chúng ta nên định nghĩa các
biến, hằng, đối tượng sẽ dùng....,
Khai báo một biến sẽ cho VB biết về sự tồn tại của nó để cấp phát bộ nhớ lưu trữ.
Để VB yêu cầu tất cả các biến trong mã lệnh phải được khai báo tường minh ta thêm khai
báo vào đầu mã lệnh (Sẽ nhắc lại ở phần sau):

ft

Option Explicit

II.4.1 Khai báo biến với các kiểu dữ liệu thông thường
Khái niệm biến:
Biến (Variable) là vùng lưu trữ được đặt tên để chứa dữ liệu tạm thời trong quá trình tính
toán, so sánh và các công việc khác.

Cách khai báo

D
ra

Dim <tên_biến> as <Kiểu_dữ_liệu>
- Dùng các từ khóa Public hay Private nhằm xác định phạm vi hoạt động của biến (sẽ

giải thích ở phần sau).

Public <tên_biến> as <Kiểu_dữ_liệu>

Hay:
Private <tên_biến> as <Kiểu_dữ_liệu>
Nếu khai báo biến không xác định kiểu dữ liệu thì biến đó có kiểu Variant.
Ví dụ:
Dim
sHoTen
Public
iTuoi
Private iKetHon As Boolean

As
As

String
Integer

II.4.2 Khai báo hằng.
- Là kiểu dữ liệu dùng lưu những giá trị không bao giờ thay đổi.

Việc sử dụng kiểu hằng số giúp chúng ta hạn chế những nhầm lần. Đơn cử như việc sử
dụng một thông số nhiều lần trong chương trình.
[Public/ Private] Const <tên_hằng> = <giá_trị_hằng>

Ví dụ:

Const g = 9.8
Const Num As Integer = 4*5

II.4.3 Khai báo kiểu tự định nghĩa.
- Khai báo các kiểu dữ liệu dạng bản ghi gồm các trường theo nhu cầu của người sử dụng.
Cú pháp khai báo như sau:

Bộ môn Tự động hóa Thiết kế Cầu đường

23


CHƯƠNG II: NGÔN NGỮ LẬP TRÌNH VISUAL BASIC

[Pravite/Public] Type <tên_ kiểu>
<tên_trường_1> as <kiểu_1>
<tên_trường_2> as <kiểu_2>

<tên_trường_n> as <kiểu_n>
End Type

ft

Sau khai báo, để truy cập tới một trường của biến kiểu bản ghi, dùng toán tử (.) và cặp từ

khóa With… End With
Ví dụ: Dữ liệu về điểm đo trong khảo sát địa hình có thể được xây dựng gồm: chỉ số của
điểm (id), tên điểm (name), tọa độ x, tọa độ y, cao độ z, mã địa vật (madiavat)

D
ra

Private Type diemdo
‘ Khai báo kiểu
Id as Long
Ten as String
X as Double, Y as Double, Z as Double
Madiavat as Long
End Type
Private Sub Command1_Click()
Dim diem as diemdo
‘ Tạo biến và gán dữ liệu
With diem
.Id = 1
.x = 1.5: .y = 24: .z = 11.3
.Ten = “Điểm 1”
.Madiavat = 1
End With
End Sub

II.4.4 Khai báo mảng


Mảng tĩnh (mảng có kích thước cố định)


[Public/ Private/ Dim] <tên_mảng>(<các thông số về chiều>) as <tên_kiểu>

Các thông số về chiều có thể biểu diễn qua các ví dụ sau:
Dim a(1 to 4) as Integer: mảng 1 chiều chỉ số từ 1 đến 4 kiểu nguyên.
Dim a(3) as Long: mảng 1 chiều chỉ số tới 3 kiểu Long
(chỉ số xuất phát mặc định là 0 hoặc được xác định thông qua khai báo Option Base)
Option Base 0 hoặc Option Base 1
Dim a(1 to 4,2 to 6) as Double: mảng 2 chiều chỉ số từ 1 tới 4 và 2 tới 6.
Dim a(2,2,3) as String: mảng 3 chiều với miền chỉ số trên tương là 2, 2 và 3.



Mảng động (mảng có kích thước thay đổi)

[Public/ Private/ Dim] <tên_mảng> () as <tên_kiểu>

Trong khai báo trên không có các thông số về chiều, thuần túy chỉ là một khai báo.
Bộ môn Tự động hóa Thiết kế Cầu đường

24


CHƯƠNG II: NGÔN NGỮ LẬP TRÌNH VISUAL BASIC

- Các phần tử của mảng chưa được tạo ra (hay mảng chưa được cấp phát bộ nhớ).
- Dữ liệu của mảng chỉ được tạo ra hoặc thay đổi khi có lệnh Redim.
Lệnh này có tác dụng tạo ra mảng thực sự (có kích thước và các phần tử tương ứng) hoặc
thay đổi kích thước của một mảng động.
Redim <tên_mảng>(<các thông số về chiều>) as <tên kiểu>
- Chú ý rằng <tên_kiểu> phải đúng như khai báo, các thông số về chiều có thể khác


trước cả về số chiều và kích thước của từng chiều.
- Dữ liệu mảng cũ sẽ bị, thay vào đó là phần tử của mảng mới được khởi tạo.
Ví dụ:

ft

Dim diem as diemdo
Dim a() as Long
Redim a(1 to 5) as Long
a(1) = 100: a(2) = 200
‘a(1) và a(2) có giá trị tương ứng 100 và 200
Redim a(1 to 3, 2 to 4) as Long
‘Mảng được làm mới hoàn toàn là một mảng 2 chiều, các giá trị a(1) và a(2) không còn ý
nghĩa nữa

- Trong trường hợp muốn thay đổi kích thước của mảng mà không mất dữ liệu, dùng lệnh
ReDim với từ khóa Preserve.
Tuy nhiên chỉ thay đổi được biên trên của chiều cuối cùng trong mảng. Nếu thay đổi các
chiều khác sẽ phát sinh lỗi.
Ví dụ

D
ra

Dim a() as Long
ReDim a(1 to 5) as Long
a(1) = 100: a(2) = 200
ReDim Preserve a(1 to 6) as Long
‘Thay đổi mở rộng mảng thêm một phần tử mà không ảnh hưởng đến các dữ liệu trước

a(1)vẫn có giá trị 100, a(2)=200

Không thêm được chỉ số 0 vào mảng trên: ReDim Preserve a(0 to 6) as Long
(Lỗi)
Một số thao tác trên mảng

- Hàm UBound trả về biên trên của một mảng.
- Hàm LBound trả về biên dưới của một mảng.
- Truy xuất từng phần tử trong mảng: <Tên mảng>(<Vị trí>)
- Sao chép mảng: Đối với VB6, ta có thể gán một mảng cho một mảng khác, hoặc
kết quả trả về của một hàm có thể là một mảng.
Ví dụ:
Sub ByteCopy (old () As Byte, New () As Byte)
New = old
End Sub

Cách này cũng chỉ áp dụng được cho mảng khai báo động.
- Mảng là kết quả trả về của hàm. Chẳng hạn như:

Bộ môn Tự động hóa Thiết kế Cầu đường

25


×