ĐỒ ÁN TỐT NGHIỆP TÌM HIỂU NGÔN NGỮ C# VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA PHẦN 10
Số trang: 26
Loại file: pdf
Dung lượng: 905.25 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu 'đồ án tốt nghiệp tìm hiểu ngôn ngữ c# và viết một ứng dụng minh họa phần 10', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
ĐỒ ÁN TỐT NGHIỆP TÌM HIỂU NGÔN NGỮ C# VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA PHẦN 10 Lập trình .NET và COM Gvhd: Nguyễn Tấn Trần Minh Khang { file.Delete( ); Console.WriteLine({0} deleted., fullName); } } newSubDir.Delete(true); } } } Kết quả (một phần): c:\test\media\newTest\recycle.wav renamed to c:\test\media\newTest\recycle.wav c:\test\media\newTest\ringin.wav renamed to c:\test\media\newTest\ringin.wav Một lần nữa, chỉ nên gọi P/Invoke trong trường bất khả kháng. Sử dụng các lớp .NET Framework để có đoạn mã được quản lý. 22.2 Con trỏ Như đã đề cập ở trên, chỉ nên sử dụng con trỏ khi làm việc với các COM, WinAPI, hàm DLL. Các toán tử sử dụng với con trỏ tương tự như C/C++ &: toán tử lấy địa chỉ *: toán tử lấy nội dung con trỏ ->: toán tử đến các thành viên của con trỏ Ví dụ dưới đây sử dụng con trỏ làm tham số cho hai hàm WinAPI CreatFile và ReadFile. Ví dụ 22-2 Sử dụng con trỏ trong C# using System; using System.Runtime.InteropServices; using System.Text; class APIFileReader { // import hai phương thức, phải có từ khóa unsafe [DllImport(kernel32, SetLastError=true)] static extern unsafe int CreateFile( string filename, uint desiredAccess, uint shareMode, uint attributes, uint creationDisposition, uint flagsAndAttributes, uint templateFile); // API phải dùng con trõ [DllImport(kernel32, SetLastError=true)] static extern unsafe bool ReadFile( int hFile, void* lpBuffer, 248 Lập trình .NET và COM Gvhd: Nguyễn Tấn Trần Minh Khang int nBytesToRead, int* nBytesRead, int overlapped); // hàm dựng: mở một tập tin đã tồn tại public APIFileReader(string filename) { fileHandle = CreateFile( filename, // tập tin GenericRead, // cách truy xuất - desiredAccess UseDefault, // shareMode UseDefault, // attributes OpenExisting, // creationDisposition UseDefault, // flagsAndAttributes UseDefault); // templateFile } // unsafe: cho phép tạo con trỏ và // ngữ cảnh unsafe (unsafe context) public unsafe int Read(byte[] buffer, int index, int count) { int bytesRead = 0; // fixed: cấm CLR dọn dẹp rác fixed (byte* bytePointer = buffer) { ReadFile( fileHandle, // hfile bytePointer + index, // lpBuffer count, // nBytesToRead &bytesRead, // nBytesRead 0); // overlapped } return bytesRead; } const uint GenericRead = 0x80000000; const uint OpenExisting = 3; const uint UseDefault = 0; int fileHandle; } class Test { public static void Main( ) { APIFileReader fileReader = new APIFileReader(myTestFile.txt); // tạo buffer và ASCII coder const int BuffSize = 128; byte[] buffer = new byte[BuffSize]; ASCIIEncoding asciiEncoder = new ASCIIEncoding( ); // đọc tập tin vào buffer và hiển thị ra màn hình console while (fileReader.Read(buffer, 0, BuffSize) != 0) { Console.Write({0}, asciiEncoder.GetString(buffer)); } } } 249 Lập trình .NET và COM Gvhd: Nguyễn Tấn Trần Minh Khang Phần 2 Xây dựng một ứng dụng minh họa 250 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Chương 23 Website dạy học ngôn ngữ C# 23.1 Hiện trạng và yêu cầu Trước tiên chúng ta sẽ tìm hiểu sơ qua về những gì đang diễn ra trong thực tế, và ứng dụng của ta liên quan đến khía cạnh nào. Sau đó ta phải xác định rõ các yêu cầu mà ứng dụng cần phải thực hiện. Việc xác định thật rõ và đúng các yêu cầu mà ứng dụng cần phải thực hiện là bước rất quan trọng, nó sẽ định hướng cho toàn bộ ứng dụng của chúng ta. 23.1.1 Hiện trạng thực tế 23.1.1.1 Hiện trạng Hiện nay, lĩnh vực công nghệ thông tin trên toàn thế giới đang phát triển hết sức nhanh chóng cả về hướng công nghệ phần mềm và lẫn hướng công nghệ phần cứng. Chỉ cần một vài tháng là sẽ có rất nhiều thay đổi, vì thế ta cần phải có một phương pháp tốt để tiếp cận chúng. Mặc dù có rất nhiều công cụ, ngôn ngữ giúp các nhà phát triển phần mềm tạo ra hàng loạt các ứng dụng mạnh mẽ, nhưng giường như chưa đủ. Họ vẫn luôn muốn tìm tòi những cái mới, công cụ tốt hơn để có thể tăng hiệu suất phát triển phần mềm thật nhanh và thật hiệu quả. Một số tổ chức cung cấp các bộ phát triển phần mềm nổi tiếng như : 1. Microsoft với hệ điều hành Windows, bộ Visual Studio 6.0 với các ngôn ngữ lập trình như : Visual Basic, Visual C++ … 2. Tổ chức Sun với ngôn ngữ Java đã từng nổi tiếng một thời, thống trị trong các ứng dụng Web. Những năm đầu của thế kỷ 21, năm 2000 – 2002. Micrsoft đã tung ra thị trường một công nghệ mới Microsoft Development Enviroment .NET với mục đích : 3. Đánh bại các đối thủ khác : ngôn ngữ lập trình Java của Sun hay hệ quản trị cơ sở dữ liệu Oracle … 4. Trở thành công cụ mạnh nhất để phát triển các ứng dụng Web ( chữ NET viết tắt của Network ). Nhằm minh họa quá trình tìm hiểu ngôn ngữ C# (đọc là Csharp) trong bộ công cụ .NET, chúng tôi đã viết nên ứng dụng Web dạy học C# này. 251 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 23.1.1.2 Quá trình tìm hiểu thực tế Để ứng dụng phù hợp với thực tế và xác định rõ được các yêu cầu mà ứng dụng cần thực hiện, chúng tôi cũng đã tìm hiểu qua một số Web-Site ...
Nội dung trích xuất từ tài liệu:
ĐỒ ÁN TỐT NGHIỆP TÌM HIỂU NGÔN NGỮ C# VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA PHẦN 10 Lập trình .NET và COM Gvhd: Nguyễn Tấn Trần Minh Khang { file.Delete( ); Console.WriteLine({0} deleted., fullName); } } newSubDir.Delete(true); } } } Kết quả (một phần): c:\test\media\newTest\recycle.wav renamed to c:\test\media\newTest\recycle.wav c:\test\media\newTest\ringin.wav renamed to c:\test\media\newTest\ringin.wav Một lần nữa, chỉ nên gọi P/Invoke trong trường bất khả kháng. Sử dụng các lớp .NET Framework để có đoạn mã được quản lý. 22.2 Con trỏ Như đã đề cập ở trên, chỉ nên sử dụng con trỏ khi làm việc với các COM, WinAPI, hàm DLL. Các toán tử sử dụng với con trỏ tương tự như C/C++ &: toán tử lấy địa chỉ *: toán tử lấy nội dung con trỏ ->: toán tử đến các thành viên của con trỏ Ví dụ dưới đây sử dụng con trỏ làm tham số cho hai hàm WinAPI CreatFile và ReadFile. Ví dụ 22-2 Sử dụng con trỏ trong C# using System; using System.Runtime.InteropServices; using System.Text; class APIFileReader { // import hai phương thức, phải có từ khóa unsafe [DllImport(kernel32, SetLastError=true)] static extern unsafe int CreateFile( string filename, uint desiredAccess, uint shareMode, uint attributes, uint creationDisposition, uint flagsAndAttributes, uint templateFile); // API phải dùng con trõ [DllImport(kernel32, SetLastError=true)] static extern unsafe bool ReadFile( int hFile, void* lpBuffer, 248 Lập trình .NET và COM Gvhd: Nguyễn Tấn Trần Minh Khang int nBytesToRead, int* nBytesRead, int overlapped); // hàm dựng: mở một tập tin đã tồn tại public APIFileReader(string filename) { fileHandle = CreateFile( filename, // tập tin GenericRead, // cách truy xuất - desiredAccess UseDefault, // shareMode UseDefault, // attributes OpenExisting, // creationDisposition UseDefault, // flagsAndAttributes UseDefault); // templateFile } // unsafe: cho phép tạo con trỏ và // ngữ cảnh unsafe (unsafe context) public unsafe int Read(byte[] buffer, int index, int count) { int bytesRead = 0; // fixed: cấm CLR dọn dẹp rác fixed (byte* bytePointer = buffer) { ReadFile( fileHandle, // hfile bytePointer + index, // lpBuffer count, // nBytesToRead &bytesRead, // nBytesRead 0); // overlapped } return bytesRead; } const uint GenericRead = 0x80000000; const uint OpenExisting = 3; const uint UseDefault = 0; int fileHandle; } class Test { public static void Main( ) { APIFileReader fileReader = new APIFileReader(myTestFile.txt); // tạo buffer và ASCII coder const int BuffSize = 128; byte[] buffer = new byte[BuffSize]; ASCIIEncoding asciiEncoder = new ASCIIEncoding( ); // đọc tập tin vào buffer và hiển thị ra màn hình console while (fileReader.Read(buffer, 0, BuffSize) != 0) { Console.Write({0}, asciiEncoder.GetString(buffer)); } } } 249 Lập trình .NET và COM Gvhd: Nguyễn Tấn Trần Minh Khang Phần 2 Xây dựng một ứng dụng minh họa 250 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Chương 23 Website dạy học ngôn ngữ C# 23.1 Hiện trạng và yêu cầu Trước tiên chúng ta sẽ tìm hiểu sơ qua về những gì đang diễn ra trong thực tế, và ứng dụng của ta liên quan đến khía cạnh nào. Sau đó ta phải xác định rõ các yêu cầu mà ứng dụng cần phải thực hiện. Việc xác định thật rõ và đúng các yêu cầu mà ứng dụng cần phải thực hiện là bước rất quan trọng, nó sẽ định hướng cho toàn bộ ứng dụng của chúng ta. 23.1.1 Hiện trạng thực tế 23.1.1.1 Hiện trạng Hiện nay, lĩnh vực công nghệ thông tin trên toàn thế giới đang phát triển hết sức nhanh chóng cả về hướng công nghệ phần mềm và lẫn hướng công nghệ phần cứng. Chỉ cần một vài tháng là sẽ có rất nhiều thay đổi, vì thế ta cần phải có một phương pháp tốt để tiếp cận chúng. Mặc dù có rất nhiều công cụ, ngôn ngữ giúp các nhà phát triển phần mềm tạo ra hàng loạt các ứng dụng mạnh mẽ, nhưng giường như chưa đủ. Họ vẫn luôn muốn tìm tòi những cái mới, công cụ tốt hơn để có thể tăng hiệu suất phát triển phần mềm thật nhanh và thật hiệu quả. Một số tổ chức cung cấp các bộ phát triển phần mềm nổi tiếng như : 1. Microsoft với hệ điều hành Windows, bộ Visual Studio 6.0 với các ngôn ngữ lập trình như : Visual Basic, Visual C++ … 2. Tổ chức Sun với ngôn ngữ Java đã từng nổi tiếng một thời, thống trị trong các ứng dụng Web. Những năm đầu của thế kỷ 21, năm 2000 – 2002. Micrsoft đã tung ra thị trường một công nghệ mới Microsoft Development Enviroment .NET với mục đích : 3. Đánh bại các đối thủ khác : ngôn ngữ lập trình Java của Sun hay hệ quản trị cơ sở dữ liệu Oracle … 4. Trở thành công cụ mạnh nhất để phát triển các ứng dụng Web ( chữ NET viết tắt của Network ). Nhằm minh họa quá trình tìm hiểu ngôn ngữ C# (đọc là Csharp) trong bộ công cụ .NET, chúng tôi đã viết nên ứng dụng Web dạy học C# này. 251 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 23.1.1.2 Quá trình tìm hiểu thực tế Để ứng dụng phù hợp với thực tế và xác định rõ được các yêu cầu mà ứng dụng cần thực hiện, chúng tôi cũng đã tìm hiểu qua một số Web-Site ...
Tìm kiếm theo từ khóa liên quan:
ngôn ngữ C# tin học ứng dụng lập trình windows lập trình C# mẹo hay cho tin học thủ thuật windowsTài liệu liên quan:
-
Tài liệu bồi dưỡng giáo viên sử dụng SGK Tin học 10 Cánh diều (Định hướng Tin học ứng dụng)
61 trang 254 0 0 -
101 trang 205 1 0
-
Cách gỡ bỏ hoàn toàn các add on trên Firefox
7 trang 197 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 193 0 0 -
20 trang 185 0 0
-
Giáo trình Mạng máy tính (Nghề: Tin học ứng dụng - Trung cấp) - Trường Cao đẳng Cộng đồng Đồng Tháp
189 trang 168 0 0 -
bảo mật mạng các phương thức giả mạo địa chỉ IP fake IP
13 trang 163 0 0 -
Giáo trình Tin học ứng dụng: Phần 1 - Trường ĐH Tài nguyên và Môi trường Hà Nội
125 trang 152 0 0 -
Bài giảng Tin học ứng dụng: Kiểm định trung bình - Trường ĐH Y dược Huế
25 trang 152 0 0 -
175 trang 136 0 0