Cách tốt nhất để học lập trình là viết chương trình. Vậy hãy thử viết chương trình hiển thị lịch biểu, trong đó cho phép người sử dụng. Hiển thị lịch biểu của tháng hiện hành. Duyệt qua các tháng. Hiển thị đồng hồ báo giờ hiện hànhNếu bạn cho rằng chương trình này có vẻ nặng nề cho người mới học, đừng lolắng. Visual basic làm hết mọi việc cho bạn. Khác với ngôn ngữ C++, bạn phải viết mỗi thứ một ít, Visual basic cung cấp mức đọ cao hơn của lập trình tự động. Như vậy, bạn có thể làm...
Visual Basic 6.0 Trịnh Khắc Thanh M ụ c lụ c Mục lục Làm quen với visual basic 6.0 6.0 2.1 Xây dựng ứng dụng ban đầu 2.1.1 Viết ứng dụng ban đầu 2.1.2 Xây dựng tính Calendar 2.1.3 Thêm tính Clock 11 2.2 Các tính Visual basic 6.0 11 2.2.1 Khái quát vắn tắt Visual basic 6.0 11 2.2.2 Khai thác mạnh điều khiển mở rộng 12 2.3 Làm việc với môi trường lập trình Visual basic 12 2.3.1 Tìm hiểu phần IDE 12 2.3.2 Thêm xố cơng cụ IDE Visual basic 13 2.3.3 Thêm điều khiển vào hộp công cụ 14 2.3.4 Định hướng thông qua cửa sổ form code 14 2.3.5 Quản lý ứng dụng với project explorer 14 2.3.6 Cửa sổ properties 14 2.3.7 Hiển thị IDE 14 2.3.8 Trợ giúp .15 16 Tìm hi hiểểu Visual basic 16 3.1 Thuộc tính phương thức kiện 16 3.1.1 Đối tượng 16 3.1.2 Thuộc tính 16 3.1.3 Phương thức 17 3.1.4 Sự kiện 18 3.1.5 Mối quan hệ phương thức, thuộc tính kiện 18 3.1.6 Cửa sổ Properties 19 3.1.7 Viết chương trình sử dụng thuộc tính, phương thức kiện 20 3.2 Làm việc với đề án 24 3.2.1 Định nghĩa 24 3.2.2 Cửa sổ Project Explorer 25 3.2.3 Tạo đề án 25 3.2.4 Đổi thuộc tính đề án 25 3.2.5 Lưu đặt tên đề án 26 http://www.minset.tk Trang: /260 Visual Basic 6.0 Trịnh Khắc Thanh 3.2.6 Mở đề án có sẵn 26 3.2.7 Thêm xoá lưu tập tin đề án 27 3.2.8 Thêm điều khiển vào đề án 29 3.2.9 Tạo tệp tin EXE 30 3.2.10 Sửa đổi thuộc tính đề án 31 3.3 Làm việc với nhiều đề án 32 3.3.1 Sử dụng Project Group 32 3.3.2 Thêm đề án vào nhóm đề án 32 3.3.3 Xoá đề án nhóm đề án 33 Làm vi việệc với điều khiểển 34 4.1 Các loại điều khiển 34 4.1.1 Thao tác với điều khiển 34 4.2 Các điều khiển nội .37 4.2.1 Nút lệnh 37 4.2.2 Hộp văn 38 4.2.3 Điều khiển cuộn 38 4.2.4 Điều khiển Timer 39 4.2.5 Điều khiển nhãn 39 4.2.6 Checkbox: 39 4.2.7 Một số thuộc tinh thông dụng: 39 4.2.8 4.2.9 Hộp danh sách (Listbox) 39 4.3 Các điều khiển M ới 40 41 Nh Nhậập mơn lập tr trìình nh 5.1 Chuẩn lập trình (Coding convention) .41 5.1.1 Coding conventions .41 5.1.2 Form design standard 46 5.1.3 Report design standard (for Crystal Report) 49 5.1.4 Database design standards 50 5.2 Thiết kế trước viết chương trình 51 5.3 Các thao tác thông dụng cửa sổ Code .51 5.3.1 Soạn thảo Code 51 5.3.2 Một số chức tự động 52 5.4 Biến kiểu liệu 52 5.4.1 Khai báo biến 52 5.4.2 Khai báo ngầm 52 http://www.minset.tk Trang: /260 Visual Basic 6.0 Trịnh Khắc Thanh 5.4.3 Khai báo tường minh 53 5.4.4 Khai báo biến Static 53 5.4.5 Hằng 53 5.5 Hàm thủ tục 60 5.6 Cấu trúc điều khiển 61 5.6.1 Cấu trúc chọn 61 5.6.2 Cấu trúc lặp 62 5.6.3 Làm việc với cấu trúc 63 5.7 Gỡ rối chương trình 63 5.7.1 Một số giải pháp giảm lỗi 63 5.7.2 Gỡ rối 64 5.8 Bẫy lỗi 65 5.8.1 Lệnh On Error 65 5.8.2 Kết thúc bẫy lỗi 65 66 Lập tr trìình xử lý giao di diệện 66 6.1 Menu 66 6.1.1 Dùng trình soạn thảo menu để tạo menu .66 6.1.2 Viết chương trình điều khiển menu .67 6.2 Hộp thoại 67 6.2.1 Thông điệp(Message box) 67 6.2.2 Hộp nhập(Input box) 68 6.2.3 Các hộp thoại thông dụng(Common dialog) 68 6.2.4 Hộp thoại hiệu chỉnh 69 6.3 Thanh công cụ(ToolBar) 69 6.3.1 Trong ứng dụng đơn giản 69 6.3.2 Nhúng đối tượng 69 6.4 Thanh trạng thái 69 6.5 Xử lý chuột bàn phím 70 6.5.1 kiện chuột 70 6.5.2 Hiệu chỉnh trỏ chuột 70 6.5.3 Sự kiện bàn phím 70 72 Xử lý tập tin tin 72 7.1 Mô hình FSO(File System Object model) 72 7.2 Xử lý tập tin với dòng lệnh hàm I/O cổ điển 72 7.2.1 Các kiểu truy cập tập tin 72 7.3 Các điều khiển hệ thống tập tin 75 7.3.1 Hộp danh sách ổ đĩa 75 http://www.minset.tk Trang: /260 Visual Basic 6.0 Trịnh Khắc Thanh 7.3.2 Hộp danh sách thư mục 75 7.3.3 Hộp danh sách tập tin 76 7.4 Điều khiển richtextbox 76 7.4.1 Phương thức loadfile 77 7.4.2 Phương thức savefile 77 78 Sử dụng DLL Windows API API 78 8.1 DLL cấu trúc Windows 78 8.1.1 Các hộp thoại thông dụng 78 8.2 WIN API 79 8.3 Sử dụng API 80 8.3.1 Tìm kiếm API 80 8.3.2 Các DLL Windows 80 8.3.3 Gọi API 81 8.4 Dùng API khai thác khả Multimedia .84 8.4.1 Lớp multimedia 84 Th ợ gi úp vào ứng dụng 96 Thêêm tr trợ giú ng 96 9.1 Thêm hỗ trợ cho Help 96 9.1.1 Thuộc tính HelpFile 96 9.1.2 Thuộc tính HelpContextID 96 9.2 Thêm hỗ trợ cho WHAT’S THIS HELP 97 9.2.1 Kích hoạt What’s This Help cho biểu mẫu 97 9.3 Cung cấp help với ứng dụng 98 9.3.1 Cung cấp WinHelp 98 9.3.2 Cung cấp HTML Help 98 ng đố ng 99 10 Lập tr trìình hướ ướng đốii tượ ượng ng 99 10.1 Giới thiệu đối tượng 99 10.1.1 Đối tượng VB 100 10.1.2 Modul Lớp 100 10.1.3 Tham số tuỳ chọn 105 10.1.4 Sự kiện lớp .106 10.1.5 Huỷ đối tượng 107 10.2 Biến đối tượng 108 10.2.1 Tạo điều khiển lúc thi hành 108 10.2.2 Sự kiện mảng điều khiển 109 10.2.3 Quản lý điều khiển biến đối tượng 110 10.2.4 Khai báo biến đối tượng 112 http://www.minset.tk Trang: /260 Visual Basic 6.0 Trịnh Khắc Thanh 10.3 Tập hợp 114 10.3.1 Thuộc tính Controls 114 10.3.2 Xác định điều khiển biểu mẫu 114 10.4 Biểu mẫu MDI 117 10.4.1 Biểu mẫu (Child Form) 117 10.4.2 Tạo Instance biểu mẫu 117 10.4.3 Xác định biểu mẫu 118 10.4.4 Tạo danh sách cửa sổ 118 11 Công cụ VB6 120 VB6 .120 11.1 ADD-INS 120 11.2 Các công cụ ADD-INS .120 11.2.1 Trình cài đặt ứng dụng 120 11.2.2 Trình đối tượng liệu tự động 120 11.2.3 Trình xây dựng liệu tự động 121 11.2.4 Trình thiết kế Add-ins tự động 122 11.2.5 Trình thiết kế tự động .122 11.2.6 Tiện ích xây dựng lớp 123 11.2.7 Trình tạo cơng cụ tự động 123 11.3 Trình đóng gói triển khai ứng dụng 124 11.3.1 Phát hành ứng dụng 124 11.3.2 Trình đóng gói triển khai ứng dụng 124 11.3.3 Mở trình đóng gói triển khai VB 124 11.3.4 Mở trình đóng gói triển khai ứng dụng độc lập 124 11.3.5 Thi hành Wizard chế độ silent 125 11.3.6 Setup toolkit 125 11.4 Bài tập 126 ững kh 127 12 Nh Nhữ kháái ni niệệm CSDL CSDL 127 12.1 Cơ sở liệu gì? 127 12.1.1 Bộ máy (Engine) sở liệu gì? .127 12.1.2 Bản trường 128 12.1.3 Recordset ? 129 12.1.4 Các kiểu sở liệu 129 12.1.5 Tạo lược đồ sở liệu .130 12.1.6 Dùng Visual Basic để tạo sở liệu 130 12.1.7 Các mối quan hệ .140 http://www.minset.tk Trang: /260 Visual Basic 6.0 Trịnh Khắc Thanh 12.1.8 Chuẩn hoá .141 12.2 Sử dụng cửa sổ xem liệu 143 12.3 Tạo trình thiết kế mơi trường liệu 145 12.3.1 Tạo giao diện người sử dụng với thiết kế DATAENVIRONMENT 146 12.4 Sử dụng điều khiển liệu để tạo giao diện người sử dụng 147 12.4.1 Kết nối với sở liệu làm việc với mẩu tin 148 12.4.2 Tạo giao diện người sử dụng .150 12.4.3 Thao tác mẩu tin thông qua điều khiển ADO Data 151 12.4.4 Các thuộc tính quan trọng khác điều khiển ADO DATA 155 12.5 Tổng kết 156 12.6 Hỏi Đáp 157 ng truy cập li 158 13 Các đố đốii tượ ượng liệệu 158 13.1 Sử dụng mơ hình đối tượng DAO 158 13.1.1 Lập trình với đối tượng 160 13.1.2 Sử dụng điều khiển DAO Data 160 13.1.3 Sử dụng thuộc tính Connect điều khiển DAO Data để truy cập nguồn liệu bên 160 13.2 Sử dụng DAO để làm việc với liệu 161 13.2.1 Dùng đối tượng DataBase để kết nối với CSDL .161 13.2.2 Sử dụng đối tượng Recordset 162 13.2.3 Chỉ tuỳ chọn cho Recordset 163 13.3 Sử dụng đối tượng Field để thao tác với trường 163 13.4 Sửdụng phương thức duyệt với đối tượng Recorset 164 13.4.1 Sử dụng BOF EOF để duyệt qua Recordset 164 13.4.2 Dùng BOF EOF để xác định Recordset có rỗng hay khơng 164 13.4.3 Dùng thuộc tính RecordCout để xác định số mẩu tin recordset 165 13.4.4 Dùng phương thức Edit để sửa đổi giá trị mẩu tin 165 13.4.5 Sử dụng phương thức AddNew Update để tạo mẩu tin 166 13.4.6 Sử dụng AppendChunk để nối liệu vào trường nhị phân 167 13.4.7 Sử dụng phương thức Close để đóng Recordset 168 13.5 Tìm kiếm liệu Recordset bảng 168 13.5.1 Sử dụng phương thức Find để định vị mẩu tin recordset 168 13.5.2 Sử dụng phương thức Seek để thi hành tìm kiếm theo mục .169 13.5.3 Lặp qua suốt tập hợp Indexes TableDef 170 13.5.4 Sử dụng thuộc tính Bookmark để ghi nhớ vị trí Recordset 171 13.5.5 sử dụng tập hợp Errors đối tượng Error để xử lý lỗi 171 http://www.minset.tk Trang: /260 Visual Basic 6.0 Trịnh Khắc Thanh 13.6 Tạo đối tượng để thao tác cấu trúc CSDL 172 13.6.1 Tạo CSDL 172 13.6.2 Sử dụng đối tượng TableDef để thao tác với bảng 173 13.7 Làm việc với tài liệu nơi chứa CSDL 178 13.8 Tạo sử dụng thuộc tính hiệu chỉnh đối tượng DataBase 179 13.9 Tổng kết 180 13.10 Hỏi đáp 181 182 14 Thi Thiếết lập báo cáo Xu Xuấất th thôông tin tin 182 14.1 Sử dụng thiết kế DataReport 182 14.1.1 Thiết kế với DataReport 183 14.1.2 Xem xuất DataReport 185 14.2 Sử dụng Microsoft Access để làm báo cáo 185 14.2.1 Thi hành báo cáo Access từ Visual Basic 185 14.3 Sử dụng Crystal report để lập báo cáo 190 14.3.1 Cài đặt Crystal Reports 190 14.3.2 Dùng Crystal Reports tạo báo cáo 191 14.3.3 Thi hành báo cáo ứng dụng với điều khiển ActiveX Crystal Reports 193 14.3.4 Sử dụng Crystal Reports .193 ng li 194 15 ODBC đố đốii tượ ượng liệệu từ xa xa 194 15.1 Định cấu hình sử dụng ODBC 194 15.1.1 Kiến trúc ODBC 194 15.1.2 Tạo nguồn liệu 194 15.1.3 Truy cập nguồn liệu với điều khiển DAO DATA ODBCDIRECT 197 15.2 Truy cập liệu dùng điều khiển liệu từ xa 198 15.2.1 Sử dụng RDC 198 15.3 Sử dụng RDO chương trình 199 15.3.1 Quy định thuộc tính máy sở liệu dùng đối tượng RDOENGINE 200 15.3.2 Truy cập môi trường đối tượng rdoEnvironment 200 15.3.3 Thiết lập kết nối dùng đối tượng rdoConnection 201 15.3.4 Đáp ứng kiện RDO 203 15.4 Tạo kết nốI với trình thiết kế uerconnecttion .204 15.5 Truy cập truy vấn với trìng thiết kế UserConnection 206 15.5.1 Gọi thủ tục chứa sẵn trình thiết kế UserConnection 206 http://www.minset.tk Trang: /260 Visual Basic 6.0 Trịnh Khắc Thanh 15.5.2 Dùng Microsotf Query để xây dựng chuỗi SQL trình thiết kế UserConnection 208 15.6 Sử dụng liệu với đối tượng rdorerultset 209 15.7 Thi hành truy vấn với đối tượng rdoQuery 209 211 16 Truy cập sở li liệệu với lớp 211 16.1 Làm việc với lớp đối tượng .212 16.1.1 Tạo phân nhánh lớp với tiện ích xây dựng lớp 212 16.1.2 Sử dụng biểu mẫu lớp 216 16.2 Tạo Intance bội cho biểu mẫu 218 16.2.1 Sử dụng lớp đối tượng truy cập sở liệu 218 16.3 Tạo lớp cần sử dụng liệu 221 16.3.1 Tạo lớp xuất liệu 223 16.3.2 Triển khai lớp thành Active Server 224 16.4 Tổng kết 229 230 17 Truy cập li liệệu từ xa xa 17.1 Client / Server thành phần 230 17.1.1 Cấu trúc Cilent/Server Three- Tier 230 17.2 251 ng li 252 18 Đố Đốii tượ ượng liệệu ActiveX ActiveX 252 18.1 Xây dựng ứng dụng Visual basic với ADO 252 18.1.1 Tìm hiểu cấu trúc OLE DB / ADO 252 18.1.2 Cài đặt thiết lập tham chiếu đến ADO ứng dụng Visual basic 253 18.1.3 Sử dụng ADO với thư viện đối tượng truy cập liệu khác 254 18.1.4 Dùng đối tượng connection ADO để kết nối với nguồn liệu 254 18.1.5 Làm việc với trỏ 255 18.1.6 Khoá ghi ADO 257 18.1.7 Sử dụng đối tượng Recordset ADO để thao tác với liệu 257 18.1.8 Tạo Recordset ngắt kết nối .258 18.2 Sử dụng dịch vụ liệu từ xa ADO 259 http://www.minset.tk Trang: /260 Visual Basic 6.0 Trịnh Khắc Thanh Làm quen với visual basic 6.0 u 2.1 Xây dựng ứng dụng ban đầ đầu ết ứng dụng ban đầ u 2.1.1 Vi Viế đầu Cách tốt để học lập trình viết chương trình Vậy thử viết chương trình hiển thị lịch biểu, cho phép người sử dụng: • Hiển thị lịch biểu tháng hành • Duyệt qua tháng • Hiển thị đồng hồ báo hành Nếu bạn cho chương trình nặng nề cho người học, đừng lo lắng Visual basic làm hết việc cho bạn Khác với ngôn ngữ C++, bạn phải viết thứ ít, Visual basic cung cấp mức đọ cao lập trình tự động Như vậy, bạn làm nhiều thứ mà khơng phải lập trình nhiều Tuy nhiên, đừng hiểu sai “khơng lập trình nhiều” nghĩa “khơng có nhiều tính mạnh” Visual basic ngơn ngữ mạnh Ta lập trình để làm “mọi thứ” cần Ta khai thác khả tự động Visual basic để viết chương trình thật nhanh Chọn lựa người lập trình Visual basic đủ linh hoạt để hỗ trợ cho người lập trình từ người học đến lập trình chun nghiệp 2.1.2 Xây dựng tính Calendar Bây ta bắt đầu xây dựng tính ứng dụng Đầu tiên, ta cần lịch biểu Ta tự tạo sử dụng lịch biểu có sẵn Visual basic (đây điều khiển ActiveX) Ta chọn cách thứ Từ menu Project, chọn Components Bởi vì, mặc định tất điều khiển ActiveX Visual basic không nạp tự động Muốn dùng bạn phải chọn từ menu Components Trong hộp thoại Components chọn Windows Common Controls 2.6.0 nhấn OK http://www.minset.tk Trang: /260 Visual Basic 6.0 Trịnh Khắc Thanh ActivateX gì? ActivateX sản phẩm Microsoft cho phép ta tạo chương trình nhỏ, gọi thành phần(componet) điều khiển (control) để thêm vào chương trình lớn Đó chương trình độc lập (Standalone program) hay chương trình chạy Internet Ta dùng Visual basic để tự tạo điều khiển ActivateX Phần trình bày riêng Đến điều khiển lịch nạp vào cơng cụ Tên thức điều khiển ActivateX MonthView Kế tiếp ta đưa điều khiển vào biểu mẫu Th Thêêm điều khiểển MonthView vào bi biểểu mẫu Chọn biểu tượng điều khiển MonthView từ hộp công cụ Nhấn đúp chuột lên biểu tượng điều khiển để đưa vào biểu mẫu Bạn vừa tạo xong chương trình nhấn F5 để chạy http://www.minset.tk Trang: 10 /260 Giáo trình đào tạo Visual Basic 6.0 Sau tạo sở liệu hỗ trợ chụp, ta phải tạo đối tượng riêng rẽ (như bảng) sở liệu Thực điều cách tạo đối tượng Replicable cho chúng, tương tự ta thực với sở liệu Các đối tượng sở liệu có thuộc tính Replicable “T” chụp đồng hoá Để thực điều này, ta dùng đoạn chương trình sau Giả sử sở liệu hỗ trợ chụp; ta lấy bảng hành sở liệu biến thành bảng hỗ trợ chụp Private Sub cmdMakeTable_Click() On Error GoTo ErrHandler Set db = OpenDatabase(MasterDBPath, True) Set td = db.TableDefs("tblCustomer") td.Properties("Replicable") = "T" On Error GoTo MsgBox "The Replicable property of " & _ td.Name & _ " has been set to " & _ td.Properties("Replicable") Set db = Nothing ' Release exclusive lock on DB Exit Sub ErrHandler: If Err.Number = 3270 Then Set pr = td.CreateProperty("Replicable", dbText, "T") td.Properties.Append pr Else MsgBox "Error " & Err & " - " & Error End If End Sub Đoạn chương trình tương tự đoạn chương trình thiết lập thuộc tính Replicable sở liệu Ở đây, bẫy lỗi đảmnhiệm tình thuộc tính Replicable chưa tạo cho đối tượng Đoạn chương trình bẫy lỗi để xác định thuộc tính Replicable đối tượng sở liệu có tồn khơng; chưa có, tạo thuộc tính quy định thuộc tính hiệu chỉnh chuỗi “T” Giá trị “T” làm cho đối tượng ( liệu chứa bên ) copy vào sở liệu vào lúc đồng hoá Giá trị “T” thuộc tính Replicable đối tượng sở liệu tự động đổi thuộc tính KeepLocal thành “F” iii Dùng thuộc tính ReplicableBool để biến đối tượng thành đối tượng hỗ trợ chụp Chú ý thuộc tính hiệu chỉnh ta dùng đến có giá trị ký tự - ký tự T hay F thể giá trị Boolean True hay False Bởi chúng giới thiệu cho Jet, thuộc tính sở liệu hiệu chỉnh chứa giá trị ký tự FPT Software Solution 245 Trang: Trang:245 245//259 Giáo trình đào tạo Visual Basic 6.0 Trong Jet 3.51, thuộc tính hiệu chỉnh chứa tập hợp phong phú gồm nhiều kiểu liệu Nhờ đó, giúp ta tạo thuộc tính gắn liền với Replication DAO cách dễ dàng ta thích dùng True / False thay T / F Nếu muốn thuộc tính Replicable đối tượng sở liệu dùng giá trị Boolean, ta tạo định thuộc tính ReplicableBool thay Replicable.ReplicatonBool dùng giá trị Boolean, thay chuỗi ký tự Private Sub cmdMakeTableBool_Click() On Error GoTo ErrHandler Set db = OpenDatabase(MasterDBPath, True) Set td = db.TableDefs("tblCustomer") td.Properties("ReplicableBool") = True On Error GoTo MsgBox "The Replicable property of " & _ td.Name & _ " has been set to " & _ td.Properties("Replicable") Set db = Nothing ' Release exclusive lock on DB Exit Sub ErrHandler: If Err.Number = 3270 Then Set pr = td.CreateProperty("ReplicableBool", dbBoolean, True) td.Properties.Append pr Else MsgBox "Error " & Err & " - " & Error End If End Sub Khi tạo dùng thuộc tính ReplicableBool, thuộc tính Replicable trở thành có sẵn, thuộc tính trả giá trị, nghĩa ta quy định ReplicableBool True, đọc thuộc tính Replicable, ta thấy “T” iv Lập trình với DAO để tạo sở liệu Tạo sở liệu từ Bản thiết kế gốc cách thi hành phương thức MakeReplica đối tượng Database áp : Cú ph phá ừy ch db.MakeReplica ,[,[], [