580 likes | 832 Views
BÀI GIẢNG MÔN KỸ THUẬT LẬP TRÌNH Số ĐVHT: 4 GV: Đoàn Thị Phương phuongdt137@gmail.com Hải Dương 2013. GIỚI THIỆU VỀ MICROSOFT .NET. Microsoft .NET gồm 2 phần chính : Framework và Integrated Development Environment(IDE).
E N D
BÀI GIẢNG MÔNKỸ THUẬT LẬP TRÌNHSố ĐVHT: 4 GV: Đoàn Thị Phươngphuongdt137@gmail.comHải Dương 2013
GIỚI THIỆU VỀ MICROSOFT .NET Microsoft .NET gồm 2 phần chính : Framework và Integrated Development Environment(IDE). Framework do hãng Microsoft tạo ra để tạo điều kiện thuận lợi cho sự phát triển các ứng dụng. Nó được xem như là một thư viện chứa nhiều công nghệ của nhiều lĩnh vực hay là bộ khung, sườn để phát triển các phần mềm ứng dụng. IDE thì cung cấp một môi trường giúp chúng ta triển khai dễ dàng, và nhanh chóng các ứng dụng dựa trên nền tảng .NET.
1. Viết chương trình C# đầu tiên Soạn thảo chương trình “Hello Wolrd” 1. Chọn File New Project. 2. Chọn kiểu dự án là Visual C# Project Application Nhập vào tên dự án và đường dẫn Chọn nút OK
Viết chương trình C# đầu tiên Sau đó nhập nội dung lệnh vào hàm Main() như sau: class Helloworld { static void Main(string[] args) { Console.WriteLine("Xin chao cac ban!"); Console.ReadKey(); } }
Viết chương trình C# đầu tiên Biên dịch và chạy chương trình “Hello Wolrd” Biên dịch chương trình trong Visual Studio.NET Cách 1: Chọn Ctl+Shift+B hay Build build từ thực đơn. Cách 2: Nhấn nút Chạy chương trình trong Visual Studio.NET Cách 1: Nhấn Ctrl + F5 hay Debug Start Without Debugging từ thực đơn. Cách 2: Nhấn nút
2. Xuất nhập qua console Để đọc một ký tự văn bản từ cửa sổ console, chúng ta dùng phương thức: Console.Read(): giá trị trả về sẽ là kiểu string. Hai phương thức dùng để xuất chuỗi ký tự: Console.Write(): Viết một giá trị ra của sổ. Console.WriteLine(): Tương tự như trên nhưng sẽ tự động xuống hàng khi kết thúc lệnh. Chú ý: - Chỉ có thể xuất chuỗi ra màn hình. - Xuất hai chuỗi bằng dấu +.
2. Xuất nhập qua console Một số ký tự escape thông dụng: Ví dụ:
3. Sử dụng chú thích // Chú thích cho hàng đơn /*…*/ Chú thích cho một khối lệnh. Ví dụ
4. Biến và hằng Cú pháp khai báo biến: [ bổ_từ ] kiểu-dữ-liệu định-danh; Trong đó: Bổ_từ là một trong những từ khoá: public, private, protected Kiểu_dữ_liệu là các kiểu dữ liệu như int, float… Định_danh là tên biến. Ví dụ: public int i; - Có thể gán cho biến một giá trị bằng toán tử "=". i = 10; - Có thể khai báo biến và khởi tạo giá trị cho biến như sau: int i = 10; - Có thể khai báo nhiều biến có cùng kiểu dữ liệu như sau: int x = 10, y = 20;
4. Biến và hằng Phạm vi hoạt động của biến: Trong một phạm vi hoạt động không thể có hai biến cùng mang một tên trùng nhau. Ví dụ: public class ScopeTest { public static int Main() { for (int i = 0; i < 10; i++) { Console.WriteLine(i); } // biến i ra khỏi phạm vi for (int i = 9; i >= 0; i–) { Console.WriteLine(i); } // biến i ra khỏi phạm vi ở đây return 0; } }
4. Biến và hằng Hằng(constant): là một biến nhưng giá trị không thể thay đổi trong suốt thời gian thực thi chương trình. VÍ dụ: const int a = 100; Chú ý: Hằng bắt buộc phải được gán giá trị lúc khai báo. Khi đã được khởi gán thì không thể viết đè lên.
5. Cấu trúc chương trình Không gian tên: tên project, chứa các đối tượng. Lớp: định nghĩa ra các đối tượng cụ thể bao gồm các thành phần dữ liệu và chức năng Bổ-từ-truy-cập class Tên-lớp Thuộc tính: là các biến, các tham số hay hằng nội tại của một đối tượng Bổ-từ-truy-cập Kiểu-dữ-liệu Tên-thuộc-tính; Phương thức: là các hàm được khai báo trong lớp đối tượng Bổ-từ-truy-cập kiểu-trả-về Tên-phương-thức(Đối-số)
5. Cấu trúc chương trình Sử dụng đối tượng: Khởi tạo: Tên-lớp tên-đối-tượng = new Tên-lớp(); Gọi phương thức: Tên-đối-tượng.phương-thức(tham-số); Ví dụ
6. Kiểu dữ liệu cơ bản Kiểu số nguyên: Kiểu số thực dấu chấm động: Kiểu logic
6. Kiểu dữ liệu cơ bản Kiểu Character Kiểu tham chiếu định nghĩa trước:
8. Luồng điều khiển chương trìnhCâu lệnh if Cú pháp if ( biểu thức) lệnh 1 else lệnh 2 Ví dụ if (a == 0) if (b == 0) Console.WriteLine("Phuong trinh co vo songhiem"); else Console.WriteLine("Phuong trinh vo nghiem"); else Console.WriteLine("Phuong trinh co mot nghiem x = {0}",-b/a);
Cú pháp switch (biểu thức) { case biểu_thức_hằng: lệnh lệnh_nhảy [default: lệnh] } Ví dụ 8. Luồng điều khiển chương trìnhCâu lệnh switch
Cú pháp for(khởi_tạo_biến; điều_kiện; biểu_thức) Lệnh Ví dụ 1 for (int i = 0; i < 100; i = i+1) { Console.WriteLine(i); } Ví dụ 2 for (int i = 0; i < 5; i++) { for (int j = 0; j <= i; j++) Console.Write(“*”); Console.WriteLine(i); } 8. Luồng điều khiển chương trìnhCâu lệnh for
Cú pháp while (biểu thức) lệnh; Ví dụ int i = 1; while (i < 100) { Console.WriteLine("{0}", i); i++; } 8. Luồng điều khiển chương trìnhCâu lệnh while
Cú pháp do lệnh while(biểu thức) Ví dụ int i = 1; do { Console.WriteLine("{0}", i); i++; } While (i<=100) 8. Luồng điều khiển chương trìnhCâu lệnh do…while
Cú pháp foreach (kiểu-dữ-liệu Biến in Mảng) Lệnh; Ví dụ int i = 1; string[] Mau = {"Xanh", "Do", "Tim", "Vang", "Nau", "Den", "Trang"}; foreach (string t in Mau) { Console.WriteLine("Mau thu {0} la mau: " + t,i); i++; } 8. Luồng điều khiển chương trìnhCâu lệnh foreach
- Lệnh continue: quay lại vòng lặp mà không cần thực hiện các lệnh còn lại trong vòng lặp. - Lệnh break: thoát ra khỏi vòng lặp ngay lập tức Ví dụ: while (signal != "X") { if (signal == "A") { Console.WriteLine("Lỗi, bỏ qua\n"); break; } if (signal == "0") { Console.WriteLine("Bình thường. \n"); continue; } Console.WriteLine("{0}Tín hiệu tiếp tục!\n",signal); } 8. Luồng điều khiển chương trìnhCâu lệnh continue và break
9. Mảng và thao tác trên mảngKhai báo mảng - Khai báo mảng Cú pháp: kiểu[ ] tên-mảng; Ví dụ 1: int[] Mang; - Khởi tạo mảng: Dùng từ khóa new và chỉ định kích thước mảng Ví dụ 2 Mang = new int[50]; Int[] Mang2 = new int[n]; - Có thể khởi gán giá trị cho mảng ngay khi khai báo Ví dụ 3: String[] Luachon = {“Lua chon 1”, “Lua chon 2”, “Lua chon 3”}; Ví dụ 4: Nhập và tính tổng một mảng gồm n phần tử. Với n tùy ý.
9. Mảng và thao tác trên mảngLàm việc với mảng Tên_Mảng.Length: Trả về độ dài của mảng Array.Sort(Tên_Mảng): Thực hiện sắp xếp mảng theo thứ tự tăng dần. Array.Reverse(Tên_Mảng): Đảo ngược vị trí các phần tử trong mảng.
Cú pháp: kiểu[,,… ] tên-mảng; Ví dụ 1: Khai báo và khởi tạo mảng 2 chiều int[,] myIntegers; // myIntegers = new int[5,3]; Ví dụ 2: Int[,] myIntegers = new int[50,50]; Ví dụ 3: Nhập, hiển thị và tính tổng một mảng hai chiều gồm n hàng, m cột. Với n, m tùy ý. 9. Mảng và thao tác trên mảngMảng nhiều chiều
- Cú pháp: string tên_chuỗi; Ví dụ 1: string s1; - Chuỗi phải được đặt trong dấu “”. Ví dụ 2: string s2 = “Ha noi”; 10. Chuỗi và thao tác trên chuỗiKhai báo chuỗi
- Compare( st1, st2): So sánh hai chuỗi st1 với st2 và cho giá trị trả về là: Giá trị -1 nếu st1 < st2 Giá trị 0 nếu st1 = st2 Giá trị 1 nếu st1 > st2 Ví dụ: string str1 = "ppp"; string str2 = "ccc"; int res = String.Compare(str1, str2); Console.WriteLine("Ket qua so sanh” +res.ToString()); 10. Chuỗi và thao tác trên chuỗiCác hàm xử lý chuỗi
- Length: Trả về độ dài của chuỗi string str = " Cac thao tac tren chuoi trong C# "; int dodai = str.Length; Console.WriteLine("\nDo dai cua chuoi = " + dodai); - Concat(str1, str2): Nối chuỗi str2 sau chuỗi str1. string s1 = " Chao mung cac ban"; string s2 = " lop K2CNTT "; Console.WriteLine("\nChuoi 1: \"" + s1 + "\""); Console.WriteLine("\nChuoi 2: \"" + s2 + "\""); string str = string.Concat(s1, s2); Console.WriteLine("\nChuoi sau khi noi la: \"" + str + "\""); 10. Chuỗi và thao tác trên chuỗiCác hàm xử lý chuỗi
- Insert(n, str): Thêm chuỗi str sau n ký tự của chuỗi cần chèn. string s1 = "Chao cac ban!"; string s2 = "tat ca "; Console.WriteLine("\nChuoi 1: \"" + s1 + "\""); Console.WriteLine("\nChuoi 2: \"" + s2 + "\""); string str = s1.Insert(5, s2); Console.WriteLine("\nChuoi sau khi chen: " + str); - Replace(str1, str2): Thay thế chuỗi str1 bằng chuỗi str2. string s1 = "Chao mung cac ban den voi"; string s2 = "Dien dan CCI Group "; Console.WriteLine("\nChuoi 1: \"" + s1 + "\""); Console.WriteLine("\nChuoi 2: \"" + s2 + "\""); s2 = s2.Replace(s2, s1); Console.WriteLine("\nChuoi 2 sau khi thay the: " + s2); 10. Chuỗi và thao tác trên chuỗiCác hàm xử lý chuỗi
- Trim(): Xóa khoảng trắng thừa 2 bên chuỗi. string str = " Cac thao tac tren chuoi trong C# "; Console.WriteLine("\nChuoi ban dau: \"" + str + "\""); str = str.Trim(); Console.WriteLine("\nChuoi sau xoa khoang trang 2 ben: \"" + str + "\""); - str.ToUpper & str.ToLower: IN HOA & chữ thường chuỗi str. string s1 = "Chao mung cac ban den voi"; string s2 = "Dien dan CCI Group "; Console.WriteLine("\nChuoi 1: \"" + s1 + "\""); Console.WriteLine("\nChuoi 2: \"" + s2 + "\""); string Upper = s1.ToUpper(); string Lower = s2.ToLower(); Console.WriteLine("\nChuoi 1 - HOA: " + Upper); Console.WriteLine("\nChuoi 2 - Thuong: " + Lower); 10. Chuỗi và thao tác trên chuỗiCác hàm xử lý chuỗi
Không gian tên System.Windows.Forms: Cung cấp các lớp dùng để xây dựng ứng dụng Desktop. System.Drawing:Cung cấp các chức năng cơ bản về đồ họa (GDI) dùng để định dạng Control và Form. System.Data: Cung cấp các lớp được dùng để trình bày hay thao tác dữ liệu không kết nối của kiến trúc ADO.NET System.Text:Cung cấp các lớp dùng để trình bày hay xử lý chuỗi dữ liệu.S Chương 2. Lập trình Windows Form1. Giới thiệu
Khi tạo mới project loại Windows Application, đối tượng mặc định tên Form1 có ba phần: Form1.Designer.cs: tập tin ứng với giao diện Form1.cs: tập tin chứa phần mã định nghĩa ra Form Form1.resx: được tạo ra khi định nghĩa phương thức, khai báo biến, biến cố cho các điều khiển trên Form 1. Giới thiệuThực đơn project
Thực đơn ProjectAdd Windows Form: Thêm mới Form vào Project. Khi chọn thực đơn này, cửa sổ Add New Item xuất hiện và mặc định chọn Windows Form, tên mặc định là Form với số thứ tự kế tiếp. 1. Giới thiệu Thực đơn project
Thực đơn ProjectAdd Class: Thêm mới lớp vào dự án, mặc định chọn vào Class và tên mặc định là Class với số thứ tự kế tiếp. Thực đơn ProjectAdd User Control: thêm mới một User Control vào project. Khi chọn thực đơn này thì xuất hiện cửa sổ Add New Item nhưng mặc định là chọn vào User Control và tên mặc định là UserControl với số thứ tự kế tiếp. Thực đơn ProjectAdd New Item: Khi chọn thựcđơn Project | Add New Item thì xuất hiện cửa sổ Add New Item và tên mặc định là Class với số thứ tự kế tiếp. 1. Giới thiệu Thực đơn project
Thực đơn ProjectAdd Exsiting Item: Khi muốn thêm một đối tượng đã có sẵn vào Project thì chọn vào thực đơn Add Existing Item. Cửa sổ Add Existing Item xuất hiện với tên mở rộng cho phép. Chú ý: Khi thêm một form phải chọn cả 3 file tương ứng với form. 1. Giới thiệu Thực đơn project
Xóa đối tượng: trong cửa sổ Solution Explorer chọn tên của đối tượng, click chuột phải và chọn Delete hoặc nhấn phím Delete trên bàn phím. Cách ẩn / hiện cửa sổ Solution Explorer: Click nút trên thanh công cụ hoặc vào menu View Solution Explorer. 1. Giới thiệu Thực đơn project
Xóa đối tượng: trong cửa sổ Solution Explorer chọn tên của đối tượng, click chuột phải và chọn Delete hoặc nhấn phím Delete trên bàn phím. Cách ẩn / hiện cửa sổ Solution Explorer: Click nút trên thanh công cụ hoặc vào menu View Solution Explorer. 1. Giới thiệu Thực đơn project
Thanh công cụ (Toolbox) chứa các điều khiển để thiết kế Form. Để ẩn hoặc hiển thị thanh công cụ này lên màn hình, chọn biểu tượng hay thực đơn View|Toolbox 1. Giới thiệu Thanh công cụ
MDI Form(Form cha): Cho phép trình bày các form khác bên trong. Để thiết lập Form là MDI Form thì chọn thuộc tính IsMdiContainer là giá trị true. Child Form (Form con): là Form sẽ nằm trong vùng làm việc của MDI Form. Để thiết lập Child Form thì phải khai báo thuộc tính MdiParent là tên MDI Form trong Project. Ví dụ: Gọi Form2 khi click vào điều khiển nằm trên Form1 và Form2 là con của Form1 private void button1_Click(object sender, EventArgs e) { Form2 fr = new Form2();// Khai báo và khởi tạo Form 2 fr.MdiParent = this;//Khai báo MdiForm là Form hiệnhành fr.Show();// Nạp Form3 lên màn hình } 2. Form và các định dạng Form Các loại Form
Normal Form: Những form mở ra mà không nằm trong Form nào. Ví dụ: Gọi Form3 khi click vào điều khiển button2 nằm trên Form1 private void button2_Click(object sender, EventArgs e) { Form2 fr = new Form2();// Khai báo và khởi tạo Form 2 fr.MdiParent = this;//Khai báo MdiForm là Form hiệnhành fr.Show();// Nạp Form3 lên màn hình } 2. Form và các định dạng Form Các loại Form
Name: Tên của Form. Không có hai Form có tên trùng nhau trong cùng một project. Text: Chuỗi hiển thị trên thanh tiêu đề. ShowIcon: Cho phép ẩn hoặc hiện biểu tượng của Form. ShowInTaskbar: Cho phép hiển thị trên thanh Taskbar. Opacity: Cho phép làm trong suốt bề mặt Form. Icon: Cho phép chọn tập tin hình ảnh làm biểu tượng Form BackColor: Định dạng màu nền Form ForeColor: Định dạng màu mặc định cho các chuỗi trên form. WindowState: Cho phép chọn trang thái của Form khi khởi động lên.Nếu chọn Normal thì Form hiện lên 2. Form và các định dạng Form Thuộc tính của Form
Phương thức Close: dùng để đóng Form. Ví dụ: Khi nhấn nút thoát trên Form thì đóng Form lại private void button2_Click(object sender, EventArgs e) { this.Close(); } Phương thức Hide: dùng để che giấu Form đang mở Ví dụ: private void button2_Click(object sender, EventArgs e) { this.Hide(); } 2. Form và các định dạng Form Phương thức của Form
Để ẩn/hiện các biến cố của Form: Trên thanh Properties chọn nút Event và các biến cố sẽ xuất hiện như trong hình. Khi muốn khai báo cho biến cố nào thì Double Click vào tên biến cố đó thì sẽ xuất hiện cửa sổ cho phép nhập code cho biến cố. Một số biến cố hay dùng: Biến cố Load: Xảy ra trước khi Form hiển thị lên màn hình. FormClosed: Xảy ra khi Form đã đóng Biến cố FormClosing: Xảy ra khi Form đang đóng. 2. Form và các định dạng Form Biến cố của Form
Ví dụ: Khi Form đang đóng hiển thị thông báo “Bạn có thực sự muốn thoát không?”. Nếu người dụng chọn Cancel thì không đóng form. Nếu chọn OK thì đóng form private void Chuong_FormClosing(object sender, FormClosingEventArgs e) { if (MessageBox.Show("Bạn có thực sự muốn thoát không?", "Chú ý", MessageBoxButtons.OKCancel) == DialogResult.Cancel) e.Cancel = true; } 2. Form và các định dạng Form Biến cố của Form
Mỗi điều khiển có các biến cố và thuộc tính khác nhau. Tuy nhiên hầu hết các điều khiển đều có một số thuộc tính và biến cố sau: 3. Các điều khiển thông thường
Điều khiển Label: Cho phép trình bày thuộc tính dạng tiêu đề, chú giải cho các điều khiển nhập liệu khác Ngoài một số thuộc tính chung, điều khiển Label còn một số thuộc tính riêng sau: 3. Các điều khiển thông thường Nhóm điều khiển Label
Điều khiển LinkLabel: cho phép người sử dụngtrình bày chuỗi và kích hoạt đến địa chỉ Internet hay Email. Một số thuộc tính khác: 3. Các điều khiển thông thường Nhóm điều khiển Label
Điều khiển LinkLabel có một số biến cố khác như: 3. Các điều khiển thông thường Nhóm điều khiển Label