Kiểm tra dữ liệu nhập trước khi tính

Một phần của tài liệu biên soạn phần mềm - soạn thảo nhanh một số bài tập vật lý 10 cơ bản phần nhiệt học (Trang 50 - 51)

II. MỘT SỐ KỸ THUẬT ĐƯỢC ÁP DỤ NG

1.Kiểm tra dữ liệu nhập trước khi tính

Trong thiết kế chương trình bất kỳ, để tăng khả năng chịu lỗi không cho phép người dùng nhập các dữ liệu không hợp lý vào ô nhập liệu. Đối với phần lập trình của đề tài này, tôi đã đưa ra một giới hạn khi nhập liệu vào các giá trị của biến số cần tính. Đoạn lệnh chương trình sau không cho nhập ký tự chỉ cho nhập số vào các ô Text Bienso_1, Bienso_2, Bienso_3, Bienso_4, Bienso_5, Bienso_6.

Private Sub Bienso_1_KeyPress (KeyAscii As Integer) Dim Tmp As String

Tmp = Bienso_1.Text Select Case Chr$(KeyAscii) Case "0" To "9", Chr$(8) Case "-" If InStr(1, Tmp, "-") = 0 Then If Bienso_1.SelStart > 0 Then KeyAscii = 0 End If Else KeyAscii = 0 End If Case "." If InStr(1, Tmp, ".") > 0 Then KeyAscii = 0 End If Case Else KeyAscii = 0 End Select Beep

Trước tiên, ta khai báo biến Tmp dạng chuỗi. (KeyAscii As Integer) trong thủ tục xử

lý biến cốKeyPress quy định chỉ cho phép nhập các phím ký số (0…9) trong Text mà thôi. + Khi một ô nhập liệu nhận một ký tự do người dùng cung cấp thì đoạn lệnh xem xét xem ký tự nhập vào có phải là ký tự số từ 0 – 9 không, có phải là dấu trừ “-” hay không, có phải là dấu chấm “.” hay không? Nếu đúng thì nhận và sai tức là không thỏa điều kiện trên thì loại.

+ Nếu có hai dấu chấm “.”, hai dấu trừ “-” cũng bị loại ô Text không nhận. “If InStr(1, Tmp, ".") > 0 Then

KeyAscii = 0”

+ Mỗi lần nhấn phím nhập số liệu vào sẽ có một tiếng Beep.

* Trong trường hợp nhập thiếu các biến sốthì tùy vào từng ô Text đó là biến gì, nó sẽ hiện lên một thông báo lỗi “Xin hay nhap lai!” bằng lệnh MsgBox. Đoạn lệnh của

“0504.jpg”.

If Val(Bienso_1.Text) = 0 Or Val(Bienso_1.Text) < 0 Then

Bienso_1.Text = ""

MsgBox "p1 chi nhan gia tri duong. Xin hay nhap lai!"

Exit Sub End If

* Bên cạnh mỗi một ô Text nó cũng có một ràng buộc về thông số, ý nghĩa vật lý: không thể chia cho giá trị “0”, thể hiện kết quả thập phân ở dạng lũy thừa “E”.

* Một điểm người dùng cần chú ý là dấu chấm làm dấu thập phân chứ không phải dấu phẩy. Ta chỉnh ở hệ thống của mỗi máy như sau: Vào Control Panel Š Regional and Language Options Š thẻ Format Š Customize this format Š thẻ Numbers Š Decimal symbol Š “dấu chấm”. Hệ thống sẽ hiện dấu chấm làm dấu phân cách thập phân. Nếu không, chương trình sẽ hoạt động rối loạn.

Một phần của tài liệu biên soạn phần mềm - soạn thảo nhanh một số bài tập vật lý 10 cơ bản phần nhiệt học (Trang 50 - 51)