[C# Winform] Ôn tập lập trình dotNET 12/11/2016

Thảo luận trong 'Visual C#' bắt đầu bởi Trần Văn Cường, 11/10/16.

  1. Trần Văn Cường

    Trần Văn Cường I love CNTT Thành viên BQT Thành viên BQT

    Tham gia ngày:
    8/11/15
    Bài viết:
    3,693
    Đã được thích:
    43
    Điểm thành tích:
    48
    Giới tính:
    Nam
    Nghề nghiệp:
    Sinh Viên
    Nơi ở:
    Quảng Ninh thân yêu!
    Web:

    Tìm hiểu về lệnh Show và ShowDialog

    Show()
    khi phương thức này được gọi, form hiển thị và chương trình thực hiện tiếp các dòng lệnh tiếp theo.

    ShowDialog() khi gọi phương thức này chương trình sẽ ngưng thực hiện các đoạn lệnh tiếp theo cho đến khi form đóng lại.

    Kiểm tra 75 phút

    5 điểm : bài lập trình trên Winform

    - File và thư mục
    - Bài tập hiển thị thư mục ổ C
    - Viết chương trình Form - > VD:thiết kế Form bổ sung chức năng mở listtextbox có thể đổi màu, đổi kiểu chữ...
    - Xử lí Mảng 1 chiều

    5 điểm : Netframwork:

    + Kiến trúc
    + GC
    + IO, Data sử dụng như thế nào
    chứa những thành phần gì

    - Cú pháp : + If
    + For... , foreach..
    + While
    + While ->

    - Thuật toán xử lí :thuật tóa test chương trình
    VD: Nhập pass 8 kí tự làm như thế nào để phát hiện

    Kiến trúc Netframwork
    .NET gồm có hai phần: Framework và Integrated Development Environment (IDE).

    Framework cung cấp tất cả những gì cần thiết, căn bản. Chữ Framework có nghĩa là cái khung hay khung cảnh trong đó ta dùng những hạ tầng cơ sở theo một qui ước nhất định để công việc trôi chảy.

    IDE cung cấp một môi trường giúp ta triển khai dễ dàng, nhanh chóng hơn. Nếu không có IDE ta cũng có thể dùng Notepad và command line để triển khai nhưng nó chậm hơn và đòi hỏi lập trình viên phải thuộc nhiều thư viện lớp.

    Framework của .NET bao bọc hệ điều hành (OS) lại, khiến lập trình viên không phải quan tâm đến những việc liên hệ đến OS như thao tác với tập tin (file handling) và memory allocation (phân phát bộ nhớ). Nó cho ta mọi tầng lớp triển khai phần mềm từ việc trình bày (presentation) cho đến các bộ phận (components) và dữ liệu (data)


    on-tap-lap-trinh-dotnet.jpg

    Các thành phần của Microsoft .NET Framework​

    - Thư viện Common Language Runtime (CLR)

    Đã nhiều năm qua, các lập trình viên thường sử dụng các hàm thư viện runtime (gọi lúc thực thi), để hỗ trợ những thao tác xử lý của chương trình, như truy xuất file, thư mục, hoặc đặt ngày tháng hệ thống, thực hiện những thao tác tính toán số học, như tính giá trị sin của một góc vuông hoặc lấy căn bậc hai của một giá trị.

    Thư viện Runtime (bảng 1.1) gồm có hàng trăm tới hàng nghìn hàm giúp người lập trình xây dựng được rất nhiều loại chương trình. Trước đây, đa số các thư viện runtime phụ thuộc vào đặc tính ngôn ngữ, có nghĩa là những hàm thư viện thực hiện viết cho người lập trình Visual Basic thì không thể sử dụng được cho người lập trình C++.


    hinh-2.PNG
    Bảng 1.1. Các thành phần quan trọng của CLR.

    Common type system Hệ thống kiểu chung.
    Memory management Quản lý bộ nhớ
    Security machinisms
    Cơ chế an toàn.

    IL Compilers

    Trình biên dịch ngôn ngữ chung IL
    Metadata
    Hỗ trợ định nghĩa dữ liệu bằng siêu dữ kiện
    Lớp libraries Thư viện lớp.

    Môi trường .NET được xây dựng độc lập về ngôn ngữ đối với thư viện runtime, đó là thư viện thực thi ngôn ngữ chung Common Langugue Runtime (CLR) và thư viện lớp BCL (hỗ trợ hàng nghìn định nghĩa lớp).

    CLR là tâm điểm của .NET Framework. Đây là một hầm máy để chạy các tính nǎng của .NET. Trong .NET tất cả mọi ngôn ngữ lập trình đều được biên dịch ra Microsoft

    Intermediate Language (IL). Do bắt buộc mọi ngôn ngữ đều phải dùng cùng các loại kiểu dữ liệu (gọi là Common Type System hay hệ thống kiểu chung) nên CLR có thể kiểm soát mọi giao diện, gọi giữa các thành phần và cho phép các ngôn ngữ có thể tích hợp với nhau một cách thông suốt.

    Khi chạy một ứng dụng .NET, nó sẽ được biên dịch bằng một bộ biên dịch JIT

    (Just-In-Time có nghĩa là chỉ phần mã cần xử lý mới được biên dịch) rất hiệu nǎng ra mã máy để chạy. Điểm này giúp ứng dụng .NET chạy nhanh hơn mã thông dịch của Java trong Java Virtual Machine (máy ảo Java). Just-In-Time cũng có nghĩa là chỉ phần mã nào cần xử lý trong lúc ấy mới được biên dịch.

    Ngoài việc cung cấp và quản lý bộ nhớ, CLR còn xử lý công việc “gom rác”

    (garbage collection). Trước đây mỗi khi một DLL (thư viện liên kết động) được nạp vào bộ nhớ, hệ thống sẽ ghi nhận có bao nhiêu tác vụ dùng nó để khi tác vụ cuối cùng chấm dứt thì hệ thống giải phóng DLL này và trả lại phần bộ nhớ nó dùng trước đây cho hệ thống để dùng vào việc khác. Nếu chương trình cung cấp (allocate) bộ nhớ để sử dụng mà không nhớ giải phóng (dispose) thì đến một lúc nào đó bộ nhớ sẽ bị cạn và chúng ta sẽ phải khởi động lại hệ điều hành. Và bây giờ, .NET sử dụng một quá trình độc lập để xử lý việc gom rác. Tác động phụ ở đây là khi ta đã hủy (dispose) một đối tượng rồi, ta vẫn không biết chắc chắn chừng nào nó mới thực sự biến mất. Vì bộ phận gom rác là một quá trình ưu tiên mức thấp, chỉ khi nào bộ nhớ hệ thống gần cạn nó mới nâng cao độ ưu tiên lên. Ngoài gom rác, CLR còn thực hiện các chức nǎng khác như bảo mật. Các dịch vụ chung này đều được quản lý một cách tự động.

    Tóm lại, CLR cho phép việc phát triển các ứng dụng một cách dễ dàng hơn, cung cấp một môi trường thực thi an toàn và hiệu nǎng, hỗ trợ đa ngôn ngữ và đơn giản hoá việc triển khai và quản lý các ứng dụng.

    - Mã IL

    .NET cho phép các ngôn ngữ lập trình khác nhau có thể được biên dịch ra một ngôn ngữ trung gian, gọi là Microsoft Intermediate Language (MSIL) hay gọi tắt là

    Intermediate Language (IL), giống như p-code hay Java Byte-Code. Nếu trong Java ta cần Java Vitual Machine (JVM) thì ở đây ta cần CLR để chạy chương trình. Ðộc lập với phần cứng CPU, IL code chạy trong CLR đuợc nói là managed code. Tức là CLR lãnh trách nhiệm quan sát, không cho code thực hiện sai như nhảy đến một chỗ không tưởng, viết chồng lên bộ nhớ của người khác hay đi ngoài giới hạn của một mảng, …

    Khi biên dịch chương trình, trình biên dịch sẽ chuyển mã nguồn thành mã máy. Các chỉ thị này phụ thuộc vào từ loại CPU như Intel, Macintosh, Motorola…mã này được gọi là mã native.

    .NET không biên dịch chương trình ra mã máy như các file .exe thông thường; thay vào đó chương trình được biên dịch ra mã IL.

    Chương trình .exe của .NET phải chạy trên bộ khung của .NET Framework, có thể coi đây là máy ảo dùng diễn dịch mã IL thành mã native để các chương trình .NET thực thi.

    - Tìm hiểu .Net Base class

    Thư viện các lớp cơ sở .NET Framework cung cấp một tập các lớp (“APIs”), hướng đối tượng, có thứ bậc và có thể mở rộng và chúng được sử dụng bởi bất cứ ngôn ngữ lập trình nào. Như vậy, tất cả các ngôn ngữ từ Jscript cho tới C++ trở nên bình đẳng, và các nhà phát triển có thể tự do lựa chọn ngôn ngữ mà họ vẫn quen dùng.

    Tập các lớp, các kiểu giá trị và giao diện này được tổ chức bằng một hệ thống các Namespace. Một điều rất quan trọng là chúng ta không chỉ giới hạn ở các Namespace này. Ta có thể tự tạo ra Namespace và sử dụng chúng trong ứng dụng của mình hay cũng có thể sử dụng các Namespace của đối tác thứ ba đang có trên thị trường. Một ví dụ cho trường hợp này là Namespace System.Data.Oracle.

    .NET Framework được tạo bởi từ hàng trǎm lớp. Nhiều ứng dụng mà ta xây dựng trong .NET đang tận dụng các lớp này theo cách này hay cách khác. Vì số lượng các lớp là quá lớn, .NET Framework tổ chức các lớp này vào một cấu trúc lớp được gọi là một namespace. Có một số lượng lớn các namespace và chúng được tổ chức theo cách dễ hiểu và minh bạch. System là một Namespace cơ sở trong .NET Framework. Tất cả các Namespace được cung cấp trong .NET framework bắt đầu với Namespace cơ sở này. Ví dụ, những lớp phục vụ việc truy cập và thao tác dữ liệu được tìm thấy trong

    Namespace System.Data. Những ví dụ khác bao gồm System.IO, System.XML, System.Collections, System.Drawing và .v.v..

    Ví dụ 1.1: minh họa cách sử dụng Namespace trong C#.


    CODE:
    Select All
    using System;
    class 
    HelloWorld
    {
    public static 
    void Main()
    {
    Console.WriteLine ("Hello World !");
    }
    }

    + GC
    // Thu gom rác .NET Framework của quản lý cấp phát và giải phóng bộ nhớ cho ứng dụng của bạn. Mỗi khi bạn tạo ra một đối tượng mới, ngôn ngữ chung cấp phát bộ nhớ cho các đối tượng từ đống quản lý.Miễn là không gian địa chỉ có sẵn trong các đống quản lý, thời gian chạy tiếp tục phân bổ không gian cho các đối tượng mới. Tuy nhiên, bộ nhớ không phải là vô hạn. Cuối cùng các bộ thu rác phải thực hiện một bộ sưu tập để giải thoát cho một số bộ nhớ. động cơ tối ưu hóa việc thu gom rác sẽ xác định thời gian tốt nhất để thực hiện một bộ sưu tập, dựa trên sự phân bổ được thực hiện. Khi bộ gom rác thải thực hiện một bộ sưu tập, nó sẽ kiểm tra cho các đối tượng trong heap quản lý mà không còn được sử dụng bởi các ứng dụng và thực hiện các hoạt động cần thiết để lấy lại bộ nhớ của họ.

    Chủ đề liên quan

    hinh-3.PNG

    + IO, Data sử dụng như thế nào

    // - Cách sử dụng:

    using System.IO; hoặc định nghĩa trực tiếp
    - Nó chứa hầu hết các lớp, phương thức xử lý nhập xuất, đọc/ghi trên hệ thống File
    - Ví dụ:

    hinh-4.png

    + For... , foreach..
    Vòng lặp cho phép thực hiện lặp lại một nhóm phát biểu lệnh với số lần xác định hoặc cho đến khi một điều kiện nào đó được ước lượng là True.

    Tham khảo:

    ComboBox chọn ổ đĩa và hiển thị File/Folder ở ListView
    Mở 1 file word sau đó đổi màu, cỡ chữ của file
     

    Bình Luận Bằng Facebook

    data-href="https://cnttqn.com/threads/c-winform-on-tap-lap-trinh-dotnet-12-11-2016.2920.html"