Bài giảng Tin học đại cương - Trần Quang Diệu - Chương 6: Lập trình với Visual Basic 6.0

Soạn thảo chương trình

Các kiểu dữ liệu cơ bản của VB

Các toán tử thông dụng trong VB 6.0

Các cấu trúc điều khiển

Rẽ nhánh

Lặp

Gỡ rối (debug) trong VB IDE

Các hộp thoại (dialog) thông dụng

 

ppt71 trang | Chia sẻ: tieuaka001 | Lượt xem: 650 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Tin học đại cương - Trần Quang Diệu - Chương 6: Lập trình với Visual Basic 6.0, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TIN HỌC ĐẠI CƯƠNGChương 6: Lập trình với Visual Basic 6.0Dùng cho nhóm ngành: Công trình + Cơ khíNội dungSoạn thảo chương trìnhCác kiểu dữ liệu cơ bản của VBCác toán tử thông dụng trong VB 6.0Các cấu trúc điều khiểnRẽ nhánhLặpGỡ rối (debug) trong VB IDECác hộp thoại (dialog) thông dụngTin học đại cương - Chương 626.1. Soạn thảo chương trìnhNhắc lạiForms 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ụngTin học đại cương - Chương 636.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áiChọn tiếp Event của control đó trong ô bên phải.Thủ tục (Procedure) xử lý event đó sẽ có dạng:Tin học đại cương - Chương 64Private 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àoEnd Sub6.1. Soạn thảo chương trình (tt)Một số event thông dụngForm_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 controlControl_DbClick: Xuất hiện khi người dùng click đúp chuột vào controlControl_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 controlTin học đại cương - Chương 656.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 inactiveControl_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 666.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ạiTin học đại cương - Chương 676.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 686.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.0Dữ 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)VariantTin học đại cương - Chương 69Dữ liệu kiểu sốTin học đại cương - Chương 610ByteĐộ lớn: 1 byteKhoảng giá trị: từ 0 đến 255IntegerĐộ lớn: 2 bytesKhoảng giá trị: từ -32,768 đến 32,767LongĐộ lớn: 4 bytesKhoảng giá trị: từ -2,147,483,648 đến 2,147,483,648Dữ liệu kiểu số (tt)Tin học đại cương - Chương 611SingleĐộ lớn: 4 bytesKhoảng giá trị: Số âm: từ -3.402823E+38 đến -1.401298E-45Số dương: từ 1.401298E-45 đến 3.402823E+38DoubleĐộ lớn: 8 bytesKhoảng giá trị:Số âm: -1.79769313486232e+308 đến - 4.94065645841247e-324Số dương: 4.94065645841247e-324 đến 1.79769313486232e+308Dữ liệu kiểu số (tt)CurrencyĐộ lớn: 8 bytesKhoảng giá trị: 922,337,203,685,477.5808 đến 922,337,203,685,477.5807Luôn có ký hiệu tiền tệ đi kèmDecimalĐộ lớn: 12 bytesKhoả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 612Dữ 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 bytesKhoảng giá trị: January 1, 100 tới December 31, 9999BooleanĐộ lớn: 2 bytesKhoảng giá trị: True hoặc FalseTin học đại cương - Chương 613Dữ liệu không phải kiểu số (tt)Kiểu VariantLà 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ố DoubleDạng chuỗi: lớn 22 bytes + độ dài chuỗiKiể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ầuKiể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ãyTin học đại cương - Chương 614BiếnMộ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ìnhVB 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ểnKhai báo biếnKhai báo tên nhận dạng cho biếnKết hợp kiểu dữ liệu với biến để xác định dữ liệu biến được phép chứaKhai báo tầm vực truy xuất biếnCú pháp: [Static|Public|Private|Dim] AVariable As TypeTin học đại cương - Chương 615Biến (tt)Đặt tên 1 biếnDà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ếnNê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 616Biến (tt)Ví dụ khai báo biếnDim AStringVariable As StringDim AStringVariable As String*100Dim AnIntegerVariable As IntegerDim ABooleanVariable As BooleanDim ADateVariable As DateDim AnArrayVariable (100) As IntegerType ANewType Field1Name As Integer Field2Name As String*40 Field3Name As Boolean Field4Name (10) As DoubleEnd TypeDim AVariantVariable As VariantTin học đại cương - Chương 617Tầm vực truy xuất của biếnBiến cục bộĐược khai báo sau từ khóa DimChỉ 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 PublicCó tác dụng trong toàn bộ chương trìnhLoại biến này luôn phải khai báo ở vùng DeclarationsTin học đại cương - Chương 618HằngCó giá trị xác định và không hề thay đổi trong bất kỳ hoàn cảnh nàoKhai báo hằngCú pháp: Const TênHằng = GiáTrịCủaHằngVí dụ: Const AConstantOfDate = #01/04/2000#Phạm vi của hằngGiống như đối với biến, hằng toàn cục phải khai báo sau từ khóa PublicVí dụ: Public Const A = 120Tin học đại cương - Chương 6196.3. Các toán tử trong VBDựa theo số lượng toán hạng ta cóToán tử 1 ngôi: Chỉ cần 1 toán hạngToán tử 2 ngôi: Cần 2 toán hạngDựa theo quy trình tính toán có các loại toán tử:Toán tử số họcToán tử so sánhToán tử luận lý và bitwiseTin học đại cương - Chương 6206.3. Các toán tử trong VB (tt)Các toán tử số họcTin học đại cương - Chương 621Toán tửÝ nghĩaVí dụ+Phép cộng2+3=5-Phép trừ10-9=1^Phép lũy thừa2^4=16*Phép nhân4*2=8/Phép chia12/4=3ModPhép chia lấy dư15 Mod 2=1\Phép chia nguyên21\4=5&Nối chuỗi"Visual"&"Basic"="VisualBasic"6.3. Các toán tử trong VB (tt)Các toán tử so sánhTin học đại cương - Chương 622Toán tửÝ nghĩaVí dụKết quảLớn hơn5 > 15False=Lớn hơn hoặc bằngR >= 5True | False=So sánh bằngA = BTrue | FalseSo sánh khác nhauA BTrue | FalseLikeSo sánh chuỗiXem slide kế tiếp6.3. Các toán tử trong VB (tt)Toán tử so sánh chuỗi "Like"Cú pháp: AString Like PatternCô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ề FalseVí dụ:MyCheck = "aBBBa" Like "a*a"  TrueMyCheck = "F" Like "[A-Z]"  TrueMyCheck = "F" Like "[!A-Z]"  FalseMyCheck = "a2a" Like "a#a"  TrueMyCheck = "aM5b" Like "a[L-P]#[!c-e]"  TrueMyCheck = "aM5b" Like "a[L-P]#[!c-e]"  TrueMyCheck = "BAT123Khg" Like "b?T*"  TrueTin học đại cương - Chương 6236.3. Các toán tử trong VB (tt)Toán tử "Like"Ký hiệu đại diện trong patternDấ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 charlistTin học đại cương - Chương 6246.3. Các toán tử trong VB (tt)Các toán tử luận lýTin học đại cương - Chương 625Toán tửÝ nghĩaAnd Và: cả 2 điều kiện điều True  kết quả TrueOr Hoặc: một trong các điều kiện True  kết quả TrueXor Hai điều kiện có giá trị khác nhau  kết quả TrueNot Phủ định: True  False, False  True6.3. Các toán tử trong VB (tt)Một số hàm toán học thông dụngTin học đại cương - Chương 626HàmÝ nghĩaVí dụ IntLấy số nguyên lớn hơn gần nhấtInt(6.5) = 7SqrLấy căn bậc haiSqr(16) = 4AbsLấy trị tuyệt đốiAbs(-2) = 2ExpLấy giá trị exExp(1) = 2.7182818284590FixLấy phần nguyênFix(6.5) = 6RoundLàm trònRound(2.3554, 2) = 2.36LogLất giá trị log(x)Log(10) = 2.3025856.3. Các toán tử trong VB (tt)Các hàm xử lý chuỗi thông dụngTin học đại cương - Chương 627HàmÝ nghĩaVí dụLen (“chuỗi”)Lấy độ dài chuỗiLen(“Tin Hoc Dai Cuong”)= 17Right (“chuỗi”, n)Lấy n ký tự của chuỗi từ phải qua tráiRight(“Visual Basic”,2) = icLeft(“chuỗi”, n)Lấy n ký tự của chuỗi từ trái qua phảiLeft(“Visual Basic”,5) = VisuaLtrim(“chuỗi”)Xóa các khoảng trắng bên trái chuỗiLtrim(“ VB 6.0”) = VB 6.0Rtrim(“chuỗi”)Xóa các khoảng trắng bên phải chuỗiRtrim(“GTVT ”) = GTVTTrim(“chuỗi”)Xóa các tất cả khoảng trắng của chuỗiTrim(“Tin Hoc Dai Cuong”)= TinHocDaiCuong6.3. Các toán tử trong VB (tt)Các hàm xử lý chuỗi thông dụng (tt)Tin học đại cương - Chương 628HàmÝ nghĩaVí dụMid(“chuỗi”, m , n)Lấy n ký tự từ vị trí mMid(“Lap trinh”, 2,4) =ap tUcase(“chuỗi”)Chuyển toàn bộ chuỗi thành chữ hoaUcase(“Lap trinh”) = LAP TRINHLcase(“chuỗi”)Chuyển toàn bộ chuỗi thành chữ thườngLcase(“Lap trinh”) = lap trinhChr(charcode)Lấy ký tự từ bảng mã ASCII theo charcodeChr(65)=AAsc(Character)Lấy charcode ASCII của ký tựAsc(“A”)=656.4. Các lệnh thực thi trong VBNhóm lệnh không điều khiểnLệnh gán dữ liệu vào 1 biếnLệnh gán tham khảo đến đối tượng vào 1 biếnNhóm lệnh tạo quyết địnhCấu trúc If....Then....Else....End IfCấu trúc Select Case.....End SelectNhóm lệnh lặpCấu trúc: Do....LoopCấu trúc: For....NextCấu trúc: For each.....NextNhóm lệnh gọi thủ tụcLệnh gọi thủ tụcLệnh thoát khỏi cấu trúc điều khiển ExitTin học đại cương - Chương 629Lệnh gán dữ liệuLà lệnh được dùng nhiều nhất trong chương trìnhCú pháp: AVariable = ExprBiể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 địnhTrướ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 ExprVí dụ: DispValue = DispValue + iNegative * d * (10 ^ -bytPosDigit)Tin học đại cương - Chương 630Cấu trúc rẽ nhánh If....Then...ElseCú pháp 1 If condition Then Statement1 [Else Statement2]Cú pháp 2 If condition Then [Statement1] + End IfCú pháp 3 If condition Then [Statement1] + Else [Statement2] + End IfTin học đại cương - Chương 631Cấ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ấtTin học đại cương - Chương 632Cấu trúc rẽ nhánh If....Then...Else (tt)Ví dụ 2:Thiết kế form như hình bênCài đặt event Click của command button trên form để giải phương trình bậc 2: ax2 + bx + c = 0Tin học đại cương - Chương 633Ví dụ 2 – cấu trúc rẽ nhánh IfTin học đại cương - Chương 634Cấu trúc rẽ nhánh (tt)Rẽ nhánh Select Case.... End SelectCú pháp: Select Case Expr Case [Statement 1]+ Case [Statement 2]+ .............. Case [Statement n]+ [Case Else [Statement n+1]+ ] End SelectKiể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+1Tin học đại cương - Chương 635Cấ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 636Cấu trúc lặpVòng lặp DoDạng 1: Do While condition ‘Đoạn mã lệnh VB LoopDạng 2: Do ‘Đoạn mã lệnh VB Loop While conditionDạng 3: Do Until condition ‘Đoạn mã lệnh VB LoopDạng 4: Do ‘Đoạn mã lệnh VB Loop Until conditionTin học đại cương - Chương 637Ví dụTin học đại cương - Chương 638123Cấu trúc lặp While. WendCú phápWhile condition [Statement]+WendCông dụngTí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à FalseTin học đại cương - Chương 639Cấu trúc lặp For.NextCú pháp 1For counter = start To end [Step increment] [Statement]+Next [counter]Ví dụ:giaithua = 1For i = 1 To 10 giaithua = giaithua * iNextCô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ặpTin học đại cương - Chương 640Cấu trúc lặp For.Next (tt)Cú pháp 2For 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 = 0For Each ai In dayso MsgBox (“So thu ” & i & “= ” & ai) Next aiTin học đại cương - Chương 641Lặp For lồng nhauVớ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 nhauVí dụ: Tính tổng 2 ma trận A, BDim A(3, 3) As Integer ‘khai báo ma trận ADim B(3, 3) As Integer ‘khai báo ma trận BDim C(3, 3) As Integer ‘khai báo ma trận CFor 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 jNext iTin học đại cương - Chương 642Thoát đột ngột khỏi vòng lặpMặ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.WendTin học đại cương - Chương 6436.5. Gỡ lỗi (Debug) trong VB IDEBugs 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ặpProgram 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ánProgram 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 VBTin học đại cương - Chương 6446.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ìnhKhai 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 6456.5. Gỡ lỗi (Debug) trong VB (tt) Xử lý Error lúc RuntimeMộ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 ErrorTin học đại cương - Chương 6466.5. Gỡ lỗi (Debug) trong VB (tt) Dùng BreakpointsCá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ốnTin học đại cương - Chương 6476.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 6486.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 | ContinueTin học đại cương - Chương 6496.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 | DebugTin học đại cương - Chương 6506.5. Gỡ lỗi (Debug) trong VB (tt) Debug ToolbarTin học đại cương - Chương 6516.5. Gỡ lỗi (Debug) trong VB (tt) Dùng Immediate WindowCho 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 WindowTin học đại cương - Chương 6526.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õiTin học đại cương - Chương 6536.6. Các Dialog thông dụngMessage BoxInput BoxCommon DialogsCustom DialogsTin học đại cương - Chương 654Message BoxTin học đại cương - Chương 655Input BoxVớ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 656Input Box (tt)Input Box có hai dạng Functions:InputBox$ - returns một String đàng hoàngInputBox - returns một String nằm trong biến VariantTin học đại cương - Chương 657Input 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 6586.6. Các Dialog thông dụng (tt)Common DialogsMuố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 659Common DialogsTin học đại cương - Chương 660 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ênMethodOpen FileShowOpenSave FileShowSaveColorShowColorFontShowFontPrintShowPrinterHelpShowHelpVí dụ về OpenFile DialogBạ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_ClickTin học đại cương - Chương 661Ví dụ về OpenFile Dialog (tt)Kết quả khi click button CmdOpenTin học đại cương - Chương 662Ví dụ về Color DialogBạn hãy thêm một button tên CmdColor trong Form1 và đánh vào code trên sự kiện CmdColor_ClickTin học đại cương - Chương 663Ví dụ về Color Dialog (tt)Kết quả khi click button CmdColorTin học đại cương - Chương 664Ví dụ về Font DialogBạ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 _ClickTin học đại cương - Chương 665Ví dụ về Font Dialog (tt)Tin học đại cương - Chương 666Ví dụ về Print DialogBạn hãy thêm một button tên CmdSelectPrinter trong Form1 và đánh vào code trên sự kiện CmdSelectPrinter_ClickTin học đại cương - Chương 667Ví dụ về Print Dialog (tt)Tin học đại cương - Chương 668Tin học đại cương - Chương 669Thực hành chương 6Thiết kế Form với các Control thông dụngLAB 04Sử dụng IDE của VB6.0 thiết kế form dưới đâyViế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à BTin học đại cương - Chương 671

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

  • ppttin_hoc_dai_cuong_vbch6_6983.ppt
Tài liệu liên quan