Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
217 KB
Nội dung
giáo trìnhvisualbasic (Các bài tập thực hành và một số nội dung cơ bản) Tạo một Form gồm 1 textbox (txt), 3 nút command (cmd1,cmd2,cmd3) (hien thi loi chao, Clea, Exit) để điều khiển dòng chữ lời chào trên Textbox. Giải: Tạo Form theo mẫu: Và viết lệnh cho các sự kiện: Private Sub cmd1_Click() txt = "Visual Basic xin kinh chao tat ca cac ban" End Sub Private Sub cmd2_Click() txt = " " End Sub Private Sub cmd3_Click() End End Sub Tạo Form gồm 1 Picturebox(ảnh), khi chạy form thì ta kích chuột vào đâu trong Form thì ảnh hiện đến ở vị trí đó. Giải: Tạo form theo mẫu: Tạo 1 Picturebox, vào thuộc tính Picture để chọn ảnh cho mục này, và vào mục Name: pt. 1 Viết lệnh cho sự kiện: Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) pt.Move X, Y (phải gõ vào) End Sub Tạo Form gồm:3 Picturebox (pt1, pt2, pt3) (theo mẫu tơng tự trên) và 3 Optionbuttom (ot1, ot2, ot3) để chọn ảnh, khi ta chọn ảnh cần di chuyển và kích vào đâu trên form thì ảnh đó sẽ di chuyển đến đó. Giải Tạo Form theo mẫu: Viết lệnh cho sự kiện: Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If ot1.Value = True Then pt1.Move X, Y End If If ot2.Value = True Then 2 pt2.Move X, Y End If If ot3.Value = True Then pt3.Move X, Y End If End Sub Nhập thông tin hoten và tuoi cua SV, khi nhập tuoi nếu ta nhập ký tự thì nó sẽ không cho nhập mà chỉ hiện mã và kt vừa nhập, còn các trờng hợp khác thì nó sẽ cho nhập và hiển thị KT, mã của kt vừa nhập. Giải: Tạo Form theo mẫu: Tạo 1 Textbox để nhập DL, 2 Label (L1, L2) để hiển thị mã và kt vừa nhập, tạo thêm các Label để thông báo (chú thích), tạo 2 Option Buttom (ot1, ot2) để chọn nhập Ten hay Tuoi. Và viết lệnh cho các sự kiện: Private Sub Text1_KeyPress(KeyAscii As Integer) If ot2.Value = True Then L1.Caption = Chr(KeyAscii) L2.Caption = KeyAscii If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then KeyAscii = 0 End If If ot1.Value = True Then L1.Caption = Chr(KeyAscii) L2.Caption = KeyAscii End If End Sub 3 Tạo Form gồm 1 HscrollBar (hs), và 1 Textbox để hiển thị giá trị phần trăm của HscrollBar, giá trị của HscrollBar từ 0 đến 100 và gía trị khi bắt đầu chạy là 50, khi ta kéo con trỏ thì Textbox hiển thị số % tơng ứng. Giải: Tạo Form theo mẫu: 1 Textbox (txt), vào các sự kiện của HscrollBar chọn: Max: 100, Min: 0, Value: 50. Viết các câu lệnh cho các sự kiện nh sau: Private Sub Form_Load() txt.Text = hs.Value End Sub Private Sub hs_Scroll() txt.Text = hs.Value End Sub Tạo Form gồm: 1 Textbox (txt), 3 Checkbox (c1, c2, c3) để hiển thị in đậm, in nghiêng, gạch chân cho dòng chữ trong Textbox. Giải: Tạo Form 1 Textbox để chọn Lop, khi đó sẽ hiện thông tin của lớp đó và tạo nút Command để in danh sách của lớp đó. Giải: B1: Kích phải vào Project chọn Add > Data Enviconents (Nếu không có thì vào Add File để tìm) 4 Tạo Form theo mẫu sau: Với cơ sở DL: Nhom1_quan ly tuyen sinh.mdb với các Table: - HSTS(masv,hoten, ngaysinh, quequan, . , matinh (tenlop)). - bangtinh(matinh, tentinh). Các Bớc làm: B1: Tạo Form gồm: 1 DataCombo(Name: dc1)(để chọn tên lớp ; 1 DataGrid (Name: dr1: bảng để hiển thị thông tin); 1 nút Command (Name: cmd1; Caption: IN: nút in). B2: Viết lệnh: Tạo 1 Adodc: kích phải vào Adodc chọn ADODC Propeties sẽ xuất hiện hộp thoại: kích vào nút Build : chọn Microsoft ject4.0 OLE sau đó chọn Next sẽ xuất hiện hộp thoại: 5 Ta kích vào dấu , chọn tệp cơ sở DL cần lấy để xử lý (VD: Nhom1_quan ly tuyen sinh.mdb , sau đó chọn OK> (sau đó copy dòng lệnh ở mục Use Connection Strinh VD: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\hoc tap\thuc hanh\Visual Basic\BAi 1\Nhom1_quan ly tuyen sinh.mdb;Persist Security Info=False Chý ý: Ta nên xoá đờng dẫn địa chỉ để thành: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Nhom1_quan ly tuyen sinh.mdb;Persist Security Info=False Rồi Copy để sau này Pate ở sự kiện Form_Load()sau đó ta chọn Nút Cancel và xoá luôn cả ADODC luôn. 1) ở Modul ta viết: Option Explicit Public cnn As ADODB.Connection Public rs As ADODB.Recordset Public DataName As String Sub kiemtraDl(txtcontrol As TextBox, KTgo As Integer) Dim maxlen As String Dim skey As String * 1 If KTgo < 32 Or KTgo > 126 Then Exit Sub maxlen = Right(txtcontrol.Tag, Len(txtcontrol.Tag) - 1) If Len(txtcontrol.Text) > Val(maxlen) Then Beep KTgo = 0 Exit Sub End If Select Case Left(txtcontrol.Tag, 1) Case "A" If KTgo < 65 Or KTgo > 122 Then Beep KTgo = 0 Exit Sub End If Case "N" 6 If KTgo < 48 Or KTgo > 57 Then Beep KTgo = 0 Exit Sub End If End Select End Sub Sub SetControls(frm As Form, Edit As Boolean) Dim ctrl As Control For Each ctrl In frm If TypeOf ctrl Is TextBox Then ctrl.Enabled = Edit Next frm.cmdnew.Enabled = Not Edit frm.cmdedit.Enabled = Not Edit frm.cmddelete.Enabled = Not Edit frm.cmdsave.Enabled = Edit frm.cmdcancel.Enabled = Edit End Sub Sub ClearTexts(frm As Form) Dim ctrl As Control For Each ctrl In frm If TypeOf ctrl Is TextBox Then ctrl.Text = "" Next End Sub Public Function OpenDB(DataName As String) As Boolean Dim sConnect As String OpenDB = True On Error GoTo thoat sConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataName & ";Persist Security Info=False" Set cnn = New ADODB.Connection cnn.ConnectionString = sConnect cnn.ConnectionTimeout = 10 cnn.CursorLocation = adUseClient cnn.Open Exit Function thoat: MsgBox Err.Description OpenDB = False End Function 2) Khai b¸o ë trªn cïng cña cöa sæ Project … Form: Dim rs As ADODB.Recordset Dim cnn As ADODB.Connection 7 3) Vào sự kiện dc1_Change() ******* (dc1: Datacombol để chọn matinh) viết lệnh: Private Sub dc1_Change() Dim ssql As String ******* (khai báo ssql) If dc1.Text <> "" Then ssql = "select * from hsts where mahuyen='" & dc1.Text & "'" Else ssql = "select * from hsts" End If rs.Close **** (rs là biến đợc khai báo ở đầu tiên) rs.Open ssql, cnn, adOpenDynamic, adLockOptimistic Set dr1.DataSource = rs dr1.Refresh End Sub 4) Vào s kiện Form_Load() viết: Private Sub Form_Load() Dim ssql As String Dim nutnew As Boolean Set cnn = New ADODB.Connection ******* (cnn là biến đợc khai báo ở đầu tiên) cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Nhom1_quan ly tuyen sinh.mdb;Persist Security Info=False" cnn.Open cnn.CursorLocation = adUseClient Set rs = New ADODB.Recordset rs.Open "select matinh from bangtinh", cnn, adOpenDynamic Set dc1.RowSource = rs dc1.ListField = "matinh" Set rs = Nothing ssql = "select * from hsts" Set rs = New ADODB.Recordset rs.Open ssql, cnn, adOpenDynamic, adLockBatchOptimistic Set dr1.DataSource = rs dr1.Refresh End Sub B3: Tạo DataReport và liên kết với nút In: 1) - Kích phải chuột vào cửa sổ Project chọn Add > DataEnvironment sẽ xuất hiện cửa sổ: 8 - Kích phải chuột vào mục Connection1 chọn Add Command và đặt tên cho Command vừa tạo là cmd1. Đổi tên cho DataEnvironment là de1. - Kích phải chuột vào mục Connection1 (nút ở phía trên nút cmd1) chọn Properties sẽ xuất hiện cửa số sau: Chọn Microsoft Ject 4.0 OLE và chọn Next 9 Click vào dấu để lấu tệp dữ liệu cần kết nối DL:: VD: chọn: Nhom1_quan ly tuyen sinh (ở Access. - Kích phải chuột vào Command cmd1 chọn Properties sẽ xuất hiện hộp thoại: Ta chọn Kiểu Table và Table hsts ở lần lợt các mục Database Object và Object name (để sau này hiển thị các trờng trong nút command (cmd1)) và chọn nút OK. Khi đó de1 sẽ có các trờng ở cmd1 nh sau: - Kích phải chuột vào Project chọn Add > DataReport và đặt tên cho nó là name: dr1. - Kéo các trờng cần hiển thị trên Report vào dr1 từ nút command cmd1 (bố trí 1 cách hợp lý) Chú ý: để xoá đợc các Label đi kèm với các Textbox khi ta kéo thì ta kích ra ngoài dr1 rồi kích vào Label cần xoá và ấn phím Delete. Sau khi kéo xong nên thử chạy 1 mình Report này để xem có lỗi không. - Đặt thuộc tính cho dr1: Datasource: de1(tên của DataEnvironment. DataMember: cmd1 (tên của command chữa dl kéo vào) 2) Kết nối mới nút In: Vào sự kiện cmd1_Click() viết lệnh: 10 . OK> (sau đó copy dòng lệnh ở mục Use Connection Strinh VD: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:hoc tap huc hanh Visual Basic BAi 1Nhom1_quan ly tuyen sinh.mdb;Persist Security. Textbox. Giải: Tạo Form theo mẫu: Và viết lệnh cho các sự kiện: Private Sub cmd1_Click() txt = " ;Visual Basic xin kinh chao tat ca cac ban" End Sub Private Sub cmd2_Click() txt = " " End. giáo trình visual basic (Các bài tập thực hành và một số nội dung cơ bản) Tạo một Form gồm 1 textbox (txt), 3