Hướng dẫnthựchành - LậptrìnhWindows1 – Module5 Trang 38/48 Module5 Nội dung kiến thứcthực hành: + Thao tác trên chuỗi Bài 1: Yêu cầu: Thiết kế giao diện và thực hiện các chức năng như hình sau: Hướng dẫn: + Hàm bỏ tất cả các khoảng trắng thừa: private string BoKhoangTrangThua(string s) { string re; re = s.Trim(); while(re.IndexOf(" ")!=-1) re = re.Replace(" ", " "); return re; } + Hàm kiểm tra ký tự đặc biệt: private bool KiemTraKyTuDacBiet(string s) { string sdacbiet = "~!@$%^&*()_+0123456789-={}|[]:;<>?,./'\"\\"; foreach (char c in sdacbiet) { if (s.IndexOf(c) >= 0) return true; } return false; } Hướng dẫnthựchành - LậptrìnhWindows1 – Module5 Trang 39/48 + Hàm đếm số ký tự thường: private int DemSoKyTuThuong(string s) { int d = 0; for (int i = 0; i < s.Length; i++) if (char.IsLower(s[i])) d++; return d; } + Hàm đếm số từ: private int DemSoTu(string s) { s = BoKhoangTrangThua(s); string[] re = s.Split(new char[] { ' ' }); return re.Length; } Bài 2: Yêu cầu: Thiết kế giao diện và thực hiện các chức năng như hình sau: Chú ý: Danh sách sinh viên được đọc từ file. Bài 3: Yêu cầu: Tạo file dữ liệu sinh viên gồm các thông tin sau: mã sv, họ tên, nơi sinh (mỗi thông tin cách nhau bởi ký hiệu tùy chọn). Sau đó đọc file này vào ListView ứng với từng cột, biết ListView có 4 cột gồm: mã sv, họ và tên đệm, tên, nơi sinh. . Hướng dẫn thực hành - Lập trình Windows 1 – Module 5 Trang 38/48 Module 5 Nội dung kiến thức thực hành: + Thao tác trên chuỗi Bài 1: Yêu cầu: Thiết. thực hành - Lập trình Windows 1 – Module 5 Trang 39/48 + Hàm đếm số ký tự thường: private int DemSoKyTuThuong(string s) { int d = 0; for (int i = 0; i < s.Length; i++) if (char.IsLower(s[i])). private bool KiemTraKyTuDacBiet(string s) { string sdacbiet = "~!@$%^&*()_+0123 456 789-={}|[]:; < >?,./'"\"; foreach (char c in sdacbiet) { if (s.IndexOf(c)