Tin học dại cương - Chương 6: Lập trình với Visual Basic 6.0

ppt 71 trang vanle 2060
Bạn đang xem 20 trang mẫu của tài liệu "Tin học dại cương - Chương 6: Lập trình với Visual Basic 6.0", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • ppttin_hoc_dai_cuong_chuong_6_lap_trinh_voi_visual_basic_6_0.ppt

Nội dung text: Tin học dại cương - Chương 6: Lập trình với Visual Basic 6.0

  1. Dùng cho nhóm ngành: Công trình + Cơ khí TIN HỌC ĐẠI CƯƠNG Chương 6: Lập trình với Visual Basic 6.0
  2. Nội dung 1. Soạn thảo chương trình 2. Các kiểu dữ liệu cơ bản của VB 3. Các toán tử thông dụng trong VB 6.0 4. Các cấu trúc điều khiển – Rẽ nhánh – Lặp 5. Gỡ rối (debug) trong VB IDE 6. Các hộp thoại (dialog) thông dụng Tin học đại cương - Chương 6 2
  3. 6.1. Soạn thảo chương trình ❑ Nhắc lại – Forms là cái nền hay khung để ta xây dựng User Interface. – Controls là những viên gạch để ta dùng xây dựng User Interface. – Event procedures là code nằm phía sau những hình ảnh, nó là chất keo dùng để dán các Controls lại với nhau để tạo thành chương trình áp dụng của ta. ❑ Soạn thảo chương trình trong VB 6.0 thực chất là viết code cho từng sự kiện mà ta quan tâm để đáp ứng lại những hành động của người sử dụng Tin học đại cương - Chương 6 3
  4. 6.1. Soạn thảo chương trình (tt) ❑ Trong cửa sổ viết code: – Cần chọn Control trong ô bên trái – Chọn tiếp Event của control đó trong ô bên phải. – Thủ tục (Procedure) xử lý event đó sẽ có dạng: Private Sub TênControl_TênEvent (Tham số nếu có) các lệnh xử lý do người viết chương trình đưa vào End Sub Tin học đại cương - Chương 6 4
  5. 6.1. Soạn thảo chương trình (tt) ❑ Một số event thông dụng – Form_Load: Xuất hiện khi 1 form bắt đầu được tải và hiển thị trên màn hình. – Control_Click: Xuất hiện khi người dùng click chuột vào 1 control – Control_DbClick: Xuất hiện khi người dùng click đúp chuột vào control – Control_KeyPress: Xuất hiện khi người dùng nhấn 1 phím. Ta thường dùng nó cho TextBox để loại ra các phím không chấp nhận. KeyPress cho ta mã ASCII là số có giá trị từ 1 đến 255 của key. – Control_DragDrop: Xuất hiện khi người dùng kéo và thả một cái gì lên control Tin học đại cương - Chương 6 5
  6. 6.1. Soạn thảo chương trình (tt) ❑ Một số event thông dụng (tt) – Control_GotFocus: Xuất hiện khi 1 control đang ở trạng thái inactive chuyển thành active và nhận được tương tác của người dùng. – Control_LostFocus: Ngược với GotFocus, tức 1 control đang ở trạng thái active chuyển sang trạng thái inactive – Control_MouseDown, Control_MouseUp: Xuất hiện khi người dùng click chuột. 1 lần click sẽ tương ứng với 1 lần MouseDown và 1 lần MouseUp. Việc xử lý event này sẽ giúp ta giải quyết tình huống vẽ hay kéo thả bằng chuột. Tin học đại cương - Chương 6 6
  7. 6.1. Soạn thảo chương trình (tt) ❑ Ví dụ: (*) Yêu cầu hoàn thiện code cho các Command Button còn lại Tin học đại cương - Chương 6 7
  8. 6.2. Các kiểu dữ liệu cơ bản trong VB ❑ Chúng ta biết bộ trí nhớ (memory) của computer chứa những byte (8 bit) dữ liệu. Vd: computer của có 32MB memory thì chứa được khoảng hơn 32 triệu bytes. ❑ Tất cả data trong máy tính đều được biểu diễn dưới dạng các con số. Mỗi con số đại diện cho một thứ gì đó, tùy theo quy ước của người dùng. ❑ Một byte có thể chứa một con số từ 0 đến 255, tức là 28 -1 (2 lũy thừa 8 bớt 1) . Khi dùng bits ta đếm các số trong hệ thống nhị phân. ❑ Thí dụ, khi bạn ấn phím A trên keyboard, keyboard sẽ gởi về computer con số 65 (01000001 trong nhị phân). Tin học đại cương - Chương 6 8
  9. 6.2. Các kiểu dữ liệu cơ bản trong VB (tt) ❑ Có 2 kiểu dữ liệu cơ bản trong VB 6.0 – Dữ liệu kiểu số – Dữ liệu không phải số: • Chuỗi ký tự (string) • Ngày giờ (Date) • Lôgic (Boolean) • Đối tượng (Object) • Variant Tin học đại cương - Chương 6 9
  10. Dữ liệu kiểu số ❑ Byte – Độ lớn: 1 byte – Khoảng giá trị: từ 0 đến 255 ❑ Integer – Độ lớn: 2 bytes – Khoảng giá trị: từ -32,768 đến 32,767 ❑ Long – Độ lớn: 4 bytes – Khoảng giá trị: từ -2,147,483,648 đến 2,147,483,648 Tin học đại cương - Chương 6 10
  11. Dữ liệu kiểu số (tt) ❑ Single – Độ lớn: 4 bytes – Khoảng giá trị: • Số âm: từ -3.402823E+38 đến -1.401298E-45 • Số dương: từ 1.401298E-45 đến 3.402823E+38 ❑Double – Độ lớn: 8 bytes – Khoảng giá trị: • Số âm: -1.79769313486232e+308 đến - 4.94065645841247e-324 • Số dương: 4.94065645841247e-324 đến 1.79769313486232e+308 Tin học đại cương - Chương 6 11
  12. Dữ liệu kiểu số (tt) ❑ Currency – Độ lớn: 8 bytes – Khoảng giá trị: 922,337,203,685,477.5808 đến 922,337,203,685,477.5807 – Luôn có ký hiệu tiền tệ đi kèm ❑ Decimal – Độ lớn: 12 bytes – Khoảng giá trị: • +/- 79,228,162,514,264,337,593,543,950,335 • +/- 7.9228162514264337593543950335 (28 decimal places). Tin học đại cương - Chương 6 12
  13. Dữ liệu không phải kiểu số ❑ Chuỗi ký tự (String ) – Loại variable-length: độ dài cố định từ 1 đến 65,400 ký tự – Loại fixed-length (String*n): 10 bytes + độ dài chuỗi tới 2GB ký tự ❑ Ngày giờ (Date) – Độ lớn: 8 bytes – Khoảng giá trị: January 1, 100 tới December 31, 9999 ❑ Boolean – Độ lớn: 2 bytes – Khoảng giá trị: True hoặc False Tin học đại cương - Chương 6 13
  14. Dữ liệu không phải kiểu số (tt) ❑ Kiểu Variant – Là kiểu dữ liệu không tường minh – nó có thể nhận bất kỳ giá trị nào có thể → lúc nó nhận dữ liệu kiểu này, lúc nhận dữ liệu kiểu khác. – Dạng số: 16 bytes, bất kỳ số nào nằm trong phạm vi số Double – Dạng chuỗi: lớn 22 bytes + độ dài chuỗi ❑ Kiểu Type (do người dùng tự định nghĩa) – Là cấu trúc (record) gồm nhiều field, mỗi field có kiểu riêng theo nhu cầu ❑ Kiểu mảng (Array) – Dãy gồm nhiều phần tử có cấu trúc đồng nhất, mỗi phần tử có thể được truy xuất nhờ chỉ số của nó trong dãy Tin học đại cương - Chương 6 14
  15. Biến ❑ Một ứng dụng thường xử lý nhiều dữ liệu, ta dùng khái nhiệm "biến" để lưu dữ liệu của chương trình ❑ VB không bắt buộc nhưng nên có khai báo rõ ràng từng biến trước khi truy xuất trong chương trình để tránh sai sót, dễ bảo trì và phát triển ❑ Khai báo biến – Khai báo tên nhận dạng cho biến – Kết hợp kiểu dữ liệu với biến để xác định dữ liệu biến được phép chứa – Khai báo tầm vực truy xuất biến ❑ Cú pháp: [Static|Public|Private|Dim] AVariable As Type Tin học đại cương - Chương 6 15
  16. Biến (tt) ❑ Đặt tên 1 biến – Dài tối đa 255 ký tự – Ký tự đầu tiên phải là chữ cái (letter) – Các ký tự tiếp theo có thể là chữ cái (letter), số (digit) hoặc dấu gạch dưới ( _ ) – Không được chứa các ký tự đặc biệt: ^, &, ), (, %, !, #, @, ~, +, -, *, – Nên chọn cách đặt tên ngắn gọn, gợi nhớ đến ý nghĩa, mục đích sử dụng biến – Nên viết hoa chữ cái đầu tiên của mỗi từ trong tên biến (vd: TongCacSoChan, TichCacSoLe) – Không đặt tên biến trùng từ khóa (Sub, Print, End v.v) Tin học đại cương - Chương 6 16
  17. Biến (tt) ❑ Ví dụ khai báo biến Dim AStringVariable As String Dim AStringVariable As String*100 Dim AnIntegerVariable As Integer Dim ABooleanVariable As Boolean Dim ADateVariable As Date Dim AnArrayVariable (100) As Integer Type ANewType Field1Name As Integer Field2Name As String*40 Field3Name As Boolean Field4Name (10) As Double End Type Dim AVariantVariable As Variant Tin học đại cương - Chương 6 17
  18. Tầm vực truy xuất của biến ❑ Biến cục bộ – Được khai báo sau từ khóa Dim – Chỉ có tác dụng trong chương trình con, cục bộ trong một form hoặc một module nào đó ❑ Biến toàn cục – Được khai báo sau từ khóa Public – Có tác dụng trong toàn bộ chương trình – Loại biến này luôn phải khai báo ở vùng Declarations Tin học đại cương - Chương 6 18
  19. Hằng ❑ Có giá trị xác định và không hề thay đổi trong bất kỳ hoàn cảnh nào ❑ Khai báo hằng – Cú pháp: Const TênHằng = GiáTrịCủaHằng – Ví dụ: Const AConstantOfDate = #01/04/2000# ❑ Phạm vi của hằng – Giống như đối với biến, hằng toàn cục phải khai báo sau từ khóa Public – Ví dụ: Public Const A = 120 Tin học đại cương - Chương 6 19
  20. 6.3. Các toán tử trong VB ❑ Dựa theo số lượng toán hạng ta có – Toán tử 1 ngôi: Chỉ cần 1 toán hạng – Toán tử 2 ngôi: Cần 2 toán hạng ❑ Dựa theo quy trình tính toán có các loại toán tử: – Toán tử số học – Toán tử so sánh – Toán tử luận lý và bitwise Tin học đại cương - Chương 6 20
  21. 6.3. Các toán tử trong VB (tt) ❑ Các toán tử số học Toán tử Ý nghĩa Ví dụ + Phép cộng 2+3=5 - Phép trừ 10-9=1 ^ Phép lũy thừa 2^4=16 * Phép nhân 4*2=8 / Phép chia 12/4=3 Mod Phép chia lấy dư 15 Mod 2=1 \ Phép chia nguyên 21\4=5 & Nối chuỗi "Visual"&"Basic"="VisualBasic" Tin học đại cương - Chương 6 21
  22. 6.3. Các toán tử trong VB (tt) ❑ Các toán tử so sánh Toán tử Ý nghĩa Ví dụ Kết quả Lớn hơn 5 > 15 False = Lớn hơn hoặc bằng R >= 5 True | False = So sánh bằng A = B True | False B True | False Like So sánh chuỗi Xem slide kế tiếp Tin học đại cương - Chương 6 22
  23. 6.3. Các toán tử trong VB (tt) ❑ Toán tử so sánh chuỗi "Like" – Cú pháp: AString Like Pattern – Công dụng: Xác định xem chuỗi AString có thuộc Pattern không? Nếu thuộc thì trả về True, ngược lại trả về False ❑ Ví dụ: MyCheck = "aBBBa" Like "a*a" → True MyCheck = "F" Like "[A-Z]" → True MyCheck = "F" Like "[!A-Z]" → False MyCheck = "a2a" Like "a#a" → True MyCheck = "aM5b" Like "a[L-P]#[!c-e]" → True MyCheck = "aM5b" Like "a[L-P]#[!c-e]" → True MyCheck = "BAT123Khg" Like "b?T*" → True Tin học đại cương - Chương 6 23
  24. 6.3. Các toán tử trong VB (tt) ❑ Toán tử "Like" – Ký hiệu đại diện trong pattern • Dấu * Nhiều ký tự bất kỳ • Dấu ? Một ký tự bất kỳ • Dấu # Một chữ số [0-9] bất kỳ • [charlist] bất kỳ ký tự nào có trong charlist • [!charlist] Bất kỳ ký từ nòa không có trong charlist Tin học đại cương - Chương 6 24
  25. 6.3. Các toán tử trong VB (tt) ❑ Các toán tử luận lý Toán tử Ý nghĩa And Và: cả 2 điều kiện điều True ➔ kết quả True Or Hoặc: một trong các điều kiện True ➔ kết quả True Xor Hai điều kiện có giá trị khác nhau ➔ kết quả True Not Phủ định: True ➔ False, False ➔ True Tin học đại cương - Chương 6 25
  26. 6.3. Các toán tử trong VB (tt) ❑ Một số hàm toán học thông dụng Hàm Ý nghĩa Ví dụ Int Lấy số nguyên lớn hơn gần nhất Int(6.5) = 7 Sqr Lấy căn bậc hai Sqr(16) = 4 Abs Lấy trị tuyệt đối Abs(-2) = 2 Exp Lấy giá trị ex Exp(1) = 2.7182818284590 Fix Lấy phần nguyên Fix(6.5) = 6 Round Làm tròn Round(2.3554, 2) = 2.36 Log Lất giá trị log(x) Log(10) = 2.302585 Tin học đại cương - Chương 6 26
  27. 6.3. Các toán tử trong VB (tt) ❑ Các hàm xử lý chuỗi thông dụng Hàm Ý nghĩa Ví dụ Len (“chuỗi”) Lấy độ dài chuỗi Len(“Tin Hoc Dai Cuong”)= 17 Lấy n ký tự của chuỗi từ Right (“chuỗi”, n) Right(“Visual Basic”,2) = ic phải qua trái Lấy n ký tự của chuỗi từ Left(“chuỗi”, n) Left(“Visual Basic”,5) = Visua trái qua phải Xóa các khoảng trắng Ltrim(“ VB 6.0”) = VB 6.0 Ltrim(“chuỗi”) bên trái chuỗi Xóa các khoảng trắng Rtrim(“chuỗi”) Rtrim(“GTVT ”) = GTVT bên phải chuỗi Xóa các tất cả khoảng Trim(“Tin Hoc Dai Cuong”)= Trim(“chuỗi”) trắng của chuỗi TinHocDaiCuong Tin học đại cương - Chương 6 27
  28. 6.3. Các toán tử trong VB (tt) ❑ Các hàm xử lý chuỗi thông dụng (tt) Hàm Ý nghĩa Ví dụ Lấy n ký tự từ vị trí Mid(“chuỗi”, m , n) Mid(“Lap trinh”, 2,4) =ap t m Chuyển toàn bộ chuỗi Ucase(“Lap trinh”) = LAP Ucase(“chuỗi”) thành chữ hoa TRINH Chuyển toàn bộ chuỗi Lcase(“chuỗi”) Lcase(“Lap trinh”) = lap trinh thành chữ thường Lấy ký tự từ bảng mã Chr(charcode) Chr(65)=A ASCII theo charcode Lấy charcode ASCII Asc(Character) Asc(“A”)=65 của ký tự Tin học đại cương - Chương 6 28
  29. 6.4. Các lệnh thực thi trong VB ❑ Nhóm lệnh không điều khiển • Lệnh gán dữ liệu vào 1 biến • Lệnh gán tham khảo đến đối tượng vào 1 biến ❑ Nhóm lệnh tạo quyết định • Cấu trúc If Then Else End If • Cấu trúc Select Case End Select ❑ Nhóm lệnh lặp • Cấu trúc: Do Loop • Cấu trúc: For Next • Cấu trúc: For each Next ❑ Nhóm lệnh gọi thủ tục – Lệnh gọi thủ tục – Lệnh thoát khỏi cấu trúc điều khiển Exit Tin học đại cương - Chương 6 29
  30. Lệnh gán dữ liệu ❑ Là lệnh được dùng nhiều nhất trong chương trình ❑ Cú pháp: AVariable = Expr – Biểu thức Expr bên phải sẽ được tính để có 1 giá trị cụ thể (thuộc 1 kiểu cụ thể). Giá trị này sẽ được gán vào vùng nhớ do biến AVariable xác định – Trước khi gán, VB sẽ kiểm tra tính tương thích về kiểu của Avariable và giá trị của biểu thức Expr ❑ Ví dụ: DispValue = DispValue + iNegative * d * (10 ^ -bytPosDigit) Tin học đại cương - Chương 6 30
  31. Cấu trúc rẽ nhánh If Then Else ❑ Cú pháp 1 If condition Then Statement1 [Else Statement2] ❑ Cú pháp 2 If condition Then [Statement1] + End If ❑ Cú pháp 3 If condition Then [Statement1] + Else [Statement2] + End If Tin học đại cương - Chương 6 31
  32. Cấu trúc rẽ nhánh If Then Else (tt) ❑ Ví dụ: Đoạn chương trình giải phương trình bậc nhất Tin học đại cương - Chương 6 32
  33. Cấu trúc rẽ nhánh If Then Else (tt) ❑ Ví dụ 2: – Thiết kế form như hình bên – Cài đặt event Click của command button trên form để giải phương trình bậc 2: ax2 + bx + c = 0 Tin học đại cương - Chương 6 33
  34. Ví dụ 2 – cấu trúc rẽ nhánh If Tin học đại cương - Chương 6 34
  35. Cấu trúc rẽ nhánh (tt) ❑ Rẽ nhánh Select Case End Select – Cú pháp: Select Case Expr Case [Statement 1]+ Case [Statement 2]+ Case [Statement n]+ [Case Else [Statement n+1]+ ] End Select – Kiểm tra xem giá trị biểu thức Expr trùng với giá trị Vali thì thực hiện Statement i Nếu không tìm được giá trị nào bằng Expr thì thực hiện Statement n+1 Tin học đại cương - Chương 6 35
  36. Cấu trúc rẽ nhánh (tt) ❑ Rẽ nhánh Select Case End Select (tt) ❑ Ví dụ: Tin học đại cương - Chương 6 36
  37. Cấu trúc lặp Vòng lặp Do ❑ Dạng 1: ❑ Dạng 3: Do While condition Do Until condition ‘Đoạn mã lệnh VB ‘Đoạn mã lệnh VB Loop Loop ❑ Dạng 2: ❑ Dạng 4: Do Do ‘Đoạn mã lệnh VB ‘Đoạn mã lệnh VB Loop While condition Loop Until condition Tin học đại cương - Chương 6 37
  38. Ví dụ 1 2 3 Tin học đại cương - Chương 6 38
  39. Cấu trúc lặp While . Wend ❑ Cú pháp While condition [Statement]+ Wend ❑ Công dụng –Tính giá trị của điều kiện condition. Nếu kết quả là True thì các lệnh [Statement]+ được thực hiện. Quá trình này lặp lại cho tới khi điều kiện condition có giá trị là False Tin học đại cương - Chương 6 39
  40. Cấu trúc lặp For .Next ❑ Cú pháp 1 For counter = start To end [Step increment] [Statement]+ Next [counter] Ví dụ: giaithua = 1 For i = 1 To 10 giaithua = giaithua * i Next ❑ Công dụng: –Lặp thực hiện lệnh cho tới khi counter tăng quá end. Giá trị khởi dầu của counter là start. Bước tăng của counter là increment sau mỗi lần lặp Tin học đại cương - Chương 6 40
  41. Cấu trúc lặp For .Next (tt) ❑ Cú pháp 2 For Each element In group [Statement]+ Next [element] Ví dụ: Dim dayso(10) As Integer ‘khai báo 1 mảng 10 phần tử i = 0 For Each ai In dayso MsgBox (“So thu ” & i & “= ” & ai) Next ai Tin học đại cương - Chương 6 41
  42. Lặp For lồng nhau ❑ Với các lệnh [statement]+ bất kỳ trong cú pháp lặp ở trên, ta có thể thay thế nó thành một cấu trúc lặp For khác → ta được cấu trúc For lồng nhau ❑ Ví dụ: Tính tổng 2 ma trận A, B Dim A(3, 3) As Integer ‘khai báo ma trận A Dim B(3, 3) As Integer ‘khai báo ma trận B Dim C(3, 3) As Integer ‘khai báo ma trận C For i = 1 To 3 Step 1 ‘duyệt theo hàng For j = 1 To 3 Step 1 ‘duyệt theo cột C(i, j) = A(i, j) + B(i, j) Next j Next i Tin học đại cương - Chương 6 42
  43. Thoát đột ngột khỏi vòng lặp ❑ Mặc định trong VB, các lệnh [Statement]+ sẽ được thực thi cho tới hết vòng lặp (khi điều kiện lặp là False). Tuy nhiên, trong 1 vài trường hợp đặc biệt, việc lặp hết tất cả các lần lặp là không cần thiết. – Ví dụ: kiểm tra xem phần tử x có thuộc trong dãy a1, a2, ,aN không? Rõ ràng trong quá trình kiểm tra tuần tự các phần tử ai, nếu xảy ra x = ai thì không cần kiểm tra tiêp ai+1 → ta cần thoát đột ngột khi vòng lặp chưa kết thúc. ❑ Cú pháp: Exit [For | Do | Sub | Function ] ❑ VB không cho phép sử dụng Exit để thoát khỏi vòng lặp While .Wend Tin học đại cương - Chương 6 43
  44. 6.5. Gỡ lỗi (Debug) trong VB IDE ❑ Bugs là những lỗi của program mà ta phát hiện khi chạy nó. Debug là công việc loại tất cả những lỗi trong chương trình để nó chạy tốt trong mọi hoàn cảnh. ❑ Có 2 loại Bug thường gặp – Program không làm đúng yêu cầu cần phải có của đề bài→Phải tìm hiểu kỹ yêu cầu của đề bài, phân tích rõ input và output của bài toán – Program không thực hiện đúng ý programmer muốn. Tức là programmer dự định một đàng mà kết quả chương trình ra một ngã → vô tình viết code không đúng cách →Trường hợp này phải dùng các Tool gỡ lỗi (Debug Tool) có sẵn trong IDE của VB Tin học đại cương - Chương 6 44
  45. 6.5. Gỡ lỗi (Debug) trong VB (tt) ❑ Một số thủ thuật tránh gặp bug – Đặt tên biến, hằng, hàm, đối tượng một cách gợi nhớ – Viết code theo cấu trúc khối (thụt đầu dòng theo phân cấp) – Sử dụng chú thích (Comment) – Xây dựng các hàm (function) hoặc thủ tục (procedure) để dễ dàng xác định vị trí gặp bug hoặc dễ dàng nâng cấp, chỉnh sửa chương trình – Khai báo biến, hằng trước khi truy xuất (mặc dù VB không bắt buộc phải khai báo biến) – Đừng sợ Error: Chả có lập trình viên nào không gặp error khi viết chương trình. Hãy bình tĩnh đọc cái Error Message (thông báo lỗi) để xem máy muốn nói gì. Tin học đại cương - Chương 6 45
  46. 6.5. Gỡ lỗi (Debug) trong VB (tt) ❑ Xử lý Error lúc Runtime – Một chương trình EXE viết bằng VB6 đang chạy, nếu gặp Error, nó sẽ hiển thị một Error Dialog cho biết lý do vắn tắt → Sau khi bạn click OK, chương trình sẽ ngưng. – Nếu bạn chạy chương trình trong VB6 IDE, ta có dịp bảo program ngừng ở trong source code chỗ có Error bằng cách bấm button Debug trong Error Dialog. Tiếp theo đó bạn có thể tìm hiểu trị số các biến để đoán nguyên do của Error Tin học đại cương - Chương 6 46
  47. 6.5. Gỡ lỗi (Debug) trong VB (tt) ❑ Dùng Breakpoints – Cách hay nhất để theo dõi quá trình thực thi của program là dùng Breakpoint để làm cho program ngừng lại ở một chỗ ta muốn ở trong code, rồi sau đó ta cho program bước từng bước. – Chỉ cần click chuột lên lề trái trong cửa sổ code để đặt Breakpoint dạng dấu chấm đỏ. Nhấ F9 để loại bỏ breakpoint nếu muốn Tin học đại cương - Chương 6 47
  48. 6.5. Gỡ lỗi (Debug) trong VB (tt) ❑ Lúc program đang dừng lại, ta có thể xem trị số của một variable bằng cách để chuột lên trên variable ấy, tooltip sẽ hiên ra như trong hình dưới đây: Tin học đại cương - Chương 6 48
  49. 6.5. Gỡ lỗi (Debug) trong VB (tt) ❑ Khi program đang tạm ngưng, bạn có thể thực thi từng hàng code bằng cách bấm F8. Menu command tương đương với nó là Debug | Step Into. ❑ Nếu không muốn program bước vào bên trong một Sub/Function mà muốn việc thực hiện một Sub/Function như một bước đơn giản→ bạn dùng Menu command Debug | Step Over hay phím tắt Shift-F8. ❑ Để cho program chạy lại bạn bấm F5, tương đương với Menu command Run | Continue Tin học đại cương - Chương 6 49
  50. 6.5. Gỡ lỗi (Debug) trong VB (tt) ❑ Để tiện việc debug, bạn có thể dùng Debug Toolbar bằng cách hiển thị nó với Menu command View | Toolbars | Debug Tin học đại cương - Chương 6 50
  51. 6.5. Gỡ lỗi (Debug) trong VB (tt) ❑ Debug Toolbar Tin học đại cương - Chương 6 51
  52. 6.5. Gỡ lỗi (Debug) trong VB (tt) ❑ Dùng Immediate Window – Cho phép ta execute những statement strong khi program đang dừng lại. Ta có thể dùng một Print statement để hiển thị trị số của một variable hay kết quả của một Function, gọi một Sub hay thay đổi trị số một variable trước khi tiếp tục cho chương trình chạy lại. – Để hiển thị Immediate Window, dùng Menu command View | Immediate Window Tin học đại cương - Chương 6 52
  53. 6.5. Gỡ lỗi (Debug) trong VB (tt) ❑ Dùng Watch Window – Đôi khi bạn muốn program ngừng không phải ở một chỗ nào nhất định, nhưng khi trị số của một variable hay của một expression là bao nhiêu, có thể là bạn không biết tại sao một variable tự nhiên có một trị số như vậy. Câu hỏi: Ai là thủ phạm? – Bạn có thể dùng Menu command Debug | Add Watch để thêm tên variable hoặc expression cần theo dõi Tin học đại cương - Chương 6 53
  54. 6.6. Các Dialog thông dụng ❑ Message Box ❑ Input Box ❑ Common Dialogs ❑ Custom Dialogs Tin học đại cương - Chương 6 54
  55. Message Box Tin học đại cương - Chương 6 55
  56. Input Box ❑ Với Message Boxes, user chỉ có thể click lên một button. Đôi khi ta muốn user đánh vào thêm một ít dữ kiện, trong trường hợp ấy ta có thể dùng Input Boxes. Tin học đại cương - Chương 6 56
  57. Input Box (tt) ❑ Input Box có hai dạng Functions: – InputBox$ - returns một String đàng hoàng – InputBox - returns một String nằm trong biến Variant Tin học đại cương - Chương 6 57
  58. Input Box (tt) ❑ Mặc dầu Input Boxes rất dễ dùng, trên thực tế rất ít khi ta dùng nó vì những lý do sau đây: – Trong lúc user input data, phải đợi sau khi user click OK thì mới bắt đầu xử lý input textstring. Nếu dùng một Textbox trong một Form thông thường, ta có thể code trong các Event handlers của Events KeyPress hay Change để kiểm soát các keystrokes của user. – Input Boxes chỉ cho nhập vào một text string duy nhất. – Input Boxes xem không đẹp mắt. Program dùng Input Boxes có vẻ như không chuyên nghiệp, do đó ta cần phải dùng Custom Dialogs. Tin học đại cương - Chương 6 58
  59. 6.6. Các Dialog thông dụng (tt) ❑ Common Dialogs – Muốn dùng các Dialogs ấy trong VB6 ta phải reference Comdlg32.ocx bằng IDE Menu command Project | Components rồi chọn và Apply Microsoft Common Dialog Control 6.0. Tin học đại cương - Chương 6 59
  60. Common Dialogs ❑ Microsoft Common Dialog Control 6.0 cho ta 6 dạng Dialog tùy theo gọi method nào (như bản dưới) Tên Method Open File ShowOpen Save File ShowSave Color ShowColor Font ShowFont Print ShowPrinter Help ShowHelp Tin học đại cương - Chương 6 60
  61. Ví dụ về OpenFile Dialog Bạn hãy mở một Project mới với một button tên CmdOpen trong Form1 và đánh vào code trên sự kiện CmdOpen_Click Tin học đại cương - Chương 6 61
  62. Ví dụ về OpenFile Dialog (tt) ❑ Kết quả khi click button CmdOpen Tin học đại cương - Chương 6 62
  63. Ví dụ về Color Dialog Bạn hãy thêm một button tên CmdColor trong Form1 và đánh vào code trên sự kiện CmdColor_Click Tin học đại cương - Chương 6 63
  64. Ví dụ về Color Dialog (tt) ❑ Kết quả khi click button CmdColor Tin học đại cương - Chương 6 64
  65. Ví dụ về Font Dialog ❑ Bạn hãy mở một Project mới với một button tên CmdSelectFont và 1 Label tên Label1 trong Form1 và đánh vào code trên sự kiện CmdSelectFont _Click Tin học đại cương - Chương 6 65
  66. Ví dụ về Font Dialog (tt) Tin học đại cương - Chương 6 66
  67. Ví dụ về Print Dialog ❑ Bạn hãy thêm một button tên CmdSelectPrinter trong Form1 và đánh vào code trên sự kiện CmdSelectPrinter_Click Tin học đại cương - Chương 6 67
  68. Ví dụ về Print Dialog (tt) Tin học đại cương - Chương 6 68
  69. Tin học đại cương - Chương 6 69
  70. Thực hành chương 6 Thiết kế Form với các Control thông dụng
  71. LAB 04 ❑ Sử dụng IDE của VB6.0 thiết kế form dưới đây ❑ Viết mã lệnh ứng với event Click của Command Button trên form sao cho giá trị trong textbox kết quả là kết quả thực hiện phép toán tương ứng giữa A và B Tin học đại cương - Chương 6 71