Thông tin tài liệu:
Viết CodeTrong ba chương đầu chúng ta đã học qua ba bộ phận chánh của một chương trình Visual Basic 6.0. Đó là: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.
Nội dung trích xuất từ tài liệu:
Visual Basic 6 - Viết Code Viết CodeTrong ba chương đầu chúng ta đ ã học qua ba bộ phận chánh của một chương trình VisualBasic 6.0. Đó là: 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.Như ta đã th ấy, tất cả các code được xử lý (executed) khi có một Event xãy ra. Thí dụ như khiUser click một CommandButton (Event Click) hay type nút Tab đ ể di chuyển Cursor từTextbox nầy (Event Lostfocus) qua Textbox khác (Event GotFocus). Các nhóm code xử lý là : Private Sub Command1_Click() ... End Sub Private Sub Text1_LostFocus() ... End Sub và Private Sub Text2_GotFocus() ... End SubTrong khi lập trình, mỗi lần ta double click lên một Control của một Form là VB6 IDE tự độnggenerate cho ta cái vỏ từ hàng Private Sub Control_Event() cho đến End Sub đ ể chúng tađiền những h àng code của mình vào chính giữa.Điều khiển thứ tự xử lý các dòng codeGiả dụ ta viết một chương trình Vb6 đ ơn giản như trong hình nầy với hai Textbox têntxtName, txtAge và một nút tên CmdEnter n ằm trong một form tên Form1: 1Thông thường các dòng code được xử lý theo thứ tự từ trên xuống dưới. Thí dụ như để kiểmxem các dữ kiện vừa được cho vào các Textbox có tương đối hợp lý hay không, khi User clicknút CmdEnter, ta xử lý Sub dư ới đây: Private Sub CmdEnter_Click() Make sure the Name field is not blank If txtName.Text = Then MsgBox Please enter Name Exit Sub Terminate this Sub End If Make sure a number is supplied for Age If Not IsNumeric(txtAge.Text) Then MsgBox Please enter a number for Age Exit Sub Terminate this Sub End If End SubCái Sub nói trên có chữ Private nằm phía trước, ý nói chỉ nội trong cùng một form chứaControl CmdEnter (tức là Form1 trong trường hợp nầy) ta mới có thể gọi (dùng) SubCmdEnter_Click().Thí dụ ta muốn khi User bấm key Enter trên bàn phím sau khi cho vào chi tiết ở TextboxtxtAge thì coi như User đ ã click nút CmdEnter. Ta viết như sau: Private Sub txtAge_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then 2 KeyAscii = 0 swallow Key Enter to avoid side effect CmdEnter_Click Call Private Sub CmdEnter_Click from the same form End If End SubKhi ta dùng câu CmdEnter_Click làm một dòng code (còn gọi là gọi Sub CmdEnter_Click)thì coi như tương đương với nhét tất cả 10 dòng codes giữa hai hàng Private SubCmdEnter_Click() và End Sub tại chỗ câu CmdEnter_Click, như viết lại dư ới đây: Private Sub txtAge_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then KeyAscii = 0 Swallow Key Enter to avoid side effect Make sure the Name field is not blank If txtName.Text = Then MsgBox Please enter Name Exit Sub Terminate this Sub End If Make sure a number is supplied for Age If Not IsNumeric(txtAge.Text) Then MsgBox Please enter a number for Age Exit Sub Terminate this Sub End If End If End SubCó một cách nói khác là khi execution đi đến hàng CmdEnter_Click thì nó nh ảy vào PrivateSub CmdEnter_Click() để execute cho đến hết rồi nhảy trở lại hàng kế tiếp trong PrivateSub txtAge_KeyPress(KeyAscii As Integer) Trong Private Sub CmdEnter_Click() nếuUser không đánh gì vào Textbox txtName thì chương trình sẽ display message Please enter 3Name rồi Exit Sub. Đây là cách nhảy ngay ra khỏi Sub chớ không đợi phải execute xuống tớihàng chót.Dùng IF....THEN statementTrong Private Sub CmdEnter_Click() ở trên ta thấy có hai chỗ dùng IF...THEN để thử xemmột điều kiện gì có được thỏa mãn không. Nếu điều kiện là đúng vậy, tức là True thì ta thựchiện những gì đuợc viết từ h àng IF...THEN cho đến hàng END IF. Ngược lại, nếu điều kiệnkhông đúng th ì execution nhảy xuống tới dòng code nằm ngay dưới dòng END IF. Tức là cókhi execution sẽ đi ngang qua, có khi không đi ngang qua những dòng code ở giữa câuIF...THEN và câu END IF. Điều kiện trong IF Statement là phần nằm giữa hai chữ IF vàTHEN. Nó đu ợc gọi là Logical Expression. Ta có: txtName.text = content of Text ...