63 bài tập ví dụ cục hay về Visual Basic
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM TP.HCM Khoa Toán – Tin học -------------- TÀI LIỆU THAM KHẢO LẬP TRÌNH VISUAL BASIC Giảng viên: Lương Trần Hy Hiến Email: TP.HCM – 12/2008 MỤC LỤC
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 Page 2KIỂU DỮ LIỆU - BIẾN – HẰNG - CÁC TOÁN TỬ
Quản lý biến:
Vị Trí Khai Báo Và Phạm Vi Sử Dụng Của Biến
Page 3NỘI DUNG GIỚI THIỆU VỀ NGÔN NGỮ VISUAL BASIC MÔI TRƯỜNG IDE CỦA VISUAL BASIC VIẾT CHƯƠNG TRÌNH ĐẦU TIÊN Khi viết chương trình trên Windows nghĩa là chúng ta tạo ra một ứng dụng được thực thi trong hệ điều hành Microsoft Windows. Trong Microsoft Windows, một ứng dụng thường được hiển thị ở dạng cửa sổ (Window) mà từ góc nhìn của người lập trình Viual Basic, người ta gọi là FORM. Trên cửa sổ của ứng dụng có các điều khiển (control) để giao tiếp với người sử dụng. Các tác động của người sử dụng lên cửa sổ hay các điều khiển tương ứng sẽ có một đoạn chương trình được thực hiện để đáp trả lại sự kiện đó. Ví dụ: Giao diện một chương trình đổi Font chữ Chia sẻ với bạn bè của bạn:
Page 4
|