Tạo form cộng 2 số a và b có giao diện như sau Yêu cầu : - Đặt tên cho các textbox số 1txtso1, số 2 txtso2, textbox kết quả txtkq, button kết quả btnkq, button close btnclose - Txtkq
Trang 1BÀI TẬP THỰC HÀNH VISUAL BASIC.NET
Tuần 1 : Cấu trúc chương trình VB
- Tạo và lưu 1 project VB
- Viết chương trình in ra chữ Hello
- Viết chương trình nhập họ tên của 1 người In ra họ tên của người đó
- Thiết kế Form nhập vào 2 số Tính tổng 2 số vừa nhập
(Dùng Textbox và Command Button)
- Thiết kế giao diện máy tính đơn giản
Tuần 2 : Ngôn ngữ lập trình
- Viết chương trình giải phương trình ax + b = 0
- Viết chương trình giải phương trình bậc 2 : ax2 + bx + c = 0
- Viết chương trình nhập vào 1 số từ 1 đến 7 Cho biết số đó là thứ mấy trong tuần
- Viết chương trình kiểm tra 1 số có phải nguyên tố hay không?
- Viết chương trình kiểm tra 1 số có phải là số chính phương hay không?
Tuần 4 : Ngôn ngữ lập trình (tt)
- Viết chương trình con nhập vào mảng 1 chiều N phần tử Tìm số lớn nhất và nhỏ nhất trong mảng
- Viết chương trình con sắp xếp mảng 1 chiều theo thứ tự tăng dần
- Viết chương trình con cho biết có bao nhiêu số nguyên tố trong mảng 1 chiều
- Viết chương trình con nhập vào mảng 2 chiều có M hàng, N cột Tìm số lớn nhất
và nhỏ nhất trong mảng
- Viết chương trình con tính tổng các phần tử lẻ trong mảng 2 chiều
- Viết chương trình con tính tổng các phần tử trên 2 đường chéo chính trong mảng
2 chiều
Tuần 5 : Kiểm tra
Trang 2Trang 2
Tuần 6 : Các Control điều khiển
1 Tạo form cộng 2 số a và b có giao diện như sau
Yêu cầu :
- Đặt tên cho các textbox số 1(txtso1), số 2 (txtso2), textbox kết quả (txtkq), button kết quả (btnkq), button close (btnclose)
- Txtkq không được nhập, không được đặt con trỏ vào textbox này
- Dùng phím Tab để di chuyển các control theo thứ tự txtso1,txtso2, btnkq, btnclose
- Đặt phím nóng cho button kết quả và button close
2 Thiết kế giao diện:
Yêu cầu :
- Các điều khiển sử dụng trong form gồm:
- CheckBox1: thuộc tính Checked – False; Text – Máy tính cá nhân
- Checkbox2: thuộc tính Checked – False; Text – Máy photocopy
- PictureBox1: thuộc tính Image – None; SizeMode: StretchImage
- PictureBox2: thuộc tính Image – None; SizeMode: Stretchimage
- Chương trình này có hai CheckBox cho phép click chọn Nếu click chọn vào CheckBox nào thì sẽ hiện một bức ảnh tương ứng với nó
Trang 33 Tạo trong form các điều khiển gồm ListBox, TextBox và một Button như hình
4 Chương trình gồm hai textbox cho phép nhập hai giá trị để gán cho hai biến value1
và value2, bốn radiobutton cho phép chọn bốn toán tử khác nhau, khi đã nhập đầy
đủ hai giá trị thì có thể thực hiện tính bằng cách nhấp chọn nút ‘thực hiện tính’ và kết quả hiển thị trong ô textbox3 – kết quả
Tuần 7 : Các Control điều khiển (tt)
1 Giao diện chương trình:
Yêu cầu :
5 Chương trình bao gồm một listbox liệt kê danh sách 4 nước Khi người dùng click vào một nước nào đó thì tên nước hiện trên một nhãn và thông tin chi tiết hiện trên một nhãn khác
Trang 4Trang 4
6 Lúc này nếu người dùng click vào lstcountry nhưng nếu không click đúng vào một trong bốn mục thì chương trình lập tức hiện thông báo yêu cầu chọn một trong bốn mục đó (sự kiện MouseHover)
2 Thiết kế giao diện như sau :
Dùng Textbox
Tuần 8 : Các Control điều khiển (tt)
2 Thiết kế giao diện:
- Tạo hai điều khiển GroupBox
- Tạo 3 radiobox đặt vào trong điều khiển GroupBox1
- Tạo 3 CheckBox đặt vào trong điều khiển GroupBox2
- Tạo 1 điều khiển ListBox và không nhập liệu gì cả
- Tạo một điều khiển ComboBox Tạo 6 PictureBox và 3 Label cùng 1 Button
- Sửa các thuộc tính sao cho phù hợp với hình trên Riêng hai điều khiển ListBox và ComboBox thì các dữ liệu sẽ được nhập khi Form được load vào lúc chương trình chạy
Trang 5Chuyên đề NET
Khoa Công nghệ thông tin – ĐHSPKT Hưng Yên 2006
Bài thực hành số 1
Lập trình hướng đối tượng trong VB.NET
Mục tiêu: Kết thúc bài thực hành sinh viên có thể:
Ø Tạo được các lớp trong VB.NET
Ø Tạo được các lớp có sử dụng kỹ thuật override, overload, thừa kế và đa hình
Ø Vận dụng các kỹ thuật lập trình hướng đối tượng để xây dựng một số ứng dụng đơn giản
Nội dung:
1 Tạo lớp clsMyTextBox thừa kế từ lớp Textbox
2 Thêm các phương thức, thuộc tính và sự kiện cho lớp clsMyTextBox
3 Viết chương trình Editor đơn giản sử dụng lớp clsMyTextBox
Mô tả yêu cầu:
1 Tạo lớp clsMyTextBox: Sinh viên cần khai báo một lớp clsMyTextBox thừa
truy cập Yêu cầu chức năng
Sub SetDefaultFont() public Đặt font chữ mặc định cho textbox là
12pt, normal
Sub SetFont(FontName As string) Public Đặt font chữ cho textbox Thuộc tính
khác giữ nguyên
Sub SetFont(FontSize As Integer) Public Đặt kích cỡ font
Sub SetFont(FontName As String,
FontSize As Integer)
public Đặt tên font và kích thước cho textbox
Sub SetFont(F As Font) public Đặt font chữ cho textbox
NumericEntryOnly() public Chỉ cho phép nhập số
Trang 6Chuyên đề NET
Khoa Công nghệ thông tin – ĐHSPKT Hưng Yên 2006
ABCAlphabetEntryOnly() public Chỉ cho phép nhập chữ cái
SetForeColor(Color As
ColorEnum)
public Đặt màu chữ cho textbox, tên màu là
một kiểu enum có các giá trị
Ctrl_Right_Click() public Được kích hoạt khi người dùng nhấn
Ctrl + Click chuột phải
Viết lệnh cho sự kiện
FontName As String Public Xử lý khi tên font bị sai
FontSize As Integer Public Đặt kích thước font, cần xử lý khi
người dùng nhập vào một số thực (hoặc số quá lớn, quá nhỏ)
Trang 7Bµi thùc hµnh sè 2 Thao t¸c C¬ së d÷ liÖu trong VB.NET
Môc tiªu : Sau khi kÕt thóc bµi thùc hµnh, sinh viªn cã thÓ:
Ø KÕt nèi vµ truy vÊn c¬ së d÷ liÖu th«ng qua tËp c¸c líp cña ADO.NET
Ø CËp nhËt d÷ liÖu th«ng qua c¸c líp thuéc m« h×nh kÕt nèi vµ phi kÕt nèi (Connectioned & Disconnected)
Ø ViÕt c¸c líp ComboBox, ListBox, TreeView, ListView, DataGridview míi cã kÕ thõa tõ c¸c líp gèc
Ø X©y dùng mét øng dông cã sö dông c¸c líp võa x©y dùng
3 X©y dùng líp MyListBox thõa kÕ tõ ListBox
4 MyComboBox thõa kÕ tõ líp ComboBox
Néi dung chi tiÕt:
Danh s¸ch c¸c B¶ng trong CSDL Nwind.mdb
Trang 8Thực hành làm các công việc sau đây:
1 Thao tác CSDL nwind.mdb theo mô hình kết nối
a) Hiển thị danh sách tất cả các nhà cung cấp (CompanyName) trong một ListBox b) Hiển thị tên các sản phẩm (ProductName) trong LisstBox khi ng-ời dùng chọn Mã nhà cung cấp (SupplierID) t-ơng ứng ở trong ComboBox
c) Hiển thị tên công ty (Company name) của nhà cung cấp trong một Textbox Khi ng-ời dùng di chuyển đến một Company name thì hiển thị các đơn hàng trong một DataGridview Khi ng-ời dùng click vào một đơn hàng thì lại hiển thị chi tiết
đơn hàng đó trong một DataGridview khác (Hình 1) Thêm các nút duyệt tên các công ty (|<; < ; > ; >| )
d) Hiển thị mã khách hàng (CustomerID) trong ComboBox Khi ng-ời dùng chọn thì thông báo tổng giá trị đơn hàng mà khách hàng đó đã đặt
e) Ghi thông tin về các sản phẩm đã bán vào tệp văn bản theo định dạng (Mỗi bản ghi trên một dòng)
STT ContacName ProductName CompanyName Quantity
………
Hình 1
2 Thao tác CSDL nwind.mdb theo mô hình phi kết nối
Xây dựng một form thao tác với bản Customers có dạng nh- sau:
Trang 9H2 Giao diện thể hiện chức năng
L-u ý: Có sử dụng điểu khiển Error Provider để kiểm tra dữ liệu nhập (các tr-ờng
số, tr-ờng not null)
3 Xây dựng lớp MyListBox thừa kế từ ListBox, với các thành viên mới:
- Ph-ơng thức LoadField(FieldName, TableName, DBPath: String) để nạp một tr-ờng trong một bảng của tệp CSDL DBPath vào Listbox
- Ph-ơng thức LoadFieldDistinctRow (FieldName, TableName, DBPath: String)
để nạp tr-ờng nh-ng loại bỏ các phần tử trùng nhau (chỉ giữ lại một)
- Ph-ơng thức SortData (ChieuSapXep as boolean) để sắp xếp dữ liệu theo chiều tăng hoặc giảm dần
- Ph-ơng thức SortData(KieuDuLieu As Integer, ChieuSapXep as boolean) để sắp xếp tùy thuộc vào kiểu dữ liệu trong listbox
- Ph-ơng thức SortVietnameseName() để sắp xếp theo vần tên (Nếu listbox chứa danh sách họ tên)
- Thêm sự kiện XOA Sự kiện này đ-ợc kích hoạt khi ng-ời dùng nhấn phím Del
4 MyComboBox thừa kế từ lớp ComboBox
- ExecuteSelectCmd(Câu lệnh Select) As DataReader
- Export(FileName As String) : Để kết xuất dữ liệu ra file text Mỗi bản ghi trên một dòng Ph-ơng thức này, lớp sau có thể thay đổi để kết xuất ra t/bị khác
Trang 106 Xây dựng lớp MyTreeView
Xây dựng lớp MyTreeView với các ph-ơng thức sau:
- LoadField(Tên tr-ờng, tên bảng, Tên CSDL) để nạp tr-ờng của một bảng vào cây (Nạp vào mức 1)
- LoadField(Tên tr-ờng_mức 1, Bảng chứa tên tr-ờng 1, Tên tr-ờng _ Mức 2, Bảng chứa tên tr-ờng ở mức 2, Tên CSDL): Dùng để nạp một tr-ờng của một bảng vào mức 1 (mức cha) và ứng với mỗi nút cha đó thì nạp các nút con t-ơng ứng nằm trong tr-ờng 2 của bảng 2 Ví dụ Mức 1 nạp tên công ty (CompanyName), mức 2 nạp tên sản phẩm ứng với công ty đó (ProductName)
- LoadField(Tên tr-ờng_mức 1, Bảng chứa tên tr-ờng 1, Tên tr-ờng _ Mức 2, Bảng chứa tên tr-ờng ở mức 2, Tên tr-ờng _ Mức 3, Tên bảng chứa tr-ờng 3, Tên CSDL) à Giống nh- trên nh-ng thực hiện đến mức thứ 3 Ví dụ nạp CompanyName (mức cha) à ProductName (mức con) à UnitPrice (mức cháu)
- Function Check(ID as String) As Node để kiểm tra xem trong cây có một nút có khóa là ID hay không, nếu có thì trả về chính node đó Trái lại trả về Nothing
- Sub DeleteKey(K as string) để xóa một nút có khóa bằng K
- Function InsertNode(Key, Text As String, ParentKey As String) Để thêm một nút mới có khóa là Key, Text là Text làm nút con của nút có khóa (Key) là ParentKey
7 Xây dựng lớp MyListView
Xây dựng lớp này để có thêm chức năng:
- ShowTable(Tên bảng, Tên CSDL) để hiển thị một bảng CSDL trong ListView
- MyListView cũng có menuPopup để ng-ời dùng chọn kiểu hiển thị (3 mục là List, Icons, report) Việc hiển thị menu có thể là tùy chọn (Enable/Disable)
- Thêm sự kiện Delete giống nh- ở câu 6
8 Vận dụng các lớp vừa xây dựng ở trên, viết ứng dụng Quản lý lịch làm việc Thông tin chung:
- Mỗi ng-ời có thể viết nhiều ngày làm việc
- Mỗi ngày có thể có nhiều việc khác nhau
- Mỗi việc đều có chi tiết công việc
Yêu cầu (các chức năng chính, còn SV có thể bổ sung thêm nếu thấy cần à Càng tốt !):
a Nhập lịch làm việc cho một tuần
b Bổ sung thêm một công việc cho một ngày nào đó
c Xóa một công việc
d Chỉnh sửa công việc
e Xem các công việc theo ngày, tháng, tuần
f Nhắc việc Nếu thời gian máy tính bằng với thời điểm bắt đầu của công việc thì
"Nhắc nhở" bằng cách hiển thị một Message
*** L-u ý:
- Có thể tham khảo phần mềm Outlook đi cùng với bộ MS Office 2k, 2k3
- Việc trình bày các công việc ở trên nên sử dụng MyTreeView, MyListView, MyListBox ở trên !
Trang 11Bài thực hành số 5:
Lập trình mạng trong VB.NET
ỉ Nắm vững cách khai báo và sử dụng đ-ợc các lớp UDP, TCP, IPAddress, IPHostEntry, IPEndpoint
ỉ Sử dụng các lớp UDP và TCP để viết một số ch-ơng trình Client và Server đơn giản: CHAT…
UDP:
Bài 1: Viết ch-ơng trình UDP đặt ở hai máy thực hiện công việc sau:
- Khi một ứng dụng gửi xâu "OPEN#<Đ-ờng dẫn>" thì ứng dụng trên máy kia sẽ mở file nằm trong phần <đ-ờng dẫn>
- Khi một ứng dụng gửi xâu " shutdown ", “restart” thì ứng dụng kia
sẽ tắt máy tính và khởi động lại t-ơng ứng
Mô tả giao diện:
Giao diện của ứng dụng A (ứng dụng 1)
Giao diện của ứng dụng B (ứng dụng 2)
Yêu cầu:
Nhập nội dung xâu gửi (shutdown, restart, OPEN#<Đ-ờng dẫn>) vào
ô textbox Xâu gửi trên ứng dụng A Sau khi nhấn nút Gửi thì xâu đó hiện ra
ô textbox Xâu nhận về trên ứng dụng B, đồng thời thực hiện các công việc t-ơng ứng
Bài 2: Viết ch-ơng trình UDP đặt trên một máy thực hiện các công việc sau: Khi một ứng dụng (B) gửi một xâu chữ Tiếng Anh thì ứng A sẽ gửi trả lại nghĩa tiếng Việt t-ơng ứng Nếu từ Tiếng Anh không có trong từ điển (từ
Trang 12điển ở đây chỉ có 3 từ Computer, RAM, HDD) thì ứng dụng A gửi trả lại xâu
"Not found"
Mô tả giao diện:
Giao diện của ứng dụng A (ứng dụng 1)
Giao diện của ứng dụng B (ứng dụng 2)
Yêu cầu:
Nhập từ Tiếng Anh (TA) cần tra vào ô Textbox Từ TA trên ứng dụng
B Khi nhấn nút Gửi thì từ TA đó hiện ra trong ô Text Từ TA nhận về từ ứng dụng B trên ứng dụng A Sau khi nhấn nút Gửi lại nghĩa thì nghĩa của
từ TA sẽ hiện ra trong ô Textbox Nghĩa nhận về từ ứng dụng A
Bài 3: viết ch-ơng trình chơi cờ Caro qua mạng sử dụng giao thức UDP
Mô tả giao diện:
Giao diện của ứng dụng A (ứng dụng 1)
Trang 13Giao diện của ứng dụng B (ứng dụng 2) Yêu cầu+Gợi ý:
- Code cho mỗi ứng dụng là hoàn toàn giống nhau
- Mỗi khi ng-ời dùng Click vào một ô ( sự kiện CellClick của DatagridView) thì gửi vị trí của ô đó, đồng thời thiết lập giá trị cho ô đó ( X
Trang 14Giao diện của ứng dụng B (ứng dụng 2)
Code cho mỗi ứng dụng là hoàn toàn giống nhau
L-u ý: Nếu 2 ứng dụng đặt trên 2 máy khác nhau thì chúng ta có thể đặt Remote Port và Local Port của hai ứng dụng giống nhau (Vì không bị xung
đột)
TCP:
Bài 1: Viết ch-ơng trình Telnet.
Bài 2: Viết ch-ơng trình Client/Server: Khi client gửi xâu "shutdown",
"restart" thì Server sẽ tắt máy và khởi động t-ơng ứng
Mô tả giao diện:
Giao diện của ứng dụng Client Yêu cầu + Gợi ý:
Trang 15- Khi ng-ời dùng nhấn nút Gửi thì client sẽ gửi nội dung trong ô textbox Nội dung gửi cho Server Tùy theo nội dung client gửi đi
mà Server thực hiện các công việc t-ơng ứng (shutdown, restart)
- Các thông tin về server có thể thay đổi đ-ợc
- Để shutdown máy tính có thể dùng hàm API ExitWindown hay Process.start(“Shutdown”,“-s”)
Bài 3: Viết ch-ơng trình Server giải đáp tên miền Nếu máy khách gửi tên máy thì server sẽ gửi về địa chỉ IP (danh sách này tự tạo ra – khoảng 3 cặp
- Các thông tin về server có thể thay đổi đ-ợc
Bài 4: Viết ch-ơng trình Client/Server Khi Client gửi đ-ờng dẫn của tệp nằm trên máy server thì server gửi trả cho Client nội dung của tệp đó
Mô tả giao diện:
Trang 16Bµi 5: ViÕt ch-¬ng tr×nh CHAT gi÷a hai m¸y sö dông giao thøc TCP.
M« t¶ giao diÖn:
Trang 17Giao diÖn cña øng dông Client 1
Giao diÖn cña øng dông Client 2
Trang 18- Khi một client muốn chat với một client nào đó thì phải chọn client muốn chat trong (check vào client muốn chat) Danh sách các client Nếu không chọn thì nội dung chat chỉ gửi nên server
Trang 19TRƯờNG ĐạI HọC SƯ PHạM Kỹ THUậT HƯNG YÊN
Khoa công nghệ thông tin
-
hệ thống bài thực hành môn : ms ASP.net
Lớp: TK3H Giảng viờn: Nguyễn Minh Quý
B1 Chạy Microsoft Visual Studio net
B2 Chọn kiểu dự án là ASP.NET Application
B3 Kéo và đặt lần l-ợt các điều khiển sau đây vào form:
+ Textbox (Để l-u số hạng thứ nhất)
+ ListBox (Để l-u các phép toán +, -, *, / cho ng-ời dùng chọn)
+ TextBox (Để l-u số hạng thứ hai)
+ Button (Để thực thi phép toán khi ng-ời dùng click chuột)
+ TextBox (Để l-u kết quả)
Sau đó có thể kéo thêm các nhãn (label) để chú thích cho các textbox
B4: Đặt tên cho các điều khiển (Đặt thuộc tính ID), lần l-ợt nh- sau:
+ txtSH1, lstPhepToan, txtSH2, cmdThucHien, txtKetQua
B5 Viết code trong form
'/// Viết lệnh trong thủ tục Page_Load
Private Sub Page_Load( )
'Nạp phép toán vào trong ListBox
'// Viết lệnh cho sự kiện click chuột lên nút Thực hiện
Private Sub cmdThucHien_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBind.Click
Select Case lstPhepToan.SelectedItem.Text
truy cập cơ sở dữ liệu trong asp.net
Trong các bài thực hành tiếp theo, ta sẽ lấy cơ sở dữ liệu có tên là Email.mdb để minh hoạ Tệp
Email.mdb có 1 bảng tên là tblNguoiDung, bảng này có các tr-ờng là MaNguoiDung, HoTen,
DiaChiEMail, MatKhau Tệp này qui -ớc là l-u trong cùng với th- mục của ứng dụng WEB hiện hành SV
tự tạo CSDL này và nhập vào bảng khoảng 20 bản ghi mẫu!