Professional Documents
Culture Documents
Hướng dẫn lập trình màn hình HMI Beijer bằng phần mềm iX Developer
I. Cơ bản về C#.
Net
Managed Code
Garbage Collection
C#
.Net Framework:
Được xây dựng với nguồn tài nguyên thư viện khổng lồ hỗ trợ lập trình viên sử dụng
trong các ứng dụng. Giúp giảm tải các bài toán cơ bản của việc lập trình.
Sử dụng kỹ thuật lập trình hướng đối tượng (OOP-Object-Oriented Programming).
Common Type System (CTS):
Cấu trúc dạng dữ liệu.
Dùng chung cho các ngôn ngữ lập trình như C#, VB.Net, Managed C++, F#, J#
Common Language Runtime (CLR):
Hoạt động như một mã nền trong nền ứng dụng. Net
Managed Code:
Common Language Runtime (CLR) sẽ can thiệp vào hệ thống lõi bao gồm quản lý bộ
nhớ, xử lý bảo mật, cho phép gỡ rối, tích hợp đa ngôn ngữ…
Các ứng dụng không chạy dưới sự kiểm soát của CLR gọi là Unmanaged Code.
Garbage Collection
Tự động kiểm tra bộ nhớ máy tính và thực hiện xóa các dữ liệu không cần thiết khỏi bộ
nhớ.
Kiểm tra và quản lý bộ nhớ tránh mất mát hay phân mảnh.
Hoặc quản lý lịch sử hoạt động, có khả năng gọi và lấy lại các tập đã xóa trong bộ nhớ.
C# (C Sharp)
Được phát triển hoàn toàn cho .Net và nó là một dạng ngôn ngữ lập trình.
Ngôn ngữ duy nhất được hỗ trợ đầy đủ bởi CLR
Kế thừa di sản mạnh mẽ từ C / C ++ và triển khai ứng dụng trên nền đối tượng (OOP)
đẹp mắt của Java.
Sử dụng ngôn ngữ linh hoạt, các quy tắc rõ ràng về cách chuyển đổi dữ liệu từ loại này
sang loại khác.
Có thể viết những loại ứng dụng nào với C #?
Ứng dụng Windows
CÔNG TY TNHH THƯƠNG MẠI VÀ PHÁT TRIỂN CÔNG NGHỆ HÀNG HẢI
MARITIME TECHNOLOGY DEVELOPMENT AND TRADING COMPANY LIMITED
Ứng dụng web ASP.Net sử dụng “Code-Behind” có thể sử dụng cùng các thư viện lớp
như cho các ứng dụng Windows.
Các giải pháp phân tán, chương trình khách sử dụng các ứng dụng máy chủ….
Xây dựng các hàm, các thư viện ứng dụng khác trên nền .Net
Chạy ứng dụng có thể vào thư mục chứa tập tin *exe trong thư mục:
“WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug” Sau khi đã biên dịch
ứng dụng.
Kết quả chạy chương trình:Nhập tên vào trong ô textbox sau đó nhấp Click.
[1] Khai báo các thư viện sử dụng (thư viện được hỗ trợ trên nền .Net)
[2] Trường ứng dụng của project được khai báo
[3],[4] vùng chứa các lệnh, các sự kiện, các hàm…của dự án.
CÔNG TY TNHH THƯƠNG MẠI VÀ PHÁT TRIỂN CÔNG NGHỆ HÀNG HẢI
MARITIME TECHNOLOGY DEVELOPMENT AND TRADING COMPANY LIMITED
Note: Cách sử dụng khai báo biến (biến local, biến cục bộ, biến toàn cục), cách sử dụng các
hàm có sẵn trong C# đề nghị tham khảo thêm trong các tài liệu khác. Khi đã lắm chắc hãy
chuyển sang phần II.
1.2. Một số hàm cơ bản trong C#
Cấu trúc lệnh cơ bản trong C#
Using
Cú pháp:
using <tên thư viện>
Ý nghĩa: Dùng để chỉ cho trình biên dịch biết rằng những thư viện (thư viện là
một tập các phương thức, kiểu dữ liệu nào đó được tạo ra nhằm hỗ trợ cho việc
lập trình nhanh chóng hiệu quả hơn)
namespace
Cú pháp:
namespace <tên namespace>
{
// Các thành phần bên trong namespace bao gồm các lớp, enum, delegate hoặc các
// namespace con
}
Ý nghĩa: báo cho trình biên dịch biết rằng các thành phần bên trong khối { } ngay bên
dưới tên namespace thuộc vào chính namespace đó.
Class
Cú pháp:
class <Tên lớp> { }
Ý nghĩa: báo cho trình biên dịch biết rằng những thành phần trong khối { } ngay sau tên
lớp thuộc vào chính lớp đó
Hàm (Phương thức) Main
Đây là hàm được tạo sẵn khi tạo project với cấu trúc như sau:
CÔNG TY TNHH THƯƠNG MẠI VÀ PHÁT TRIỂN CÔNG NGHỆ HÀNG HẢI
MARITIME TECHNOLOGY DEVELOPMENT AND TRADING COMPANY LIMITED
Toán tử trong C#
Toán tử toán học
Giả sử biến a có giá trị là 10 biến b có giá trị là 9
Toán tử Mô tả Ví dụ
!= So sánh 2 toán hạng có bằng nhau hay không. Nếu không a != b sẽ trả về true
bằng thì trả về true nếu bằng thì trả về false
> So sánh 2 toán hạng bên trái có lớn hơn toán hạng bên a > b sẽ trả về true
phải hay không. Nếu lớn hơn thì trả về true nếu không
lớn hơn thì trả về false
< So sánh 2 toán hạng bên trái có nhỏ hơn toán hạng bên a < b sẽ trả về false
phải hay không. Nếu nhỏ hơn thì trả về true nếu không
nhỏ hơn thì trả về false
>= So sánh 2 toán hạng bên trái có lớn hơn hoặc bằng toán a >= b sẽ trả về true
hạng bên phải hay không. Nếu lớn hơn hoặc bằng thì trả
về true nếu nhỏ hơn thì trả về false
<= So sánh 2 toán hạng có nhỏ hơn hoặc bằng hay không. a <= b sẽ trả về false
Nếu nhỏ hơn hoặc bằng thì trả về true nếu lớn hơn thì
trả về false
Lưu ý:
1. Các toán tử quan hệ này chỉ áp dụng cho số hoặc ký tự.
2. Hai toán hạng hai bên phải cùng loại (cùng là số hoặc cùng là ký tự).
3. Bản chất của việc so sánh 2 ký tự với nhau là so sánh mã ASCII của các ký tự đó.
Ví dụ: so sánh ‘A’ và ‘B’ bản chất là so sánh số 65 với 66.
CÔNG TY TNHH THƯƠNG MẠI VÀ PHÁT TRIỂN CÔNG NGHỆ HÀNG HẢI
MARITIME TECHNOLOGY DEVELOPMENT AND TRADING COMPANY LIMITED
4. Không nên sử dụng các toán tử trên để so sánh các chuỗi với nhau vì bản chất việc so
sánh chuỗi là so sánh từng ký tự tương ứng với nhau mà so sánh ký tự là so sánh mã ASCII
của ký tự đó như vậy ký tự ‘K’ sẽ khác ký tự ‘k’. Để so sánh hai chuỗi người ta thường dùng
hàm so sánh chuỗi đã được hỗ trợ sẵn (sẽ tìm hiểu ở những bài tiếp theo).
Toán tử logic
Giả sử mệnh đề A là đúng và mệnh đề B là sai:
Toán tử Mô tả Ví dụ
&& Hay còn gọi là toán tử logic AND (và). Trả A && B kết quả là false
về true nếu tất cả toán hạng đều mang giá trị true.
Và trả về false nếu có ít nhất 1 toán hạng mang giá
trị false.
|| Hay còn gọi là toán tử logic OR (hoặc). Trả về true nếu A || B kết quả là true.
có ít nhất 1 toán hạng mang giá trị true. Và trả
về false nếu tất cả toán hạng đều mang giá trị false.
! Hay còn gọi là toán tử logic NOT (phủ định). Có chức !A kết quả là false
năng đảo ngược trạng thái logic của toán hạng. Nếu
toán hạng đang mang giá trị true thì kết quả sẽ
là false và ngược lại.
Lưu ý:
Các toán tử && và || có thể áp dụng đồng thời nhiều toán hạng, ví dụ như: A
&& B && C || D || K (Thứ tự thực hiện sẽ được trình bày ở phần sau).
Các toán hạng trong biểu thức chứa toán tử logic phải trả về true hoặc false.
= Gán giá trị của toán hạng bên K = 10 sẽ gán 10 cho biến K
phải cho toán hạng bên trái.
/= Lấy toán hạng bên trái chia lấy phần K /= 1 tương đương với K = K / 1
nguyên với toán hạng bên phải sau
đó gán kết quả lại cho toán hạng bên
trái.
CÔNG TY TNHH THƯƠNG MẠI VÀ PHÁT TRIỂN CÔNG NGHỆ HÀNG HẢI
MARITIME TECHNOLOGY DEVELOPMENT AND TRADING COMPANY LIMITED
& Sao chép bit 1 tới kết quả nếu nó tồn tại trong a&b sẽ cho kết quả là 1000
cả hai toán hạng tại vị trí tương ứng, ngược lại tương đương với số 8 trong hệ
thì bit kết quả bằng 0 thập phân
| Sao chép bit 1 tới kết quả nếu nó tồn tại ở một a|b sẽ cho kết quả 1011 tương
trong hai toán hạng tại vị trí tương ứng, ngược đương với số 11 trong hệ thập
lại thì bit kết quả bằng 0 phân
^ Sao chép bit 1 tới kết quả nếu nó chỉ tồn tại ở a^b sẽ cho kết quả 0011 tương
một toán hạng tại vị trí tương ứng, ngược lại thì đương với số 3 trong hệ thập
bit kết quả bằng 0 phân
~ Dùng để đảo bit 0 thành 1 và ngược lại 1 thành ~a sẽ cho kết quả 0101
0
<< Dịch trái n bit. Giá trị toán hạng bên trái sẽ a<<2 sẽ cho kết quả 101000
được dịch trái n bit với n được xác định bởi
toán hạng bên phải
>> Dịch phải n bit. Giá trị toán hạng bên trái sẽ a>>2 sẽ cho kết quả 0010
được dịch phải n bit với n được xác định bởi
toán hạng bên phải
Toán tử khác
Ngoài những toán tử đã giới thiệu ở trên chúng ta vẫn còn nhiều toán tử khác cũng hay sử
dụng:
Toán tử Mô tả Ví dụ
typeof( Trả về kiểu của một lớp (khái niệm về lớp sẽ được typeof(string) sẽ trả về System.String
) trình bày trong bài CLASS TRONG C#)
new Cấp phát vùng nhớ mới, áp dụng cho kiểu dữ liệu DateTime dt = new DateTime() (sẽ được trình bày chi
tham chiếu tiết trong STRUCT TRONG C#)
is Xác định đối tượng có phải là một kiểu cụ thể nào đó Sẽ được trình bày trong những bài sau
hay không. Nếu đúng sẽ trả về true ngược lại trả
về false
as Ép kiểu mà không gây ra lỗi. Nếu ép kiểu không thành Sẽ được trình bày chi tiết trong ÉP KIỂU TRONG C#
công sẽ trả về null
, Sử dụng toán tử “,” để kết nối nhiều biểu thức lại với (t = 5, 2) sẽ duyệt qua biểu thức 1 là t = 5, thực
nhau. hiện gán 5 cho t sau đó duyệt qua biểu thức 2 là 2,
Cú pháp: cuối cùng trả về giá trị là 2
(biểu thức 1, biểu thức 2)
Ý nghĩa: Duyệt qua biểu thức 1 sau đó duyệt
qua biểu thức 2 và trả về giá trị của biểu thức 2
?:
Thấp nhất ,
Ý nghĩa:
Nếu <Biểu thức điều kiện> trả về true thì thực hiện <Câu lệnh thực hiện> ngược lại thì không làm gì
cả.
Dạng đủ
Cú pháp:
If <Biểu thức điều kiện>
<Câu lệnh thực hiện 1>
else
<Câu lệnh thực hiện 2>
If, else là từ khóa bắt buộc.
<Biểu thức điều kiện> là biểu trức dạng boolean (trả về true hoặc false).
<Câu lệnh thực hiện 1> là câu lệnh muốn thực hiện nếu <Biểu thức điều kiện> là đúng.
<Câu lệnh thực hiện 2> là câu lệnh muốn thực hiện nếu <Biểu thức điều kiện> là sai.
Ý nghĩa:
Nếu <Biểu thức điều kiện> trả về true thì thực hiện <Câu lệnh thực hiện 1> ngược lại thì thực hiện
<Câu lệnh thực hiện 2>.
Các vòng lặp trong C#
Trong C# có nhiều cách để thực hiện vòng lặp. Chúng ta sẽ điểm qua tên của chúng:
Vòng lặp For
Vòng lặp While
Vòng lặp Do While
Vòng lặp Foreach
Vòng lặp goto
Vòng lặp không chính quy khác
CÔNG TY TNHH THƯƠNG MẠI VÀ PHÁT TRIỂN CÔNG NGHỆ HÀNG HẢI
MARITIME TECHNOLOGY DEVELOPMENT AND TRADING COMPANY LIMITED
Project Explorer: Khi một dự án mới được mở, một màn hình trống sẽ hoạt động trong
vùng này. Tab Project Explorer sẽ được ghim vào bên trái màn hình thiết kế.
Ribbon tabs: nằm phần trên cùng của cửa sổ công cụ. Ribbon tabs chứa một hoặc một
số nhóm điều khiển. Mỗi nhóm chứa một tập hợp các điều khiển có liên quan.
Quick Access toolbar: Thanh công cụ Truy nhập Nhanh luôn hiển thị ở đầu khu vực
màn hình. Nó chứa các lệnh Lưu (Save), Hoàn tác (Undo), Làm lại (Redo), Chạy và mô
phỏng chương trình (Run & Simulate).
MiniToolBar và ContextMenu: Khi nhấp chuột phải vào các đối tượng trong
MiniToolBar và ContextMenu của iXDeveloper các menu chức năng sẽ được hiển thị.
MiniToolBar chứa các lệnh dành riêng cho iX Developer, chẳng hạn như kết nối các đối
tượng với thẻ điều khiển. ContextMenu chứa các lệnh ứng dụng giống như của
Microsoft (Copy, Past…).
2.1.2 Thẻ điều khiển Tags
- Thêm Tags:
Các đối tượng liên kết với thẻ (Tags) có thể thay đổi giá trị trong bộ điều khiển và giá trị trong
Tags được thể hiện lên đối tượng (Objects) theo nhiều cách khác nhau. Các đối tượng trên màn
hình thiết kế được liên kết với các Tags khi đó các giá trị sẽ biến đổi mà Tags chứa đựng sẽ
được thể hiện trên các đối tượng tuỳ thuộc vào giá trị và thuộc tính giá trị lựa chọn.
Hình bên mô tả Function Tags trong Dự án:
+ Nhấp biểu tượng Tags trong Project Explorer
+ Các trường giá trị của Tag thể hiện như hình bên dưới. Bạn có thể đặt lại tên Tags,
chọn loại giá trị, dải và các thuộc tính khác để phù hợp với các yêu cầu cần dùng.