Lập trình Windows Visual Basic

Môn học: Kỹ thuật lập trình trên Windows

Cung cấp kỹ năng cơ bản trong lập trình trên

Windows:

 Lập trình giao diện đồ họa – người dùng (GUI)

 Lập trình cơ sở dữ liệu

 Sử dụng ActiveX, Component

Hiểu biết về công nghệ lập trình của Microsoft

(Visual Basic, Visual C++, Visual C#, .NET)

Ngôn ngữ minh họa cụ thể: Visual Basic (Version

6.0, 8.0 (2005), 9.0 (2008))

pdf84 trang | Chia sẻ: Mr Hưng | Lượt xem: 768 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Lập trình Windows Visual Basic, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
uốn cho User dùng Alt key để sử dụng Menu, đ|nh thêm dấu & trước ký tự muốn trong menu Caption. Thí dụ Alt-F sẽ thả xuống Menu của Menu Command File. PNH-HUT220 9/14/2011 56 8.1. Menu Sử dụng Menu Editor: Nếu đặt cho MenuItem &Open tên mnuOpen, thì khi Click lên Caption nó trên Form trong lúc thiết kế, VB6 IDE sẽ hiển thị c|i vỏ của Sub mnuOpen_Click(), giống như Sub cmdButton_Click() của một CommandButton: PNH-HUT221 8.1. Menu Sử dụng Menu Editor: C|i gạch ngang giữa MenuItems Close v{ Exit được gọi l{ Menu Separator. Có thể tạo một Menu Separator bằng c|ch cho Caption nó bằng dấu trừ ( - ). PNH-HUT222 8.1. Menu Sử dụng Menu Editor: Có thể dùng Short Key để tạo phím tắt cho một mục menu (ở mức con) PNH-HUT223 8.1. Menu Sử dụng Menu Editor:  Mặc định, c|c menuItem được Enabled v{ Visible. Lúc thiết kế có thể cho MenuItem gi| trị khởi đầu của Enabled v{ Visible bằng c|ch dùng Check boxes Enabled và Visible.  Trong khi chạy program (at runtime), cũng có thể thay đổi c|c values Enabled v{ Visible như sau: mnuSave.Enabled = False mnuOpen.Visible = False  Khi một MenuItem có Enabled=False thì nó bị mờ v{ user không dùng được. PNH-HUT224 9/14/2011 57 8.1. Menu Sử dụng Menu Editor:  Dùng c|c dấu mũi tên chỉ lên v{ xuống để di chuyển MenuItem đã được chọn lên v{ xuống  Trong danh sách các MenuItems. Dùng button Delete để hủy bỏ MenuItem đã được selected,  Insert để nhét một MenuItem mới ngay trên MenuItem đã được selected v{ Next để chọn MenuItem ngay dưới MenuItem đã được selected. PNH-HUT225 8.1. Menu – Popup menu Menu |p dụng cho đúng tình huống (Context menu) bằng một Mouse click (thường l{ chuột phải). Pop-Up menu thật ra l{ Drop-down menu của một Menu Bar Command. Bình thường Menu Bar Command ấy có thể visible hay invisible (t{ng hình). PNH-HUT226 8.1. Menu – Popup menu PNH-HUT227 8.1. Menu – Popup menu Code l{m cho Popup menu hiện lên được viết trong Event Mousedown của một Object. Ví dụ của sự kiện chuột phải lên Form: PNH-HUT228 9/14/2011 58 8.2. Hộp thoại Hộp thoại (Dialog Box): L{ một trong những c|ch thức VB giao tiếp với người dùng. Có 4 loại hộp thoại:  Hộp thông điệp (Message Box)  Hộp nhập (Input Box)  C|c hộp thoại thông dụng (Common Dialog)  Hộp thoại hiệu chỉnh (Custom Dialog) Hộp thông điệp: Có 2 loại  Loại chỉ xuất thông b|o  Loại có tương t|c với người dùng (Nút phản hồi) PNH-HUT229 8.2.1. Hộp thông điệp Message Box PNH-HUT230 8.2.1. Hộp thông điệp – loại 1 Loại chỉ xuất thông b|o, dùng MsgBox như một thủ tục. Cú pháp: MsgBox Prompt, Button, Title. Trong đó:  Prompt: Chuỗi thông b|o sẽ hiển thị.  Button: C|c nút nhấn sẽ được hiển thị trên hộp thông báo.  Title: Chuỗi hiển thị trên thanh tiêu đề của hộp thông báo. PNH-HUT231 8.2.1. Hộp thông điệp – loại 1 Loại chỉ xuất thông b|o, dùng MsgBox như một thủ tục. Ví dụ: PNH-HUT232 9/14/2011 59 8.2.1. Hộp thông điệp – loại 1 Tùy theo tham số (button) truyền v{o MsgBox, sẽ xuất hiện hộp thoại với những kiểu nút kh|c nhau. Constant của c|c icons ta có thể dùng l{ vbCritical, vbQuestion, vbExclamation và vbInformation. PNH-HUT233 Hằng số Giá trị Ý nghĩa vbOKOnly 0 Chỉ hiện nút OK vbOKCancel 1 Hiện 2 nút OK và Cancel vbAbortRetryIgnore 2 Hiện 3 nút Abort, Retry và Ignore vbYesNoCancel 3 Hiện 3 nút Yes, No, Cancel vbYesNo 4 Hiện 2 nút Yes, No vbRetryCancel 5 Hiện 2 nút Retry, Cancel 8.2.1. Hộp thông điệp – loại 2 Loại tương t|c với người dùng, dùng MsgBox như một h{m, khi nút n{o đó trên hộp thông b|o được ấn, sẽ trả về gi| trị tương ứng. Cú pháp: MsgBox (Prompt, Button, Title) As Integer PNH-HUT234 Hằng số Giá trị Nút vbOK 1 OK vbCancel 2 Cancel vbAbort 3 Abort vbRetry 4 Retry vbIgnore 5 Ignore vbYes 6 Yes vbNo 7 No 8.2.1. Hộp thông điệp – loại 2 Ví dụ: PNH-HUT235 8.2.1. Hộp thông điệp Có thể hiển thị Text message trong Message Box th{nh nhiều dòng bằng c|ch dùng Constant vbCrLf (CarriageReturn v{ LineFeed) để đ|nh dấu những chỗ ngắt khúc như sau: PNH-HUT236 9/14/2011 60 8.2.2. C|c hộp thoại thông dụng Có 6 loại hộp thoại thông dụng (Common dialog)  Mở tập tin (Open)  Lưu tập tin (Save)  Chọn mầu (Color)  Chọn font (Font)  In ấn (Print)  Trợ giúp (Help) Khi thiết kế chỉ có một công cụ duy nhất (CommonDialog). PNH-HUT237 8.2.2. C|c hộp thoại thông dụng Mở Project/Components/Controls/Microsoft Common Dialog Control 6.0 để đưa công cụ n{y vào toolbox. PNH-HUT238 8.2.2. C|c hộp thoại thông dụng Có 6 dạng Common Dialog, tùy từng Method để qui định gọi loại n{o. PNH-HUT239 Common Dialog Properties PNH-HUT240 9/14/2011 61 Hộp thoại mở v{ lưu tập tin Hai hộp thoại n{y có chức năng v{ thể hiện như nhau. Đều hiển thị danh s|ch c|c tập tin, có thể duyệt qua c|c ổ đĩa để tìm tập tin. Chỉ kh|c nhau phần tiêu đề v{ nút ấn C|c thuộc tính quan trọng:  Name: tên của common dialog  Filter: Chuỗi x|c định phần mở rộng của tên tập tin m{ hộp thoại có thể mở hay lưu  FilterIndex: X|c định mặc định loại tập tin n{o được chọn (dùng một số nguyên) nếu có nhiều loại phần mở rộng của tệp tin được mô tả trong Filter. PNH-HUT241 Hộp thoại mở v{ lưu tập tin C|c thuộc tính quan trọng (tiếp):  FileName: Trả về tên tập tin sau khi lựa chọn một tệp tin n{o đó  CancelError: Nếu True thì trả về lỗi khi chọn Cancel. (Mặc định l{ False). Phương thức  ShowOpen: Mở hộp thoại mở tập tin  ShowSave: Mở hộp loại lưu tập tin PNH-HUT242 Hộp thoại mở v{ lưu tập tin Thiết lập thuộc tính khi thiết kế (mở properties của common dialog) PNH-HUT243 Hộp thoại mở v{ lưu tập tin Thuộc tính Filter lọc tập tin: Có thể đặt khi thiết kế, hoặc viết lệnh Ví dụ: PNH-HUT244 9/14/2011 62 PNH-HUT245 Hộp thoại mở v{ lưu tập tin Ví dụ: (thực h{nh) PNH-HUT246 Hộp thoại mở v{ lưu tập tin Ví dụ: (thực h{nh) PNH-HUT247 Hộp thoại chọn m{u Hiện thị bảng m{u có sẵn của Windows, cho phép chọn m{u hoặc thiết lập thêm m{u mới. Dùng phương thức ShowColor để hiển thị hộp thoại chọn m{u. Thuộc tính Color trả về m{u được chọn. PNH-HUT248 9/14/2011 63 Hộp thoại chọn m{u Trong một số ứng dụng, ta sẽ dùng hộp thoại chọn m{u để thay đổi gi| trị m{u của c|c điều khiển trong một số trường hợp n{o đó. Ví dụ (thực h{nh) PNH-HUT249 Hộp thoại chọn m{u  txtEdit.SelColor = CommonDialog1.Color PNH-HUT250 Hộp thoại chọn font chữ Cho phép người dùng chọn font m{n hình, m|y in, hoặc cả 2. Mở hộp thoại chọn Font bằng phương thức ShowFont Thuộc tính Flags qui định loại font n{o sẽ được hiển thị. PNH-HUT251 Hộp thoại chọn font chữ C|c thuộc tính: PNH-HUT252 Thuộc tính Giải thích Color Lưu giữ giá trị của màu chữ được chọn FontBold True nếu chọn chữ đậm (Bold), False nếu ngược lại FontItalic True nếu chọn chữ nghiêng, False nếu ngược lại FontStrikeThru True nếu chọn chế độ gạch ngang ký tự FontUnderLine True nếu chọn chế độ gạch chân ký tự FontName Tên font chữ Max Kích thước lớn nhất của Font được hiển thị Min Kích thước nhỏ nhất của Font được hiển thị FontSize Kích thước của Font được chọn 9/14/2011 64 Hộp thoại chọn font chữ C|c gi| trị của thuộc tính Flags: Nếu muốn chọn m{u, thêm 256 v{o gi| trị thuộc tính Flags. Ví dụ chọn Font: (thực h{nh) PNH-HUT253 Hằng Giá trị Hiệu quả cdlCFPrinterFonts &H2 Chỉ hiển thị Font máy in cdlCFScreenFonts &H1 Chỉ hiển thị Font màn hình cdlCFBoth &H3 Hiển thị cả Font màn hình và máy in cdlCFScalableOnly &H20000 Hiển thị Font tỷ lệ như là Font True Type Hộp thoại chọn font chữ PNH-HUT254 Hộp thoại chọn font chữ PNH-HUT255 Hộp thoại in ấn Cho phép x|c lập thông tin về m|y in khi tiến h{nh in ấn. Sử dụng phương thức ShowPrinter để mở hộp thoại in ấn. PNH-HUT256 9/14/2011 65 Hộp thoại in ấn C|c thuộc tính: Ví dụ hộp thoại in ấn (thực h{nh) PNH-HUT257 Thuộc tính Ý nghĩa Copies Số bản in FromPage Số thứ tự của trang bắt đầu in Max Số bản in tối đa cho phép Min Số bản in tối thiểu cho phép PrinterDefault Nếu = True, các thiết lập sẽ ảnh hưởng đến các ứng dụng khác có sử dụng máy in. ToPage Số thứ tự trang in cuối cùng Hộp thoại in ấn PNH-HUT258 Hộp thoại in ấn PNH-HUT259 Hộp thoại trợ giúp Ta dùng method ShowHelp để hiển thị c|c thông tin giúp đỡ, phải cho CommonDialog ít nhất trị số của c|c properties HelpFile v{ HelpCommand PNH-HUT260 9/14/2011 66 B{i thực h{nh tổng hợp Sử dụng menu v{ hộp thoại (Ứng dụng trình soạn thảo văn bản đơn giản) PNH-HUT261 B{i thực h{nh tổng hợp Sử dụng menu v{ hộp thoại PNH-HUT262 B{i thực h{nh tổng hợp Sử dụng menu v{ hộp thoại PNH-HUT263 Ghi/Đọc dữ liệu trên file  Filename l{ tên tập tin (lưu/mở) lấy từ commondlg.FileName  Ghi:  Open filename For Output As #1  Print #1, txtEdit.Text  Close #1  Đọc:  Dim s as string  Open filename For Input As #1  Do While Not (EOF(1)) Line Input #1, s txtEdit.Text = txtEdit.Text & s & vbCrLf  Loop  Close #1 PNH-HUT264 9/14/2011 67 Resize điều khiển RTB Khi Form chứa txtEdit thay đổi kích thước (resize) xảy ra sự kiện Form_Resize. Đặt lại kích thước điều khiển txtEdit bằng kích thước form txtEdit.Width = ScaleWidth txtEdit.Height = ScaleHeight PNH-HUT265 Chương 9 Xử lý tập tin PNH-HUT266 Nội dung 9.1. C|c kiểu truy cập tập tin 9.2. Tập tin tuần tự 9.3. Tập tin truy xuất ngẫu nhiên PNH-HUT267 9.1. C|c kiểu truy cập tập tin Tập tin: một d~y c|c byte trên đĩa. (ký tự, bản ghi, số, chuỗi ) Có 3 kiểu truy cập tập tin: tuần tự, ngẫu nhiên, nhị phân. Tuần tự (Sequential): Đọc/ghi c|c tập tin văn bản theo c|c chuỗi liên tục. Ngẫu nhiên (Random): Đọc/ghi tập tin văn bản, nhị ph}n có cấu trúc theo c|c mẩu tin có độ d{i cố định. Nhị ph}n (Binary): Đọc/ghi tập tin có cấu trúc thay đổi. PNH-HUT268 9/14/2011 68 9.2. Tập tin tuần tự - Open Mở tập tin:  Cú pháp: Open pathname For [Input | Output | Append] As filenumber [Len = buffersize]  Tham số: - Input: Mở tập tin để đọc, tập tin phải tồn tại sẵn, nếu không sẽ b|o lỗi. - Mở tập tin chưa có sẵn với Output, Append sẽ tạo mới tập tin v{ mở nó. - Len: số ký tự trong vùng đệm khi sao chép dữ liệu giữa tập tin v{ chương trình. - Filenumber: số hiệu tập tin được mở (nguyên, từ 1 .. 511). PNH-HUT269 9.2. Tập tin tuần tự - Open (tt) Mở tập tin – Ví dụ:  Open “C:\TESTFILE" For Output As #1 ' Mở tập tin để ghi. PNH-HUT270 9.2. Tập tin tuần tự - Input Đọc nội dung tập tin:  Hàm Input Cú pháp: Input (number, filenumber) As String Trả về number ký tự của tập tin có số hiệu được chỉ định bởi filenumber  Lệnh Input Cú pháp: Input # filenumber, varlist Đọc nội dung của tập tin v{o c|c biến được chỉ bởi varlist. Chỉ sử dụng với c|c tập tin được ghi bởi lệnh Write #  Lệnh: Line Input # filenumber, varname Đọc nội dung của một dòng trong tập tin tuần tự v{o biến chuỗi (varname). PNH-HUT271 9.2. Tập tin tuần tự - Input (tt) Đọc nội dung tập tin – Ví dụ:  Dùng Line Input để đọc từng dòng: Dim LinesFromFile, NextLine As String Do Until EOF(1) Line Input #1, NextLine LinesFromFile = LinesFromFile + NextLine + Chr(13) + Chr(10) Loop  Dùng Input để đọc một danh s|ch c|c th{nh phần: Input #1, name, street, city, state, zip  Dùng hàm Input để đọc về n ký tự: LinesFromFile = Input(n, #1) PNH-HUT272 9/14/2011 69 9.2. Tập tin tuần tự - Write Ghi dữ liệu lên tập tin:  Có 2 c}u lệnh Write # v{ Print # C}u lệnh Write #  Cú pháp: Write #filenumber, [outputlist]  Ghi dữ liệu v{o tập tin tuần tự. Nội dung ghi chứa trong danh s|ch biến outputlist, c|c phần tử danh s|ch c|ch nhau bởi dấu phẩy. Nếu không có outputlist thì ghi một dòng trắng. PNH-HUT273 9.2. Tập tin tuần tự - Write (tt) C}u lệnh Print #  Cú pháp: Print # filenumber, [outputlist]  Tương tự như lệnh Write nhưng dữ liệu có thể định dạng khi ghi lên tập tin.  Đối số outputlist có thể l{: [{Spc(n) | Tab[(n)]}] [expression] [charpos] Trong đó: - Spc(n): xen n khoảng trắng v{o tập tin. - Tab(n): dùng để x|c định cột bắt đầu ghi dữ liệu trong vùng ghi với n l{ số thứ tự cột. Dùng Tab không đối số để chỉ vị trí bắt đầu của vùng ghi tiếp theo. - Expression: biểu thức chuỗi hoặc biểu thức số - Charpos: chỉ định vị trí của ký tự kế tiếp. PNH-HUT274 9.2. Tập tin tuần tự - Write (tt) Ghi tập tin – ví dụ:  Ghi nội dung hộp văn bản (một chuỗi) v{o tập tin: Print #1, Thebox.text Print #1, "This is a test" ' Ghi chuỗi v{o tập tin. Print #1, ' Ghi một dòng trắng v{o tập tin. Print #1, "Zone 1"; Tab ; "Zone 2" ' Tạo hai vùng ghi  Ghi danh s|ch chuỗi, số: Dim strString as String, intNumber as Integer strString = “AnyCharacters” intNumber = 23456 Write #Filenum, strString, intNumber PNH-HUT275 9.2. Tập tin tuần tự - Close Đóng tập tin:  Cú pháp: Close filenumberlist Đóng lại c|c tập tin được mở với c|c số hiệu được mô tả trong filenumberlist, filenumberlist có dạng sau: [[#]filenumber] [, [#]filenumber] . . .  Ví dụ: Đóng tập tin đ~ mở cho c|c thao t|c trước Close #1 PNH-HUT276 9/14/2011 70 9.2. Tập tin tuần tự - Thực h{nh Ví dụ: Thiết kế ứng dụng duyệt v{ đọc nội dung tập tin văn bản trên đĩa cứng (B{i thực h{nh) PNH-HUT277 9.3. Tập tin truy xuất ngẫu nhiên  Dữ liệu trong tập tin truy xuất ngẫu nhiên có dạng c|c bản ghi đồng nhất. (Tương đương kiểu dữ liệu mẩu tin).  Ví ụ: Kiểu worker tạo mẫu tin 19 bytes gồm 3 trường: Type worker LastName As String *10 Tilte As String * 7 Rank As String *2 End Type  Sau khi định nghĩa kiểu mẩu tin, khai b|o c|c biến m{ ứng dụng cần để xử lý 1 tập tin mở để truy cập ngẫu nhiên: Public Employee as worker PNH-HUT278 9.3. Tập tin truy xuất ngẫu nhiên - Open Mở tập tin:  Cú pháp: Open pathname [For Random] As filenumber [Len = RecLength]  Tham số: - For Random: Mặc định nên có thể không viết. - Filenumber: Số hiệu tập tin được mở - Kích thước cho một mẩu tin. Nếu nhỏ hơn sẽ g}y lỗi. Nếu lớn hơn thì l~ng phí. PNH-HUT279 9.3. Tập tin truy xuất ngẫu nhiên - Get Đọc nội dung tập tin – C}u lệnh Get:  Cú pháp: Get [#] filenumber, [recnumber], varname  Đọc nội dung mẩu tin thứ recnumber v{o biến varname.  Mẩu tin đầu tiên của tập tin được tính từ 1. PNH-HUT280 9/14/2011 71 9.3. Tập tin truy xuất ngẫu nhiên - Put Ghi dữ liệu lên tập tin – C}u lệnh Put:  Cú pháp: Put [#] filenumber, [recnumber], varname  Ghi mẩu tin thay thế hoặc thêm mới.  Thay thế: Nếu recnumber <= số mẩu tin hiện tại  Thêm mới: recnumber = số mẩu tin hiện tại + 1 PNH-HUT281 9.3. Tập tin truy xuất ngẫu nhiên - Close Đóng tập tin:  Như với tập tin tuần tự  Lệnh: Close filenumberlist  Đóng lại c|c tập tin được mở với c|c số hiệu được mô tả trong filenumberlist, filenumberlist có dạng sau: [[#]filenumber] [, [#]filenumber]... PNH-HUT282 9.3. Tập tin truy xuất ngẫu nhiên – Ví dụ  Giả sử ta có khai b|o 1 mẩu tin như sau: Type Hanghoa MaHang As String * 10 TenHang As String * 40 DVTinh As String * 15 Gia As Double End Type PNH-HUT283  Ghi dữ liệu lên tập tin có cấu trúc là các mẩu tin như trên Dim h As Hanghoa h.MaHang = "AM01" h.TenHang = "Dau goi Clear" h.DVTinh = "Chai" h.Gia = 14000# Open "E:\Test.dat" For Random As #1 Len = LenB(h) Put #1, 1, h Close #1 9.3. Tập tin truy xuất ngẫu nhiên – Ví dụ Đọc dữ liệu từ tập tin có cấu trúc như trên: Dim h As Hanghoa Open "E:\Test.dat" For Random As #1 Len = LenB(h) Get #1, 1, h Close #1 MsgBox h.MaHang & ": " & h.TenHang & ": " & h.DVTinh & ": " & Str(h.Gia), , “Thong tin Hang Hoa” PNH-HUT284 9/14/2011 72 Chương 10 Chương trình nhiều Form PNH-HUT285 Nội dung 10.1. Chương trình nhiều Form 10.2. Ứng dụng MDI Form PNH-HUT286 10.1. Chương trình nhiều Form Thêm Form v{o ứng dụng: Project/AddForm PNH-HUT287 Biến, thủ tục trong chương trình nhiều form Khai b|o to{n cục để sử dụng trong form kh|c. Ví dụ:  Public V as integer  Public Sub1() End Sub Sử dụng. Ví dụ:  Form2.v=100 ‘G|n gi| trị 1000 v{o biến V được khai báo trong Form2  Form2.sub1 PNH-HUT288 9/14/2011 73 Truy xuất đối tượng trong Form kh|c Kèm theo tên Form chứa đối tượng: Ví dụ:  Form2.text1.text=”DurianGroup”  Form2.shape.Fillcolor=QBColor(Rnd() * 10) Từ khóa Me: Từ khóa n{y có dùng để thay thế cho tên Form trong c|c c}u lệnh được viết trong Form n{y PNH-HUT289 Qui định Form hiện trước Chọn menu Project /Project properties Tab General: Chọn tên Form Startup Object PNH-HUT290 10.2. Ứng dụng MDIFrom Kh|i niệm MDI:  MDI (Multiple Document Interface), giao diện có nhiều cửa sổ t{i liệu  Sử dụng trong hầu hết c|c ứng dụng Microsoft Office (Word, Excel, Access, PowerPoint), và các ứng dụng kh|c của Window.  Biểu mẫu MDI cho phép nhóm nhiều biểu mẫu v{ chức năng trong một cửa sổ lớn.  MDI phù hợp với c|c ứng dụng cần l{m việc với nhiều t{i liệu cùng lúc. PNH-HUT291 10.2. Ứng dụng MDIForm Đặc điểm:  MDIForm l{ một biểu mẫu chuẩn có những điểm đặc biệt kh|c với c|c biểu mẫu thông thường.  Chỉ có thể tạo một MDIForm cho mỗi ứng dụng, vì đ}y l{ biểu mẫu cha, chứa c|c biểu mẫu con khác. PNH-HUT292 9/14/2011 74 10.2. Ứng dụng MDI Form – Đặc điểm Hầu hết c|c điều khiển sẽ không đặt trực tiếp được v{o giao diện MDIForm. Được phép:  Thiết kế menu  Chứa c|c điều khiển không có thể hiện khi chạy (Timer, CommonDialog).  C|c điều khiển hỗ trợ căn chỉnh Align (PictureBox, Toolbar, StatusBar). Để đặt c|c điều khiển kh|c, hoặc hiển thị ký tự, hình ảnh cần dùng điều khiển chứa chúng (thường dùng PictureBox). PNH-HUT293 10.2. Ứng dụng MDIForm – C|ch tạo Mở Project/Add MDI Form. Sau khi tạo MDIForm th{nh công, dòng n{y sẽ mờ đi, không cho phép thêm MDIForm n{o nữa. Hình ảnh: PNH-HUT294 Biểu mẫu MDIChild Một biểu mẫu MDIForm chứa một hoặc nhiều biểu mẫu con. Để tạo c|c biểu mẫu con, thêm biểu mẫu v{o dự |n v{ thiết lập thuộc tính MDIChild của nó gi| trị True. Khi được thiết lập l{ MDIChild, biểu tượng của form trong cửa sổ Project Explorer sẽ thay đổi. Mặc định nó l{ form con của MDIForm (mỗi project chỉ có một form cha). PNH-HUT295 Biểu mẫu MDIChild Form MDI con nằm bên trong MDI cha. Nếu một Form MDI con được chọn l{ form khởi động trong ứng dụng thì Form MDI cha sẽ được nạp tự động v{ hiển thị trước khi hiện form con. C|c thể hiện của form MDI con được tạo ra sử dụng từ khóa New ‘Inside the MDIForm module Private Sub mnuFileNew_Click() Dim frmDoc As New frmDocument frmDoc.Show End Sub PNH-HUT296 9/14/2011 75 Tạo Instance của biểu mẫu Sử dụng biến đối tượng để tạo ra những bản sao của một biểu mẫu. Từng bản sao có c|c điều khiển v{ menu như nhau, nhưng có những dữ liệu kh|c nhau. Mặc dù chương trình cũng như tên biến v{ tên điều khiển như nhau, nhưng dữ liệu được chứa ở những nơi kh|c nhau trong bộ nhớ. PNH-HUT297 Tạo danh s|ch cửa sổ Phương thức Arrange của MDIForm (không có trong form thông thường) cung cấp c|c c|ch thức sắp xếp c|c form con (MDIChild) trong ứng dụng MDI. C|c kiểu sắp xếp do VB cung cấp: PNH-HUT298 Giá trị Hằng Mô tả 0 vbCascade Sắp xếp các cửa sổ con theo kiểu thác nước trải từ góc trái trên qua góc phải dưới. 1 vbTileHorizontal Dàn đều các cửa sổ con sao cho chúng chia màn hình thành những dải ngang. 2 vbTileVertical Dàn đều các cửa sổ con sao cho chúng chia màn hình thành những dải dọc. 3 vbArrangeIcons Các cửa sổ con được thu nhỏ thành các biểu tượng và xếp thẳng hàng ở đáy cửa sổ cha. Tạo danh s|ch cửa sổ Để l{m những điều n{y, cần tạo ra một menu Window với 4 lệnh: Tile Horizontally, Tile Vertically, Cascade, and Arrange Icons. Viết code cho mỗi th{nh phần menu: ‘Chọn xếp theo d{n h{ng ngang Private Sub mnuTileHorizontally_Click() Arrange vbTileHorizontal End Sub ‘Chọn xếp theo d{n h{ng dọc Private Sub mnuTileVertically_Click() Arrange vbTileVertical End Sub PNH-HUT299 Tạo danh s|ch cửa sổ Viết code cho mỗi th{nh phần menu (tiếp): ‘Chọn xếp theo kiểu th|c nước Private Sub mnuCascade_Click() Arrange vbCascade End Sub ‘Chọn xếp theo kiểu thu nhỏ Private Sub mnuArrangeIcons_Click() Arrange vbArrangeIcons End Sub PNH-HUT300 9/14/2011 76 10.3. Ứng dụng MDI Notepad B{i thực h{nh Tạo mới thể hiện form con:  Dim frmDoc As New frmDocument frmDoc.Show Tham chiếu đến form con đang kích hoạt (ActiveForm): Me.ActiveForm PNH-HUT301 Ứng dụng Notepad MDI Tạo mới thể hiện Form con PNH-HUT302 Private Sub menuNew_Click() Dim frmDoc As frmDocument „Ten form con Static n As Integer „Bien tinh dem so the hien form con Set frmDoc = New frmDocument frmDoc.rtbEdit.Text = "" „Chứa rtbEdit n = n + 1 frmDoc.Caption = "Document" & Format(n) frmDoc.Show „Hien the hien form con End Sub Ứng dụng MDI Notepad Kiểm tra nếu chưa có Form con n{o được mở PNH-HUT303 If ActiveForm Is Nothing Then Set frmDoc = New frmDocument frmDoc.Caption = "Document 1" frmDoc.Show End If Tham chiếu điều khiển trên form con đang active Me.ActiveForm.TenDieuKhien Xuất file văn bản Filename: Tên file văn bản được mở (qua OpenFileDialog) PNH-HUT304 Open filename For Input As #1 Do While Not (EOF(1)) Line Input #1, s Me.ActiveForm.rtbEdit.Text = Me.ActiveForm.rtbEdit.Text & s & vbCrLf Loop Close #1 9/14/2011 77 Đóng c|c Form con PNH-HUT305 Private Sub menuExit_Click() Dim frmDoc As Form 'Thoat cac cua so con For Each frmDoc In Forms If TypeOf frmDoc Is frmDocument Then Unload frmDoc Set frmDoc = Nothing End If Next 'Thoat cua so cha Unload Me End Sub Trò chơi Puzzle số PNH-HUT306 Trò chơi Puzzle số Di chuyển c|c ô số để được kết quả sắp xếp cuối cùng PNH-HUT307 Chương 11. Lập trình Cơ sở dữ liệu PNH-HUT308 9/14/2011 78 CSDL trong ứng dụng quản lý Mô hình ứng dụng quản lý CSDL PNH-HUT309 CSDL trong ứng dụng quản lý C|c th{nh phần: (mô hình 3 lớp) PNH-HUT310 Kỹ thuật ADODB trong VB6 ADODB (ActiveX Data Object DB) Sử dụng: PNH-HUT311 C|c đối tượng trong ADODB Connection: Quản lý kết nối Command RecordSet Field Parameter PNH-HUT312 9/14/2011 79 Kết nối Data Source PNH-HUT313 Đối tượng Connection PNH-HUT314 Đối tượng Connection PNH-HUT315 Đối tượng Connection PNH-HUT316 9/14/2011 80 Đối tượng Connection PNH-HUT317 Đối tượng Connection PNH-HUT318 Ví dụ Kết nối CSDL PNH-HUT319 Đóng kết nối PNH-HUT320 9/14/2011 81 Thao t|c dữ liệu PNH-HUT321 Minh họa thao t|c dữ liệu PNH-HUT322 Đối tượng Command PNH-HUT323 Đối tượng Command Thực hiện truy vấn Thêm (Insert), Cập nhật (Update) tương tự PNH-HUT324 9/14/2011 82 Đối tượng Command Thực hiện c}u truy vấn SELECT PNH-HUT325 „Khai báo đối tượng RecordSet để chứa kết quả Dim rs As New ADODB.RecordSet „Khai báo đối tượng Command Dim cmd As New ADODB.Command cmd.ActiveConnection = con „Kết nối đang mở cmd.CommandText = câu truy vấn chọn cmd.CommandType = adCmdText „Thực hiện truy vấn Set rs = cmd.Execute Đối tượng RecordSet Thực hiện c}u truy vấn SELECT PNH-HUT326 „Khai báo đối tượng RecordSet Dim rs As New ADODB.RecordSet „Khai báo đối tượng Command Dim cmd As New ADODB.Command cmd.ActiveConnection = con „Kết nối đang mở cmd.CommandText = câu truy vấn chọn cmd.CommandType = adCmdText „Thực hiện truy vấn chọn rs.Open cmd C|c phương thức duyệt bản ghi Về đầu danh sách:  rs.MoveFirst Về cuối danh sách:  rs.MoveLast Bản ghi tiếp theo:  rs.MoveNext Bản ghi trước:  rs.MovePrevious PNH-HUT327 Đếm số bản ghi: rs.RecordCount Di chuyển đến bản ghi có chỉ số index rs.Move(index) Đọc thông tin c|c trường bản ghi Đối tượng rs (RecordSet) nắm dữ tập hợp c|c bản ghi. Tại mỗi thời điểm, có một bản ghi được chọn. Lấy thông tin c|c trường dữ liệu của một bản ghi:  rs.Fields(index) ‘Chỉ số trường tính từ 0  rs.Fields(“Tên trường”)  rs!Têntrường PNH-HUT328 9/14/2011 83 Đối tượng RecordSet PNH-HUT329 Tiếng Việt trong Visual Basic PNH-HUT330 Tiếng Việt VB6 Bảng mã ANSI (ACII mở rộng), dùng đủ 8 bit với 256 ký tự, bao gồm cả 128 kí tự trong m~ ASCII chuẩn. C|c kí tự sau l{ c|c phép to|n, c|c chữ có dấu v{ c|c kí tự để trang trí. (Mở công cụ Character Map của Window, chọn font Fixedsys, trật tự c|c ký tự hiện ra ấy chính l{ bảng m~ ANSI) VB6 chuẩn hoạt động với bảng m~ ANSI: Ta có thể gõ trong môi trường code c|c ký tự HOA có dấu sau: À Á Â Ã È É Ê Ì Í Ò Ó Ô Õ Ù Ú Ý kèm c|c chữ thường. PNH-HUT331 Tiếng Việt VB6 Môi trường chuẩn VB6 không hỗ trợ tiếng Việt Unicode. Người ta thường dùng bảng m~ 1 byte của Việt nam để thay thế. Tiếng Việt cho điều khiển:  Thiết lập thuộc tính Font: Chọn kiểu Font Việt Nam 1 byte (.VnTime, .VnTimeH, )  Sử dụng bộ gõ TCVN3, kiểu gõ Telex Với môi trường Code: * C|c ký tự có dấu phức tạp, ta dùng kèm h{m ChrW, ví dụ từ 'lên lớp' : Msgbox "lên l" & ChrW(7899) & "p“ Dùng Character Map để tr

Các file đính kèm theo tài liệu này:

  • pdflap_trinh_windows_8476.pdf