CHƯƠNG 1: GIỚI THIỆU VISUAL BASIC 60
1. Lập Trình Trên Windows 60
2. Các Control Chuẩn Của Windows 61
3. Giới Thiệu Visual Basic 62
4. Màn Hình Làm Việc Của Visual Basic 63
Toolbox 64
Để bật – tắt toolbox, chúng ta dùng nút lệnh trên thanh công cụ. 64
Project Explorer 64
Để bật hay tắt cửa sổ Project Explorer, sử dụng phím tắt: Ctrl+R hoặc dùng nút trên thanh toolbar. 65
Properties Windows 65
Danh sách thuộc tính 65
Giá trị của thuộc tính 65
Chọn đối tượng trên Form bằng cách click chuột 65
Click chuột vào cột giá trị của thuộc tính cần đặt trên cửa sổ thuộc tính, sau đó chọn hoặc nhập giá trị cho thuộc tính. 65
Backcolor: màu nền của đối tượng 66
Caption: tiêu đề, đây là nội dung hiển thị lên trên đối tượng. 66
Enabled: cho phép hay cấm đối tượng họat động. 66
Font: thiết lập về font chữ của đối tượng 66
Forecolor: màu của các ký hiệu xuất hiện trên đối tượng 66
Height: chiều cao của đối tượng 66
Left: khoảng cách tính từ cạnh trái của Form (hay control chứa đối tượng đó) 66
Name: tên của đối tượng (khác với caption). 66
Top: khoảng cách tính từ cạnh phía trên của Form hay control chứa đối tượng 66
Visible: cho phép đối tượng hiển thị hay không ở thời điểm run-time 66
Width: chiều dài của đối tượng 66
Cửa sổ Form 66
Từ cửa sổ Project Explorer, bấm Double Click vào Form thiết kế 67
Từ cửa sổ code, bấm phím Shift+F7 67
Bấm vào nút View Code trên cửa sổ Project Explrer 67
Dùng chuột rê và chọn nhóm đối tượng 67
Giữ phím Ctrol và click chuột để nhặt và chọn các đối tượng 67
Dùng chuột rê các đối tượng đến vị trí cần thiết. 67
Chọn đối tượng và di chuyển bằng các phím mũi tên: 67
Chọn đối tượng hay nhóm đối tượng và bấm phím delete. 67
Đưa chuột vào các nút vuông bao xung quanh đối tượng và rê chuột để thay đổi kích thước. 67
Để thay đổi kích thước, vị trí của nhóm đối tượng, chúng ta có thể sử dụng menu Align để gióng hàng và điều chỉnh kích thước. 67
Cửa sổ Code Edittor 69
Từ cửa sổ Form, bấm Double Click vào đối tượng cần viết code 69
Từ cửa sổ Form, bấm phím F7 69
Bấm vào nút View Code trên cửa sổ Project Explrer 70
70
Cửa sổ Form Layout 71
Để thiết kế giao diện nhanh chóng 71
Nếu trên Form có nhiều đối tượng cùng loại và có thuộc tính giống nhau thì chúng ta tạo một đối tượng và định dạng trước các thuộc tính, sau đó sao chép ra thành nhiều đối tượng khác bằng phím tắt Ctrl+C (copy) và Ctrl+V (Paste). Ngay khi copy – paste, chương trình sẽ hỏi: 71
71
Chọn No để không tạo mảng đối tượng. Chỉ khi nào các bạn đã học mảng đối tượng mới chọn yes 71
Nếu có nhiều đối tượng muốn định dạng giống nhau trên một thuộc tính nào đó thì chọn các đối này cùng lúc rồi tiến hành định dạng. 72
Sử dụng các chức năng canh lề, định kích thước do VB cung cấp, khi những thuộc tính này của nhiều đối tượng có liên quan với nhau. 72
Nên thiết lập thuộc tính cho Form (hay đối tượng chứa) như màu chữ, font chữ… trước, sau đó mới đặt control lên trên. Làm như vậy để control kế thừa các thiết lập của các thuộc tính này, và chúng ta không mất thì giờ để chọn cho từng control. 72
5. Cấu trúc chương trình Visual Basic 72
Thiết kế giao diện: Thiết kế Form và bố trí các đối tượng có trên Form 72
Viết lệnh: Viết các đoạn mã để điều khiển Form và các control ứng với mỗi sự kiện xảy ra. 72
File *.vbp : file project của chương trình. Chúng ta mở chương trình từ file này 72
File *.frm: file Form chứa giao diện của chương trình 72
File *.bas: chứa module cua chương trình 72
File *.cls: chứa class của chương trình 72
Và ngòai ra còn nhiều lọai file khác nữa (file resource, file temp…) 72
Chú ý: Mỗi bài tập được lưu trong một folder 73
6. Các Thao Tác Cơ Bản Với Project 73
File –> New project –> standard EXE –> OK 73
File – Open project – Xác định nơi lưu trữ project sau đó chọn tên project muốn mở –> OK 73
Bấm phím F5 hoặc 73
Dùng nút lệnh 73
File – remove project 73
File – Save project 73
7. Các control cơ bản của Visual Basic 74
8. Tạo và thực thi chương trình đầu tiên 74
Đặt tên (thuộc tính Name) cho các nút lệnh lần lượt là Cmd1, Cmd2…Cmd9, Cmd0, Cmdcong, Cmftru, cmdnhn, CmdChia, CmdBang. Để thay đổi name của các control, chúng ta mở cửa sổ Properties, sau đó chọn từng control một, và đổi Name. 74
Nhập thuộc tính Caption của các button là các giá trị tương ứng. 74
Đặt tên cho textbox là txtketqua. 74
Nhập thuộc tính text của textbox là rỗng 74
Bấm F5 thực thi chương trình. 75
Dừng chương trình 75
Double click vào nút lệnh CmdBang để hiển thị cửa sổ code. Nhập lệnh như hình dưới. 75
Bấm F5 thực thi chương trình. 75
Bấm vào nút = (CmdBang) và xem xét hộp thoại hiển thị trên màn hình. 75
9. Bài tập 76
CHƯƠNG 2: CÁC CONTROL CƠ BẢN 78
1. Đối Tượng 78
Đặc điểm của đối tượng 78
Khi một chương trình được thực hiện mỗi đối tượng nhận được các sự kiện (Event) tác động lên nó (chẳng hạn như click, doudvle click, right click..). Chúng ta viết lệnh trong các event này để xử lý trước các sự kiện nhận vào. 79
. 79
Ví dụ: txt_hoten.text=”DurianGroup” 79
2. Đối Tượng Form 79
Caption: Đặt tiêu đề cho Form. 79
Name: tên của Form, đặt 3 ký tự đầu là Frm 79
Borderstyle: Quy định kiểu khung cho Form 79
0-none: Không có khung, kèm theo không có control menubox, Maximize box, minimize box, không hiện tiêu đề và không thể thay đổi kích thước khi chương trình thực hiện. 80
1-Fix single: Khung đơn, có control menu box, không thay đổi kích thước được. 80
2-Sizable: Có đầy đủ các yếu tố Control menu box, maximize, minimize box, tiêu đề, khung kép và có thể thay đối kích thước được. 80
3-Fixed dialog: Cửa sổ dạng hộp thoại, có tiêu đề, control menu box, không thay đổi kích thước 80
4-FixtoolWindow: Giống Fixed single nhưng tiêu đề và control menu box có kích thước nhỏ. 80
5-Sizable ToolWindow: Giống FixTollWindow nhưng kích thước có thể thay đổi được. 80
ConttrolBox: Nếu đặt là True thì Form sẽ có menu control box, dĩ nhiên nó còn phụ thuộc vào loại border đã chọn. Nếu đặt là false thì không có menu control box, Maximize, Minimize button. 80
Maxbutton: Nếu đặt là True thì Form sẽ có nút maximize, dĩ nhiên nó còn phụ thuộc vào giá trị của controlbox đã chọn. Nếu đặt là false thì không có nút Maximize 80
Minbutton: Nếu đặt là True thì Form sẽ có nút minimize, dĩ nhiên nó còn phụ thuộc vào giá trị của controlbox đã chọn. Nếu đặt là false thì không có nút minimize 80
Icon: Quy định biểu tuợng đại diện cho Form khi Form ở trạng thái minimize. Thuộc tính này cũng phụ thuộc vào giá trị của thuộc tính controlbox 81
Picture: Đặt một hình lên nền của Form, có thể là những loại :BMP, DIB, GIF, JPG, ICO,CUR… Muốn xóa hình đã đặt trên Form chỉ cần xóa nội dung đang có trên dòng này (bấm phím Delete tại hàng Picture trong cửa sổ Properties). 81
ShowInTaskbar: Nếu đặt là true thì tên của cửa sổ được hiện lên taskbar, ngược lại thì không 81
WindowState: Quy định trạng thái của của số khi Form vừa được mở (chương trình thực hiện), thuộc tính này có giá trị số: 81
0: Cửa sổ có kích thước giống như lúc thiết kế. 81
1: Hiện cửa sổ ở chế độ cực tiểu 81
2: Hiện cửa sổ ở chế độ cực đại 81
3. Đối Tượng Label 81
Các thuộc tính cơ bản của Label 81
Name: tên của Label, đặt 3 ký tự đầu là Lbl 81
Caption: Nội dung hiện trên đối tượng này 82
Font: Quy định font chữ cho nội dung hiện trênllabel 82
Aligment: Canh lề cho nội dung hiện trên label 82
Backcolor: Màu nền của đối tượng 82
BorderStyle: Khung viền 82
Forecolor: Màu của chữ 82
Backstyle: Quy định cách thể hiện nền của label 82
0-Transparent: Nền trong suốt, không bị ảnh hưởng bởi backcolor 82
1-Opaque: Nền được thê hiện bởi giá quy định trong backcolor 82
Autosize: Nếu đặt bằng true thì kích thước label tự động co giản để vừa với nội dung. Ngược lại đặt bằng false thì phải điều chỉnh bằng tay 82
Wordwrap: Nếu đặt bằng true thì tự động xuống dòng dưới khi đụng lề phải của label. Ngược lại đặt bằng false thì nội dung có thể bị che khuất dài hơn chiều dài của label. 82
Appearance: có 2 giá trị (3D – Flat): cho phép hiển thị dạng phẳng hay 3D 82
Left: vị trí tính từ bên trái control chứa nó 82
Top: vị trí tính từ đỉnh control chứa nó 82
Height: chiều cao 82
Width: chiều dài 82
Visible: (True/False) cho phép đối tượng có được hiển thị hay không ở thời điểm run-time 82
Label_Click: xảy ra khi người sử dụng click chuột trên Label 83
83
4. Đối Tượng Textbox 83
Name: tên textbox, đặt 3 ký tự đầu là Txt 83
Text: Nội dung chứa trong teXtbox 83
Maxlength: Chiều dài tối đa của nội dung thể hiện trong textbox 83
Enable: cho phép textbox có nhận sự kiện, chỉnh sửa nội dung. 83
Font: các thiết lập về font 84
Aligment: giống Label 84
Backcolor: giống Label 84
Forecolor: giống Label 84
Appearance: giống Label 84
BorderStyle: giống Label 84
Left: vị trí tính từ bên trái control chứa nó 84
Top: vị trí tính từ đỉnh control chứa nó 84
Height: chiều cao 84
Width: chiều dài 84
Visible: (True/False) cho phép đối tượng có được hiển thị hay không lúc run-time 84
Text_Change: xảy ra khi nội dung của textbox bị thay đổi 84
Text_Click: xảy ra khi người sử dụng click chuột trên textbox 84
Text_DblClick: xảy ra khi người sử dụng double click chuột trên textbox 84
5. Đối Tượng Commandbutton 85
Caption: nội dung sẽ thể hiện trên nút lệnh. 85
Name: tên command button, đặt 3 ký tự đầu là Cmd 85
Visible: (True/False) cho phép đối tượng có được hiển thị hay không lúc run-time 85
Enabled: Cho phép button có họat động (sáng/mờ) hay không 85
Click: xảy ra khi người sử dụng Click chuột trên command button 85
85
6. Viết Lệnh Cho Đối Tượng 86
Xác định sự kiện nào trên đối tượng nào sẽ gây ra các xử lý 86
Viết những lệnh gì để thực hiện xử lý đó 86
Trên màn hình thiết kế, double click vào đối tượng muốn viết lệnh, khi đó cửa sổ viết lệnh sẽ xuất hiện. 86
86
Chọn sự kiện mà ta muốn viết lệnh. Khi đó hai dòng (tên hàm sự kiện và dòng kết thúc của thủ tục) tương ứng của sự kiện xuất hiện. 86
Viết các lệnh vào giữa hai dòng vừa xuất hiện. 86
Mỗi lệnh viết trên một dòng. Nếu lệnh quá dài muốn ngắt dòng thì để một khoảng trắng và dấu _ ở cuối dòng trên. 86
Ví dụ: Khi cần truy xuất đến một thuộc tính hay phương thúc nào đó của một đối tượng ta gỏ tên đối tượng rồi gõ rồi dấu chấm, lúc này một danh sách các thuộc tính và phương thức của đối tượng này hiện lên ta bấm tiếp các ký tự đầu của thuộc tính/sự kiện mà ta cần rồi bấm phím Tab hay Ctrl-Enter hay Double click. 87
Lưu ý 1: Khi đã viết lệnh cho các đối tượng thì kể từ lúc đó ta không nên thay đổi giá trị thuộc tính name của đối tượng, vì khi đó các lệnh sử dụng tên cũ của đối tượng sẽ không hiểu được đối tượng này. Do đó, nên đặt tên cho các đối tượng trước, rồi sau đó mới bắt đầu viết Code. 87
Lưu ý 2: Không sửa đổi trên hai dòng tiêu đề và dòng kết thúc. 87
7. Một Số Lệnh Cơ Bản 88
Lệnh End: Dùng chấm dứt một chương trình VB đang thực hiện. 88
Lệnh gán: Ký hiệu =, lệnh này có công dụng gán giá trị vào biến hoặc gán giá trị mới vào một thuộc tính của đối tượng. 88
Lệnh Val: chuyển từ chuỗi sang số. Chi tiết về kiểu dữ liệu sẽ được đề cập ở các bài sau. 88
8. Bài tập thực hành 1 88
Trên Form có một textbox được đặt tên txt_mess, nội dung ban đầu là rỗng. Font chữ tiếng Việt, kích thước 14pt 88
3 đối tượng còn lại là 3 commandbutton có tên tuần tự như sau: cmd_mess, cmd_del, cmd_end. 88
Khi sự kiện vào cmd_mess thì câu chào “Chúc mừng bạn đến với VB” xuất hiện trên textbox txt_mess. 88
Khi click vào cmd_del nội dung trên textbox bị xóa. 88
Khi click vào trên cmd_end thì chương trình kết thúc. 89
Khi double – click vào textbox txt_mess thì hiển thị website của bạn 89
Trình tự thực hiện: 89
Thiết kế Form 89
Tạo một folder mới trên dĩa 89
Open một project mới. 89
Đặt tên cho Form là frm_main, caption là “chương trình đầu tiên” 89
Đưa một textbox lên Form, đặt tên là txt_mess, thuộc tính text=””, font chữ VNI_DUFF, cở chữ 14, Aligment: center 89
Đưa một command button lên Form, chỉnh kích thước, chọn font chữ VNI-APTIMA, cở chữ 10. Đặt caption=In lời chào, Name=cmd_mess 89
Chọn nút lệnh thứ hai, đặt name=cmd_del, caption=Xoá nội dung trong textbox 89
Chọn nút lệnh thứ ba, đặt name=cmd_end, caption=kết thúc 89
Viết lệnh cho chương trình 89
Nhấp kép vào nút lệnh cmd_mess: 89
Nhập thêm hàng quy định cách khai báo biến: Option Explicit ngay đầu (xem hình). Từ nay về sau, trong tất cả các bài tập, bạn phải khai báo hàng này vào đầu tất cả các Form. Về chi tiết cho khai báo này sẽ được đề cập chi tiết ở các chương sau. 90
Nhập dòng lệnh sau:txt_mess.text=”Chúc mừng bạn đến với VB” vào giữa dòng tiêu đề và dòng kết thúc 90
90
Chọn đối tượng cmd_del trên combo box object, chọn sự kiện click. gỏ vào lệnh sau: txt_mess=”” (Xóa nội dung của textbox) 90
90
Chọn đối tượng cmd_end trên hộp chọn phía trên bên trái, chọn sự kiện click trên combobox even. Gõ vào lệnh sau: end 90
91
Mở cửa sổ Form, bấm double click trên txt_mess để mở cửa sổ code. Trong khi con trỏ chuột đang nằm giữa vùng Private Sub txtmess_Change() …. End Sub thì chọn hộp danh sách (chứa sự kiện) bên góc trên phải, chọn vào sự kiện DblClick 91
91
Viết code xử lý cho sự kiện double – click trên textbox 91
92
9. Bài tập thực hành 2 92
10. Frame 93
Name: tên của Frame, đặt 3 ký tự đầu (prefix) là Fla 94
Caption: nội dung hiển thị trên tiêu đề của Frame 94
Backcolor: màu nền 94
Forecolor: màu chữ của các đối tượng trên Frame 94
11. Image 94
Name: tên của đối tượng, với 3 ký tự đầu (prefix) là Img 94
Picture: hình ảnh cần hiển thị 94
Stretch (true/false): cho phép co dãn hình hay hiển thị theo kích thước thật của ảnh 94
Visile: cho phép hiển thị hay không 94
Height: chiều cao ảnh 94
Width: chiều dài ảnh 95
Quy định tại thời điểm thiết kế (Design-time): thông qua thuộc tính picture. Chọn hình cần hiển thị 95
Tại thời điểm thực thi chương trình (run-time): bằng cách gán thuộc tinh picture bằng kết quả của hàm loadpicture(). Ví dụ 95
Img.Picture = LoadPicture("c:\DurianGroup.jpg") 95
12. Line 95
Đối tượng này đơn giản chỉ để trình vẽ một đượng thẳng trên Form dùng cho việc trang trí giao diện. 95
Các thuộc tính của Line: 95
Name: tên của line với 3 ký tự đầu là Lin 95
Bordercolor: màu viền đường line 95
BorderWidth: kích thước đường line 95
BorderStyle: kiểu vẽ đường line 95
X1,x2,y1,y2: tọa độ (x,y) của 2 điểm đầu và cuối của line 95
13. Shape 96
Giống như Line đối tượng shape dùng để trang trí với khả năng biểu diễn các hình cơ bản: vuông, tròn, Ellipse.. 96
Thuộc tính chính của shape là: 96
Name: tên của shape với 3 ký tự đầu là Shp 96
Shape: 96
0: Trình bày hình chữ nhật 96
1: Trình bày hình vuông 96
2: Trình bày hình ellipse 96
3: Trình bày hình tròn 96
4: Trình bày hình chữ nhật góc tròn 96
5: Trình bày hình vuông góc tròn. 96
FillStyle: kiểu tô màu bên trong Shape. Bạn chỉ nhìn thấy màu bên trong khi FillStyle khác 0 (Transparent: trong suốt). 96
FillCorlor: màu tô bên trong 96
14. Bài Tập 97
Người sử dụng sẽ gỏ họ và chữ lót vào txtholot, và tên vào txtten 102
Nếu nút lệnh cmd_holot được click thì nội dung của txthoten =txtholot.text 102
Nếu nút lệnh cmd_ten được click thì nội dung của txthoten=txt_ten.text 102
Nếu nút lệnh cmd_hoten được click thì nội dung của txthoten =txt_holot.text & “ “ & txtten.text 102
Nếu double click (sự kiện dlbclick) trên txthoten thì nội dung của txthoten bị xóa. 102
Đặt tên đối tượng như hình mô tả. 103
Người sử dụng sẽ nhập các giá trị vào txt1, txt2 (là những giá trị số) 103
Nếu nút lệnh cmd1 được click thì nội dung của Lbl_mess=val(txt1.text)+ val(txt2.text) 103
Nếu nút lệnh cmd2 được click thì nội dung của Lbl_mess=val(txt1.text) - val(txt2.text) 103
Nếu nút lệnh cmd3 được click thì nội dung của lbl_mess=val(txt1.text) * val(txt2.text) 103
Nếu nút lệnh cmd4 được click thì nội dung của lbl_mess=val(txt1.text) * val(txt1.text) 103
Nếu nút lệnh cmd5 được click thì nội dung của lbl_mess=val(txt1.text)* val(txt1.text)* val(txt1.text) 104
Nếu nút lệnh cmd5 được click thì nội dung của lbl_mess=sqr(val(txt1.text)) 104
Nếu nút lệnh cmd_exit được click thì kết thúc chương trình 104
Nếu double click (sự kiện dblclick) trên lbl_mess, hoặc txt1 hoặc txt2 thì xóa nội dung đang có của hai textbox txt1, txt2 và label lbl_mess. 104
4. Hãy tạo một Form như sau: 104
5. Viết chương trình chọn hình dạng và màu của một shape như sau: 104
105
Cho biết tập các hằng số màu cơ bản của VB như hình. 106
CHƯƠNG 3: BIẾN – HẰNG – CẤU TRÚC LỆNH 107
1. Các Kiểu Dữ Liệu Trong Vb 107
Kiểu dữ liệu 107
Phạm vi 107
Byte, Integer, Long là các kiểu số nguyên 108
Double là các kiễu số thực. 108
Date lưu giá trị ngày giờ (thứ tự ngày tháng năm phụ thuộc vào quy định của hệ thống trong Control Panel của Windows). Một biến kiểu date có thể chứa giá trị ngày tháng năm, giờ hoặc chỉ chứa giá trị ngày tháng năm 108
Object: để tham chiếu đến một đối tượng nào đó trong chương trình. 108
String: chứa một chuỗi ký tự. 108
Variant: Là loại biến có thể chứa bất kỳ một loại dữ liệu số hoặc chuỗi. Kiểu dữ liệu của nó chỉ xác định khi được gán giá trị. 108
2. Biến (Variable) 108
Dài tối đa 255 ký tự, có thể dùng chữ cái, chữ số, dấu _ để đặt tên 108
Bắt đầu bằng một chữ cái 109
Không chứa khoảng trắng và các ký tự: +-*/ ! @ # $ % ^ & * ( ) các dấu chấm câu… 109
Không trùng tên với từ khóa 109
Tránh đặt tên biến trùng nhau 109
Tên biến nên rõ ràng, nói lên phần nào mục đích sử dụng của nó 109
Nên bắt đầu bằng ba ký tự viết tắt của kiểu dữ lliệu 109
Dim As 109
Dim X As integer 109
Dim a As Double 109
Dim b As Long, D as Long, E as Long 109
Chú ý: Để khai báo nhiều biến, chúng ta phải đưa kiểu dữ liệu lần lượt vào, không thể viết gom đối với VB6 109
Ví dụ: 109
Dim 1a as Integer: khai báo này sai vì tên biến bắt đầu bằng số 109
Dim a- as Integer: khai báo này sai vì tên biến chứa ký tự đặt biệt “-“ 109
Dim a,b,c as Integer: khai báo này không hợp lý (a,b : không phải kiểu Integer) 109
Dim a as Integer, b as Integer, c as Integer: khai báo này đúng 110
Trong VB có thể không cần phải khai báo biến trước khi sử dụng, vì khi bắt gặp một tên biến chưa khai báo thì VB tự động tạo ra biến này. Tuy nhiên điều này dễ phát sinh các lỗi trong chương trình mà rất khó phát hiện. Ví dụ như trong đoạn lệnh sau: 110
Dim x As Integer 110
Dim result As Integer 110
X=10 110
Resul=X*2 ‘Dòng lệnh này ta muốn gán giá trị x*2 vào biến result đã khai báo nhưng lại viết thiếu ký tự ‘t’, lúc này VB sẽ tạo ra biến mới Resul. 110
Để tránh tình trạng này ta có yêu cầu VB không tự động tạo ra biến nếu như nó chưa được khai báo bằng cách đặt dòng lệnh Option Explicit trong phần General của cửa sổ code. 110
Các biến khai báo trong một hàm (SUB): phạm vi sử dụng của các biến này chỉ tồn tại trong SUB khai báo nó. 110
Những biến này xuất hiện trong bộ nhớ khi SUB được gọi thực hiện và xóa khỏi bộ nhớ khi SUB này thực hiện xong. Biến loại này gọi là biến cục bộ. 111
Các biến khai báo khai báo trong phần General của một Form thì nó có tác dụng với bất kỳ một đoạn lệnh nào có trong Form này. Những biến này xuất hiện trong bộ nhớ khi Form được mở và chỉ xóa khỏi bộ nhớ khi Form được ở bị đóng. 111
Một biến muốn có phạm vi sử dụng trong toàn bộ project, thì phải khai báo bằng từ khóa public (có thể khai báo trong Form hoặc module). Những biến này tồn tại trong bộ nhớ từ đầu cho đến khi kết thúc chương trình. 111
Lưu ý: Các biến kiểu số khi được khởi tạo trong bộ nhơ có giá trị =0 112
3. Hằng 112
Const as datatype = value 112
4. Các Phép Toán 112
Các phép toán quan hệ 113
Các phép toán luận lý: 113
5. Các Hàm Cơ Bản Của Vb 114
Các hàm toán học 114
Hàm tạo số ngẫu nhiên (random) 114
Hàm xử lý chuỗi 114
Hàm kiểm tra giá trị 116
Hàm ký tự 116
Hàm màu sắc 116
Hàm nhập dữ liệu inputbox 117
Biến = InputBox ( Prompt, Title, Default) 117
Prompt: Câu nhắc (dạng chuỗi) yêu cầu thực hiện việc nhập 117
Title: Tựa đề của hộp nhập dữ liệu 117
Default: Giá trị mặc nhiên khi hiện hộp nhập dữ liệu lên 117
Hàm tạo hộp thông báo msgbox 118
MsgBox “Có Lỗi” 118
Để hiển thị chuỗi thông báo xuống hàng, chúng ta có thể ghép thêm hằng số VBCrlf hay VBNewline hay Chr(13) & Chr(10) ngắt thông báo thành nhiều hàng 118
MsgBox "Chào bạn” & vbCrLf & "DurianGroup” 118
MsgBox "Chào bạn” & VbNewLine & "DurianGroup” 118
MsgBox "Chào bạn” & Chr(13) & Chr(10) & "DurianGroup” 119
Biến= MsgBox ( Prompt, Style, Title ) 119
Style: Kiểu thể hiện của hộp hội thoại 119
GIÁ TRỊ DO VB ĐỊNH NGHĨA 120
6. Các Cấu Trúc Lệnh 121
A. Cấu trúc rẽ nhánh If – Select case 121
Giao diện được cho như hình dưới. 124
Tên các đối tượng là txtso, cmdKiemTra 124
7. Bài tập thực hành If 128
Thiết kế giao diện 128
Tạo các control (label, textbox, command button) như hình 128
Đặt tên lần lượt là TxtUser, TxtPassword, cmdOK,CmdCancel 128
Thiết lập thuộc tính PasswordChar cho txtPassword là * (che ký tự nhập vào) 128
Viết code cho chương trình 128
B. Cấu Trúc Lặp For – While – Do While 131
8. Check Box 142
Name: tên của checkbox với prefix là Chk 142
Aligment: Quy định vị trí của nút chọn: 142
0: Left justify 142
1: Right justify 142
Caption: Tiêu đề (dòng văn bản hiện kế nút chọn) 142
Value: Giá trị của thuộc tính này quy định trạng thái của check box 142
0: Unchecked (không chọn) 142
1: Check (Đang chọn) 142
2: Grayed (không được phép thay đổi trạng thái của check box. 142
Click: xảy ra khi người sử dụng click trên checkbox 142
9. Option Button 143
Name: tên của Option Button với prefix là Opts 144
Aligment: Quy định vị trí của nút chọn: 144
0: Left justify 144
1: Right justify 144
Caption: Tiêu đề (dòng văn bản hiện kế nút chọn) 144
Value: Giá trị của thuộc tính này quy định trạng thái của option buton 144
True: Đang chọn 144
False: Không chọn. 144
Chú ý: Khi một option trong nhóm có giá trị true thì tất cả các option còn lại sẽ có giá trị false 144
Một đối tượng Shape 145
Một mảng Option button đặt vào trong Frame Shape (Tạo Frame Shape trước, sau đó mới đặt các option button vào frame này) 145
Một mảng Option button đặt vào trong Frame Color (Tạo Frame color trước, sau đó mới đặt các option button vào frame này) 145
Một Command button với caption Exit. (Nút này có thuộc tính Cancel bằng True ) dùng để kết thúc chương trình. 145
Khi một option trong nhóm shape được chọn thì dạng hình của đối tượng Shape sẽ thay đổi tương ứng (sử dụng thuộc tính shape) 145
Khi một option trong nhóm Color được chọn thì màu của đối tượng Shape sẽ thay đổi tương ứng (sử dụng thuộc tính Fillcolor và hàm Qbcolor) 146
10. ListBox 146
ListCount: Cho biết số mục hiện có trong ListBox. Thuộc tính này không thể thay đổi đưiợc. 146
List: Là thuộc tính chính của listbox. Nó lưu gữ các mục của listbox. Các mục của listbox có thể nhập vào tại giai đoạn thiết kế hoặc trong chương trình. Truy xuất các mục trong listBox thông qua thuộc tính list: 146
Tên_listBox.list(index) 146
Multiselect: 146
0: Chỉ cho phép chọn mỗi lúc một mục duy nhất 146
1: Cho phép chọn mỗi lúc nhiều mục bằng chuột 146
2: Cho phép chọn mỗi lúc nhiều mục bằng chuột và phím shift hoặc Control 147
ListIndex: Có giá trị là một con số cho biết mục thứ mấy của listBox đang được chọn. Trong trường hợp list box được phép chọn nhiều mục cùng lúc thì thuộc tính này cho biết thứ tự của mục đầu tiên được chọn. 147
Selected: Cho biết trạng thái của một mục trong danh sách hiện có được chọn hay không. Hoặc đặt trạng thái chọn cho một mục nào đó. 147
Cú pháp: Selected(index) Kiểm tra trạng thái của một mục 147
Select(index)=True/False Đặt trạng chọn hoặc không chọn cho một mục trong danh sách. 147
Text: Nội dung của mục đang chọn trong listbox 147
Sorted: Quy định các mục trong ListBox có sắp xếp theo thứ tự hay không 147
AddItem: Thêm một mục mới vào danh sách. 147
Cú pháp: Tên_ListBox.AddItem item[,Index] 147
RemoveItem: Xóa một mục trong ListBox 147
Cú pháp: Tên_ListBox.RemoveItem index 147
Index: số thứ tự của mục cần xóa. 147
Clear: Xóa toàn bộ các mục trong danh sách. Sau khi xóa giá trị Listcount=0 147
Cú pháp: Tên_ListBox.Clear 147
Các ListBox được phép chọn nhiều mục (kết hợp giữa phím Shift, Control và chuột) 148
Các nút Cmd1 và Cmd3 Khi được Click sẽ sao chép tất cả các mục đang chọn sang ListBox bên kia, sau đó xóa các mục đang chọn 148
Nút lệnh Xóa cho phép xóa các mục đang chọn trong Lst1 (ListBox bên trái) 148
11. Combo Box 151
Style: Dùng để quy định kiểu của ComboBox 151
0 : Kiểu ComboBox chuẩn, chỉ trình bày listbox khi kích chuột vào mũi tên bên phải 152
1 : Kiểu này luôn thể hiện listbox của nó bên dưới TextBox 152
2 : Cách sử dụng giống như một listbox (Không thể nhập trên textbox) chỉ khác ở cách trình bày. 152
Text: Nội dung đang có trong phần Textbox. 152
Lst1: 152
Extra hard disk 152
Printer 152
Cmb1: 152
US. Dollars 152
Check 152
English Pound 153
12. Bài Tập 157
Nút cập nhật có thuộc tính Default=true 159
Nút Kết thúc có thuộc tính Cancel=true 159
Tính tổng các phần tử của List (hiển thị kết quả trên msgbox) 159
Xóa phần tử đầu và cuối 159
Xóa phần tử đang chọn 159
Tăng mỗi phần tử lên 2 đơn vị 159
Thay thế mỗi phần tử bằng bình phương của chính nó 159
Chọn phần tử chẳn 160
Chọn phần tử lẻ 160
160
Chọn tên người bạn có sẵn từ combobox 162
Chương trình tự tìm số điện thoại và địa chỉ. 162
CHƯƠNG 4: THỦ TỤC 164
1. Hàm Format 164
0 - Tại vị trí này là một chữ số. Nếu con số mà chúng ta cần định dạng không có giá trị tại vị trí này thì chữ số 0 sẽ được điền vào. 164
Ví dụ: Format$(123,”0000”)=”0123” 164
# - Quy định tại vị trí đó là một con số bất kỳ. 164
. - Dấu ngăn cách phần thập phân với phần nguyên 164
, - Dấu cách ngàn 164
% - Nếu có ký hiệu này trong chuỗi định dạng thì con số sẽ được nhân lên 100 và thêm ký hiệu % phía sau 164
Format$(8315.4,”######.##”)=”8315.4” 165
Format$(8315.4,”###,###.00”)=”8,315.40” 165
Format$(8315.4,”$######.00”)=”$8,315.40” 165
Format$(0.5 ,”000%”)=”050%” 165
2. Thủ Tục – Hàm 165
Ngoài các thủ tục sự kiện gắn liền với các đối tượng đôi khi người lập trình cần phải xây dựng thêm các thủ tục của riêng mình để dễ dàng trong việc lập chương trình, chẳng hạn như giảm bớt mã lệnh, tránh viết lập đi lặp lại một đoạn lệnh nào đó. 165
1. Hàm (Function): Việc viết một hàm cũng giống như thủ tục chỉ khác ở phần khai báo và trong nội dung của hàm sẽ có một câu lệnh trả giá trị về cho hàm. 168
Lệnh của hàm 168
Tên hàm=Giá trị trả về 169
End Funtion 169
169
Private Sub Cmd_n1_Click() 170
Dim N As Integer 171
N = Val(Txt_nhaplieu.Text) 171
Txt_ketqua = N & "! /" & N + 1 & "! =" & Format(Giaithua(N) / Giaithua(N + 1), "0.###") 171
Txt_nhaplieu.Setfocus 171
End Sub 171
Chú ý là, ở nút lệnh thứ hai, nếu để ý thì chúng ta thấy rằng kết quả không cần tính dài dòng như vậy mà chỉ là 1/(n+1). Tuy nhiên, chương trình này có ý đồ mô tả cách sử dụng là nhiều lần khi viết một hàm. 171
3. Mảng 172
Mảng tĩnh 1 chiều 172
Dim strTen(0 to 25) As String: strTen(0), strTen(1),… strTen(25) 172
Dim SoThuc(1 to 100) As Double: SoThuc(1), SoThuc(2)… SoThuc(100) 172
Dim Volume(-10 to 10) As Long: Volume(-10), Volume(-9), Volume(10) 172
Để xác định cận dưới của mảng dùng Hàm Lbound(TênMảng) : 172
Để Xác định cận trên của mảng: Hàm Ubound(TênMảng) : Text1.Text=Ubound(StrTen) 172
Khi khởi tạo, các giá trị trong mảng được khởi tạo mặc định bằng 0 (đối với kiểu số) hay bằng chuỗi rỗng (đối với kiểu chuỗi). 173
Để truy xuất một phần tử trong mảng ta truy xuất theo cú pháp TenMang(chỉ số) 173
Để duyệt hết mảng, sử dụng vòng lặp For..Next với 1 biến chạy 173
Nhập xuất mảng: 173
Mảng nhiều chiều tĩnh 176
Khai báo: Tương tự mảng 1 chiều: 176
Dim a(1 to 2,1 to 3) As Integer 176
A(1,1), A(1,2), A(1,3) ; A(2,1), A(2,2), A(2,3) 176
Xác định cận dưới của mảng: Hàm Lbound(TênMảng,chiều) : Text1.Text=Lbound(A,1) 176
Xác định cận trên của mảng: Hàm Ubound(TênMảng, chiều) : Text1.Text=Ubound(A,2) 176
Khi duyệt mảng nhiều chiều sử dụng các vòng lặp lồng vào nhau. 176
Mảng động 178
Mảng tĩnh là mảng có số phần tử không đổi sau khi khai báo mảng 178
Mảng động là mảng có số phần tử có thể thay đổi được sau khi khai báo mảng, trong quá trình thực thi chương trình. 178
Khai báo mảng động: 178
Dim A() as Integer 178
Thay đổi số phần tử trong mảng: tương tự khai báo mảng 178
ReDim A(5 To 10) 178
ReDim A(1 to 10) 178
Xác định cận dưới của mảng: Hàm Lbound(TênMảng,chiều) 179
Xác định cận trên của mảng: Hàm Ubound(TênMảng, chiều) 179
4. Các Thuật Toán Cơ Bản 181
Cộng dồn 181
Cộng dồn theo điều kiện 183
Tìm kiếm tuần tự 184
Tìm phần tử nhỏ nhất – lớn nhất 185
Sắp xếp mảng 185
5. Sử Dụng Một Số Hàm Xử Lý Chuỗi 186
Hàm Len, Left, Right, Mid: 187
Len(S): Cho biết chiều dài thực của chuỗi S 187
Left(S,N): Lấy N ký tự bên trái của chuỗi StringExpression 187
Right(S,N): Lấy N ký tự bên phải của S 187
Mid(S,M,N): Lấy N ký tự của S bắt đầu từ vị trí thứ M 187
6. Gỡ Rối Chương Trình 191
7. In Ấn 192
192
Range: Selection:In phần đang chọn 193
Current module: In mã lệnh của module đang chọn 193
Project Curent: In nội dung của Project hiện hành 193
Print What: 193
In mã lệnh của chương trình 193
Form as text: In thông tin về Form và các đối tượng trên Form. 193
Print Quality: Chất lượng in 193
Print to file: In kết quả ra một tập tin 193
8. Mảng Đối Tượng 193
9. Đối Tượng Timer 195
Enabled: Cho phép hoặc không cho phép Timer phát sự kiện thời gian 196
Interval: thời gian nhảy của timer. Đơn vị là Milisecond (1/1000 giây) 196
Thuộc tính Enabled=True 196
Thuộc tính Interval>0 196
10. Bài tập 198
Khi chương trình bắt đầu thực hiện thì textbox nhập số được Setfocus (Gợi ý: Dùng sự kiện FormLoad và thực hiện lệnh TextBox_name.TabIndex=0. Lưu ý trong sự kiện này không thể sử dụng Phương thức SetFocus) 198
Sau khi nhập số nếu ấn Enter hoặc Click vào nút thực hiện thì hiện kết quả lên TextBox kết quả, và TextBox nhập vẫn được Focus 198
Nếu ấn Esc hoặc click vào nut1 kết thúc thì dừng chương trình 198
Việc nhập giá trị cho các phần tử của mảng thực hiện bởi inputbox 199
Làm lại bài trên với mảng động và giá trị của mảng được tạo ngẫu nhiên. 199
200
Khi Form được load lên màn hình thì chỉ có nút Nhập dữ liệu, nút Kết thúc là sử dụng được, và nút Nhập dữ liệu được Focus. 201
Gợi ý: Sử dụng sự kiện Formload, cho giá trị Enabled của các đối tượng muốn mờ bằng false, Gán thuộc tính Tabindex của nút nhập dữ liệu =0 201
Khi nút Nhập dữ liệu được ấn thì các nút lệnh được sáng lên, xóa nội dung của Textbox nhậo liệu và Setfocus cho textbox này (sử dụng phương thức setfocus). Ví dụ hình bên dưới là khi nút Nhập dữ liệu được ấn. (hình 1) 201
Khi một trong các nút (ngoại trừ nút Nhập dữ liệu và nút Kết thúc) được chọn thì kết quả sẽ hiện lên textbox và các nút lệnh sẽ bị mờ ngay cả nút vừa ấn. Ví dụ hình bên dưới là kết quả khi nút inchữ hoa được ấn. (hình 2) 201
ListBox chứa dữ liệu có thuộc tính Sorted=True 203
Khi khởi động thì thuộc tính Enabled của nút phục hồi = false 203
Chúc năng nhập dữ liệu vào danh sách giống như ví dụ trên lớp 203
Chức năng chọn dữ liệu theo mẫu có thêm phần: Nếu nội dung của mẫu chọn =”*” thì chọn tất cả các mục đang có trong ListBox dữ liệu 203
Chức năng bỏ chọn dữ liệu theo mẫu có thêm phần: Nếu nội dung của mẫu chọn =”*” thì bỏ chọn tất cả các mục đang có trong ListBox dữ liệu 203
Chức năng xóa các mục đang chọn sẽ xóa các mục đang chọn trong ListBox dữ liệu. (xem lại thuật giải xóa các mục trong listbox ở các ví dụ trước). Tuy nhiên để có thể phục hồi các mục đã xóa thì trước khi xóa một mục ta phải lưu nội dung của mục này vào một mảng. 203
Sau khi xóa thì sẽ bật thuộc tính Enabled của nút phục hồi =True 204
Khai báo một mảng động kiểu chuỗi (dài khoảng 25 ký tự) và một biến SPT kiểu Integer. Các biền này là những biến toàn cục. 204
Trước khi xóa một mục thì đưa nội dung của đó vào một phần tử của mảng này rồi tăng biến SPT lên 1. 204
Chức năng phục hồi sẽ sử dụng phương thức AddItem đưa các mục đang có trong mảng toàn cục vào LixtBox dữ liệu. Sau khi đã đưa hết các phần tử của mảng vào ListBox thì Redim mảng toàn cục về 0 và cho giá trị của biến SPT về 0, đồng thời cho thuộc tính Enabled của nút phục hồi = false 204
Khi người sử dụng chọn 1 số, thì các ước số tự nhiên của số được chọn được hiển thị trong ListBox thứ 2. 204
Khi người sử dụng chọn 1 số trong Listbox thứ nhất, thì số được chọn được phân tích thành thừa số nguyên tố và được hiển thị trong ListBox thứ 2 205
15. Viết chương trình: quả bóng dội lên xuống không ngừng trong một Form. 207
CHƯƠNG 5: CHƯƠNG TRÌNH NHIỀU FORM 210
1. Chương Trình Nhiều Form 210
Thêm Form vào project 210
2. Quản lý Project 211
Để hiện cửa sổ này ta chọn: View – Project Explorer (hoặc Ctrl+R) 212
212
Ta có thể cho nội dung của một thành phần nào đó hiện lên màn hình bằng cách nhấp kép trên tên thành phần đó. 212
Ta cũng có thể Click phải trên một thành phần rồi chọn chọn chức năng cần thiết như: View Object, View Code, Save, Save As, Remove.. 212
3. Vấn đề sử dụng biến, thủ tục và đối tượng có trong các Form 212
Biến – Thủ tục : Biến, Thủ tục khai báo trong một Form nào đó muốn sử dụng được trong các Form khác thì ta phải khai báo với từ khóa Public 212
4. Quy định Form thực hiện trước 213
5. Hiện Form lên màn hình 214
3. FORM MDI (Multi Document Interface) 219
4. Splash Screen 221
Là một Form thường xuất hiện trên màn hình trong thời gian vài giây khi chương trình vừa khởi động. Thông tin trên Form này tóm tắt một vài thông tin về chương trình, ngoài ra Form này còn có mục đích lấp bớt khoảng trống trong khi các phần của chương trình đang nạp vào bộ nhớ (Form này sẽ được nạp ở chế độ Modeless) 221
Mục đích của Splash Screen 221
Một splash screen có các đặc tính: 222
Tạo Spalsh Screen 222
5. Tạo Menu Cho Một Form 224
225
6. End Sub 227
Nội dung lệnh của Form splash , module1.bas cũng giống như bài trước 228
7. Các Hàm Về Dữ Liệu Ngày Giờ 230
8. Bài tập 231
CHƯƠNG 6: SỰ KIỆN PHÍM 236
1. Các Sự Kiện Phím 236
End Sub 237
238
2. Sự Kiện Mouse 239
Mousedown, Mousemove, Mouseup 239
Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 239
End Sub 239
Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 240
End Sub 240
Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 240
End Sub 240
Tham số 240
Giải thích 240
Button 240
Cho biết nút chuột nào được nhấn 240
Shift 240
Cho biết phím SHIFT hay CTRL hay ALT được nhấn 240
x,y 240
Vị trí con trỏ chuột với hệ tọa độ của đối tượng bắt sự kiện 240
3. Xử Lý Lỗi Run Time Error 243
4. Common Dialog 245
Private Sub CMD_FONT_Click() 247
C.Flags = 256 + 3 247
C.FontName = Rtxt1.SelFontName 248
C.FontBold = True 248
C.ShowFont 248
Rtxt1.SelFontName = C.FontName 248
Rtxt1.SelFontSize = C.FontSize 248
Rtxt1.SelColor = C.Color 248
Rtxt1.SelStrikeThru = C.FontStrikethru 248
Rtxt1.SelItalic = C.FontItalic 248
Rtxt1.SelBold = C.FontBold 248
Rtxt1.SelUnderline = C.FontUnderline 248
Rtxt1.SetFocus 248
End Sub 248
250
Private Sub Luu_Click() 250
C.Flags = 0 250
C.InitDir = "D:\" 250
C.DialogTitle = "Save As" 250
C.ShowSave 250
Rtxt1.SaveFile (C.filename) 250
End Sub 250
5. Bài tập 251
1. Viết chương trình nhập liệu, sau khi nhập xong trong mỗi Text Box, bấm phím Enter để chuyển Focus qua Text Box kế tiếp. TextBox địa chỉ sau khi nhập xong sẽ chuyển Focus qua Command nhập liệu (xóa các dữ liệu đã nhập), và lại chuyển Focus về Text Họ và Tên. 251
CHƯƠNG 7: PHẦN NÂNG CAO 252
1. Windows Common Control 252
Là tập hợp các control phổ biến cung cấp bởi Windows với tên của mục này là: Microsoft Windows common controls... 252
Các công cụ này hổ trợ người lập trình trong việc tạo ra các giao diện thân thiện với những người sử dụng quen với môi trường Windows. 252
Sau đây là một số công cụ thông dụng: 252
2. ImageList 252
Một control dùng để lưu trữ, quản lý các hình ảnh. Nó thường được dùng để lưu trữ các hình ảnh của những control khác như Toolbar, Listview, Treeview, Image combo 252
Đưa hình vào ImageList tại thời điểm thiết kế: 252
253
254
Phiếu Image cho phép đưa hình ảnh vào ImageList. 254
Click vào nút Insert Picture sau đó chọn tập tin hình ảnh. Có thể chọn nhiều tập tin cùng lúc. 254
Với mỗi hình ảnh đưa vào sẽ có một số Index để quản lý. Người lập trình cũng có thể quản lý nó bằng thông qua một chuỗi ký tự bằng cách sử dụng thuộc tính Key (thuộc tính này có phân biệt chữ hoa chữ thường). 254
Nút Remove cho phép xóa một hình ảnh trong ImageList. Việc này chỉ thực hiện được khi ImageList chưa kết hợp với các Control khác 254
Các tập tin ảnh gắn với các nút công cụ thông dụng được đặt trong thư mục: 254
c:\program files\microsoft visual studio\common\graphics\ bitmaps\tlbr_w95 254
3. Toolbar 255
Thanh công cụ dùng các nút lệnh 255
Để tạo một thanh công cụ, trước hết ta phải tạo một ImageList để chứa các hình ảnh gắn với thanh công cụ. 255
Đưa thanh công cụ lên Form 255
Right Click trên thanh công cụ – chọn Properties 255
255
Private Sub tbtoolbar_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu) 258
End Sub 258
Để sử dụng chức năng này ta thực hiện các bước sau: 258
259
259
4. Updown control 260
5. Slider 261
Cũng có công dụng tăng hoặc giảm một giá trị số mỗi khi click chuột hoậc kéo chuột trên thanh trượt. 261
Thuộc tính Value của đối tợng này thường được dùng để thay đổi giá trị thuộc tính của một đối tượng khác. 261
6. Làm việc với tập tin (file) 261
CHƯƠNG 8: TÙY BIẾN MÔI TRƯỜNG IDE CỦA VISUAL BASIC 265
Khi làm việc với VB, có nhiều chọn lựa để tăng tốc thiết kế - phát triển chương trình. 265
1. Danh sách các Prefix được đề nghị nên sử dụng 265
2. Đóng Những Cửa Sổ Phụ 265
3. Sử dụng Toolbar Standard 267
4. Sử Dụng Short Cut (Phím Tắt) Của Vb Hiển Thị Các Cửa Sổ 267
5. Thả Nổi Các Cửa Sổ 268
Cửa sổ được Dock (được chọn) và không Dock: 268
6. Sử Dụng Edit Toolbar 269
Bật – tắt Edit ToolBar bằng Menu: [View]-[ToolBar]-[Edit] 269
7. Thay Đổi Các Xác Lập Của Môi Trường VB 270
Sử dụng Menu: [Tools]-[Option] và chon các Tab xác lập 270
8. Sử Dụng Shortcuts (Phím Tắt) Khi Soạn Thảo Code 273
9. Tách Cửa Sổ Soạn Thảo 275
10. Kéo Và Thả 275
Sử dụng khả năng Kéo và Thả của chuột để di chuyển khối lệnh: Chọn khối lệnh và kéo đến vị trí mới. 275
Sử dụng khả năng Kéo và Thả của chuột để Copy khối lệnh: Chọn khối lệnh và kéo đến vị trí cần dán, trong khi kéo thì giữ phím Ctrl. 276
11. Tạo Nhiều Đối Tượng Nhanh 276
Khi cần tạo nhiều đối tượng cùng loại, bình thường mỗi lần vẽ phải chọn lại (bằng cách Click chuột) đối tượng đó từ Toolbox. 276
Để tạo nhiều đối tượng cùng loại một cách nhanh chóng – các đối tượng này lấy tên khác nhau, không phải tạo mảng đối tượng, khi chọn ToolBox cho đối tượng đầu tiên, giữ phím Ctrl khi Click. Việc tạo các đối tượng thứ 2,3… được tiến hành trong khi vẫn giữ phím Ctrl. 276
Để tạo nhiều đối tượng cùng loại một cách nhanh chóng – các đối tượng trong 1 mảng đối tượng, sử dụng khả năng Copy và Dán các đối tượng. 276
12. Sử Dụng Form Editor Toolbar 276
Send to Front: đưa đối tượng lên trên đối tượng khác 276
Send to Back: đưa đối tượng xuống dưới đối tượng khác 276
Align Objects: gióng hàng. 276
Center Object In Form: cho đối tượng nằm giữa Form 276
Make Same Size: điều chỉnh kích thước nhóm đối tượng 277
Lock Controls On Form: Khóa đối tượng trên Form. Không cho phép di chuyển. 277
13. Điều Chỉnh Đối Tượng Bằng phím 277
Điều chỉnh vị trí đối tượng bằng bàn phím (keyboard) 277
Chọn đối tượng cần điều chỉnh 277
Giữ phím Ctrl, và chọn phím di chuyển (lên, xuống, qua trái, sang phải) để di chuyển đối tượng theo hướng được chọn. (Mỗi lần di chuyển sẽ qua đường lưới kế tiếp) 277
Điều chỉnh kích thước đối tượng bằng bàn phím (keyboard) 277
Chọn đối tượng cần điều chỉnh 277
Giữ phím Shift, và chọn phím di chuyển (lên, xuống, qua trái, sang phải) để thay đổi kích thước đối tượng theo hướng được chọn. 277
14. Sử Dụng Colot Palette để chọn màu 278
15. Sử Dụng Shortcuts Để Thực Thi Một Project 278
16. Sử Dụng Object Brower 279
282
282
17. Sử dụng từ khóa With 283
Không sử dụng With 283
Sử dụng With…End With 283
Text1.Text = "Test" 283
Text1.FontBold = True 283
Text1.ForeColor = QBColor(13) 283
With Text1 283
. Text = "Test" 283
. FontBold = True 283
. ForeColor = QBColor(4) 283
End With 283
18. Sử Dụng giúp đỡ (Help) 283
PHỤ LỤC 1: CÀI ĐẶT VISUAL BASIC 284
PHỤ LỤC 2: BÀI TẬP LUYỆN TẬP 292
1. Bài tập tổng hợp 292
2. Đề thi trắc nghiệm 300
TÀI LIỆU THAM KHẢO 338