Lập trình cho Smart Device (PPC) với .NET Framework

Microsoft cho ra đời cái gọi là .NET Framework đã làm thay đổi quá nhiều về cách thức lập trình, và tín đồ lập trình trên nền tảng .NET Framework ngày càng đông đảo (nhất là trên PC với mạng internet phát triển như bây giờ).http://phanmemdt.com/Developers/4508-Lap-trinh-cho-Smart-Device-PPC-voi-NET-Framework.html

Lập trình cho PPC – WM tưởng thế nào, dễ thế kia à!!!
Microsoft cho ra đời cái gọi là .NET Framework đã làm thay đổi quá nhiều về cách thức lập trình, và tín đồ lập trình trên nền tảng .NET Framework ngày càng đông đảo (nhất là trên PC với mạng internet phát triển như bây giờ). Hình như .NET Framework được công bố vào năm 2000 gì đó (cùng với ngôn ngữ lập trình C#) và đến bây giờ thì đã là Framework 3.5. Tương lai chắc trong khoảng 10 năm sắp tới C# và .NET Framework là số 1 (sau đó cái gì thay thế nó thì có chúa mới biết). Bạn sẽ thấy với .NET Framework việc lập trình trên máy tính và trên thiết bị Smart Device chẳng khác nhau mấy và bạn có thể cho PPC của mình làm bất cứ việc gì (miễn là có ý tưởng và có thời gian + đam mê Digital).

.NET Framework là cái gì?
Đó là một loại công nghệ phần mềm có hiệu lực vài vài hệ điều hành của Microsoft (cho PC và PPC và các thiết bị khác nữa – khéo sau này Tủ lạnh, Tivi … cũng cài .Net Framework). Nó gồm có một đống thư viện giúp cho các vấn đề liên quan tới lập trình, nó là một máy ảo (virtual machine) để chạy các chương trình viết từ ngôn ngữ lập trình hỗ trợ .NET, và nó có một đống công cụ cho việc cấu hình và xây dựng ứng dụng. .Net Framework là sáng tạo của Microsoft dành cho nền tảng Windows.
Thư viện cơ sở của Framework dành cho lập trình rất lớn (không học hết được đâu – cần gì thì học đấy thôi) gồm các thứ giúp lập trình như : giao diện, truy nhập dữ liệu (data access), kết nối cơ sở dữ liệu, ứng dụng WEB, thông tin, tính toán số …. Sử dụng thư viện nào là do người lập trình quyết định khi xây dựng ứng dụng.

Một phần mềm viết bằng .NET Framework sẽ chạy trong một môi trường phần mềm nó .NET Framework quản lý. Lằng nhằng quá, thôi nói ngắn gọn thế này nhé :
Một phần mềm viết bằng .NET Framework khi dịch không ra ngay dạng mã máy cho CPU làm việc như khi viết bằng C ngày xưa, mà nó sinh dã mã do .NET Framework quản lý. Lúc nào mình gọi phần mềm thì .NET Framework chạy trước tạo ra môi trường và dịch tiếp mã thành mã cho CPU chạy. Chắc là thế.
Do vậy bạn đếch cần biết là máy mình đang viết dùng CPU nào, cài Windows gì. Chỉ cần biết là nó phải cài .NET Framework là phần mềm của bạn chạy OK.

Chuẩn bị môi trường trên PC để lập trình PPC
(Tôi dang dùng PPC – O2 XDA IIs) nên viết theo cái thiết bị này nhé! Chắc là không có phần mềm nào giúp viết mã trực tiếp trên PPC, cứ phải viết mã trên PC rồi dịch ra đưa vào PPC chạy.
Tốt nhất kiếm đĩa cài bộ Visual Studio 2008 (tải ở đây này VS2008 http://msdn.microsoft.com/en-us/vstu…/aa700831.aspx, nó cho dùng thử một thời gian – muốn lâu dài vào Google mà tìm KKK kích hoạt) cài vào đầy đủ thế là mọi thứ để lập trình cho PPC OK rồi. Tất nhiên điện thoại của bạn cũng phải cài .Net framework rồi.
Khi lập trình, muốn chạy thử chương trình của mình thì có hai cách :
– Để VS2008 dịch và chạy trên một điện thoại ảo nó tạo ra.
– Kết nố đồng bộ dữ liệu và khi VS2008 dịch xong là điện thoại bạn tự động chay chương trình đó luôn.

Viết chương trình đầu tiên
Đầu tiên bạn viết một chương trình thế này nhé ICHTE – HOCLAPTRINH1
Khi chạy nó ra màn hình thế này :

Khi bạn bấm vào nút « DONG LAI » thi lên thông báo :

Tắt thông báo này nó thoát chương trình luôn
Các bước làm như sau :
1) Khởi động Visual Studio 2008 trên PC
2) Chọn File -> New -> Project…
3) Trong hộp thoại mới hiện ra mở rộng nút Visual C# (bạn sẽ lập trình theo ngôn ngữ C# – dễ thôi mà)
4) Chọn Smart Device
5) Trong mục Name: Đánh tên ứng dụng của mình định tạo ra. Tớ gõ PDAViet1
6) Rồi nhấn OK
7) Hộp thoại tiếp theo hiện ra bạn chọn bản WM cho máy và chọn phiên bản .NETFramework tương ứng. OK là bạn đã tạo ra một dự án lập trình PPC rồi đó.
Bây giờ khám phá một chút nhé:
VS2008 tạo ra dự án PDAViet1 với nhiều thành phần bạn sẽ tìm hiểu dần.
1) Đầu tiên vào View -> Solution Explore; có một cái cây hiện ra đó là cấu trúc ban đầu của dự an PDAViet1
2) Trong cây đó chú ý mục: Form1.CS đây là màn hình mặc định đầu tiên của chương trình. Hãy đổi tên Form1.CS thành một cái gì đó gợi nhớ hơn. Ví dụ VoCa.CS (bất cứ lúc nào muốn quan sát VoCa.CS hãy nháy kép vào VoCa.CS ở cái cây này nhớ)
3) Thêm dong “Chuong trinh dau tien” (ở đây tớ gõ tiếng việt không dâu còn bạn cứ vô tư dung Unicode tiếng việt có dầu điện thoại hiện thị chính xác luôn)
Gọi ToolBox bằng cách bấm Ctrl + Alt +X. Trong danh sách đó tìm đên Label rồi kéo nó (drag) vào vị trí thích hợp trên VoCa.CS [Design].
Sau đó kích phải chuột vào đối tượng Label vừa kéo ra đó, chọn Properties. Trong loạt mục Properties hiện ra để hiệu chỉnh Label, tìm đến mục Text bạn gõ “Chuong trinh dau tien .NET” vào chọn màu đỏ, font chữ gì đó tùy bạn. Rồi quay ra chỉnh nó trên VoCa.CS cho vừa mắt
4) Thêm nút bấm: Tiếp tục gọi ToolBox rồi tím đến Button kéo nó ra ở vị trí thích hợp. Vào hiệu chỉnh Properties của nó như trên và gõ vào “DONG CUA SO” ở dòng Text, chỉnh font, màu tùy bạn.
5) Xử lý khi ta bấm vào nút “DONG CUA SO”: Clich chuột phải vào đối tượng nút bấm và chọn Properties, trong Properties bấm vào nút Events ở phía trên.
Tìm đến mục Action; bấm kép chuột vào dòng trắng bên cạnh. VS2008 tự động tạo một hàm xử lý khi bấm vào đây. Đến đây bắt đầu viết mã cho nó nha.
Hàm này có dạng:
private void button1_Click(object sender, EventArgs e)
{
}
Bạn thêm đoạn mã để nó thanh như sau:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(“Tam biet PDAViet nhe”, “THONG BAO”);
Close();
}
Giải thích: Hàm Button1_Click xử lý thông điệp khi người sử dụng Click vào nút bấm (ở đây là button1).
MessageBox.Show(“Tam biet PDAViet nhe”, “THONG BAO”);
//Để hiện thị nội dung một thông báo. Khi thông báo đóng lại thì chạy tiếp đến Close();
Hàm Close(); đóng hộp thoại VoCa.CS (đồng nghĩa với thoát chương trình)

6) Dịch và chạy thử: Để chuyển chương trình trên chay đương ta tiến hành Dịch và chạy thử: Hãy nhấn Ctrl + F5. Đợi dịch xong (lúc này trong thư mục tạo dự án PADViet1 đã tạo ra một file dạng Padviet1.exe bạn copy nó vào PPC và chạy), nó hỏi bạn chạy thử ở đâu, chọn máy ảo hoặc nếu điện thoại đang ở chế độ đồng bộ thì chọn chạy trực tiếp trên thiết bị, nó tự chép ra thiết bị và chạy luôn.


Bạn có muốn biết mình có khả năng lập trình cho PPC không?

  • Biết chút ít về lập trình trong PC: bạn nên tìm hiểu sơ về một ngôn ngữ lập trình (hướng đối tượng càng tốt – lên đọc và C++ hoặc C#) để biết thế nào là biến, là hàm, là lớp thế là OK, cũng chẳng cần nghiền sâu làm gì cả, trừ khi định sống bằng nghề Programming!!!
  • Có sức khỏe (nghiện Programming rồi lọ mọ 1 -2 giờ sáng là chuyện bình thường).
  • Có đam mê (hầu như bạn không kiếm được Money khi bạn bắt đầu lập trình đâu).
  • Có ý tưởng và hiểu biết những thứ linh tinh (muốn con PPC của mình làm được những gì … hãy gạch đầu dòng ra, mỗi cái gạch đấy là một ý tưởng đấy, hoặc là quan sát xem thế giới xung quanh có gì mà liên hệ được với PPC khống, ví dụ: Đang cầm con O2 XDA hoành tráng đi với bồ, nàng lại rót vào tai “Máy anh to thế mà có tính được ngày em rụng đâu ?” – thế là có ý tưởng viết phần mềm tính ngày người yêu rụng rồi còn gì, tiếp theo lại phải hiểu cái ba chấm …. linh tinh đấy rồi ).

Nếu có được những điều trên sao bạn không thử chọc ngoáy PPC của mình đi!

Bài lập trình số 2

Ở bài này, bạn sẽ học cách lấy thông tin về con PPC của bạn nha (ví dụ xem nó đạng chạy hệ điều hành nào…), học cách tạo các menu lệnh, tạo và gọi một form mới và một số cái khác rất cơ bản liên về ngôn ngữ lập trình. Bạn sẽ viết một chương trình như sau (gọi là chương trình PDAViet)

Chương trình http://cid-b062c88f8d234f53.skydrive.live.com/self.aspx/Public/PADViet.exe
Mã nguồn http://cid-b062c88f8d234f53.skydrive.live.com/self.aspx/Public/PADViet.rar

Lý thuyết của bài 2:
1) Sử dụng hàm SystemParametersInfo Function

Do thằng SystemParametersInfo Function là một API (không cần biết API là gì) của Windows, nó lằm trong các file thư viện liên kết động của hệ thống ở đây là file coredll.dll lên để gọi được thằng này đầu tiên bạn phải có đoạn mã sau nạp hàm vào chương trình của bạn:
//—————————-

[DllImport(“coredll.dll”)]
privatestaticexternvoid SystemParametersInfo(uint whichParam, uint size, StringBuilder platformType, uint notUsed);

//—————————-
Trong đó [DllImport(“coredll.dll”)] là bảo .netframe load và sử dụng các hàm trong file hệ thống coredll.dll của Windows. Ở đây sử dụng hàm SystemParamersInfo.
Khai báo thể rồi sau này vô tư gọi nó ra.Hàm này chuyên lấy (cũng như thiết lập) thông tin về hệ thống. Có các tham số đó là:

whichParam:

Chỉ ra định lấy hay thiết lập thông tin nào của hệ điều hành. Có nhiều thứ lắm ở đây bạn sẽ lấy thông tin hệ thống nếu bạn cho nó giá trị là 257. Bạn định nghĩa cái này bằng tên cho dễ nhớ nha, thêm dòng mã sau:
privateconstuint SPI_GETPLATFORMTYPE = 257;
// Con nhiều thông số khác nữa ban tham khảo chi tiết ở file đính kèm này nha: // Số 257 xem trong file winuser.h trong thư mục C:\Program Files\Windows Mobile 5.0 SDK R2\

Lúc nào cần gọi hàm này để lấy thông tin về máy thì viết đoạn mã sau:
//—————————-
StringBuilder platformTypeString = newStringBuilder(255); //Cái này tạo một chỗ để chứa chữ dài 255 ký tự.
SystemParametersInfo(SPI_GETPLATFORMTYPE, (uint)platformTypeString.Capacity,platformTypeString, 0);
//—————————-
//(uint)platformTypeString.Capacity là cho nó biết platformTypeString mà sắp tới nó điền thông tin vào đó có đủ chỗ cho 255 ký tự. Lúc này xâu ký tự platformTypeString chứa thông tin về máy rồi đó. Nếu xâu này chứa “SmartPhone” thì thiết bị của bạn là SmartPhone (kiểm tra bằng lệnh tìm vị trí xâu ký tự đó SystemTypeString.IndexOf(“SmartPhone”) >= 0) , nếu xâu này chứa “PocketPC” thì thiết bị của bạn là Pocket PC, ngoài ra trên máy của bạn tồn tại file \Windows\Phone.dll thì thiết bị của bạn là điện thoại (PPC chưa chắc là phone mà) kiểm tra bằng hàm:
//—————————-
File.Exists(@”\Windows\Phone.dll”); // nếu trả về True là điện thoại
//—————————-
Để lấy phiên bản của hệ điều hành dùng lệnh: Environment.OSVersion.Version
Hoặc convert nó thẳng ra string dùng để sau này hiện thị lên màn bằng câu lệnh: Environment.OSVersion.Version.ToString();
//—————————-
Xem trong đoạn mã tải về nha.

2) Thực hành bài lập trình số 2(Hướng dẫn kỹ chút, bài sau nếu có Post thì coi như biết rồi)
Bạn hãy tạo ra một dự án lập trình cho PPC mới đặt tên là PADViet (xem lại bài 1).
Trong Solution Explore (ấn Ctrl +W, bỏ hết tay ra rồi lại nhấn S). Tìm đến Form1.CS đổi tên thành VoCa.CS.
Phải chuột vào VoCa.CS[Design], đổi mục Text từ Form1 thành PDA Programming (Pro không)!!!
Nhìn vào màn hình làm việc VoCa.CS[Design], phải chuột vào mainMenu1 và chọn Properties; Trong mục (Name) hãy đổi tên mainMenu1 thành menuPDAViet;
Đây là menu sẽ xuất hiện ở góc của điện thoại đấy. Giờ ta soạn thảo menu này nhé: Khi bạn Click chuột vào menuPAD Việt, nhìn lên trên có dòng Type Here, hãy bấm chuột vào đó và gõ vào dòng chữ Chọc vào đây. Rồi!!!

Lên dòng phía trên tiếp tục thay Type Here bằng Thông tin hệ thống. Enter.
Tiếp tục thêm các mục menu : Sử dụng control1, Sử dụng control2, Sử dụng control3 (Cái này làm sẵn để dùng cho bài lập trình 3, 4…).
Đặt lại tiên các mục menu cho dễ nhớ (mặc định VS2008) sinh ra tên các menu vừa rồi của bạn là menuItem1, menuItem2…., để dễ nhớ hơn hãy vào Properties của nó (vào Properties của cái gì cứ phải chuột vào nó là thấy sau này không nói đến phải chuột nữa). Thay (Name) cho nó: (Tớ đặt cho các mục tương ứng là menuSystemInfo, menuControl1, menuControl2, menuControl3).

Thêm môt menu nữa, Click vào góc phải (dưới) của Form PDA Programming (Mỗi cửa sổ mình tạo ra để làm việc gọi là Form nhé), Gõ thêm menu “Đóng em lại” và đặt tên em là menuExit.

Xong rồi, nháy hai phát vào Đóng em lại. Để VS2008 tạo một hàm khi câm bút thọc vào nút này, thọc vào đây là thoát chương trình. Bạn hay thêm lệnh Close(); vào trong hàm
menuExit_Click do VS2008 đẻ ra nhé (bạn cũng thử cho một thông điệp hiện lên trước khi thoát xem). Nó thành thế này:

//—————————-

privatevoid menuExit_Click(object sender, EventArgs e)
{
MessageBox.Show(“Có thấy khoái không?”, “Hỏi tí trước khi thoát”, MessageBoxButtons.YesNo,MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
Close();
}

//—————————-
// Nếu sốt ruột thì dịch và chạy thử xem. Còn không thì tiếp tục viết.

Bây giờ bạn sẽ tạo một Form mới để hiện thị thông tin của máy bạn:
Quay trở về VoCa.CS[Design], bạn nháy một phát vào Chọc vào đây , rồi nháy hai phát vào Thông tin hệ thống thế là có hàm menuSystemInfo_Click, hàm này để đó tí quay lại viết code cho nó.
Trên menu của VS2008, chọn Project, chọn Add Windows Form….
Trọng mục Name của hộp thoại hiện ra, đổi Form1.CS thành Thongtinhethong.CS rồi Click vào Add.
Lại vào Properties của Thongtinhethong.CS đổi mục Text có chữ Thongtinhethong thành Thông tin
Giờ trình bày cửa sổ Thông tin:
a) Gọi ToolBox (Ctrl + Alt +X) kéo Label vào form Thông tin, đổi Text của label1 thành Phiên bản hệ điều hành. Chỉnh nó cho vừa mắt.
b) Tiếp tục kéo Label nữa đặt phía dưới Phiên bản hệ điều hành. Đổi text của thằng này thành … (ba chấm), và (Name) thành OSversion.
c) Kéo Label tiếp theo đổi text thành Loại thiết bị.
d) Kéo Lable nữa, đổi text thành …., và (Name) thành nameDevice.
Trình bày dạng như hình này nha:

Giờ quay lại VoCa.CS[Design]. (chọn ở tab phía trên í).
Nháy hai phát vào menu: Thông tin hệ thống để vào hàm xử lý menu này.
Viết đoạn mã để gọi hộp thoại Thông tin ra. Thêm hai dòng mã để nó thành như sau
//—————————-

privatevoid menuSystemInfo_Click(object sender, EventArgs e)
{

Thongtinhethong thongtin = newThongtinhethong();
thongtin.ShowDialog();

}

//—————————-
Đến đây có thể dịch và chạy thử gọi hộp thoại đó ra như thế nào. Tất nhiên thông tin thì chưa biết gì!!!!
Chú ý: Nếu bạn làm được môt form nào đó rồi nếu form đó có tên là FormName thỉ để chạy form này bạn dùng cấu trúc lệnh:
FormName hopthoai = new FormName();
hopthoai.ShowDialog();

Bây giờ đến phần lấy thông tin của máy đây, cũng lằng nhằng ra phết:
Đầu tiên bạn tạo ra một lớp để chuyên lấy thông tin hệ thông: lớp đó có tên là NoiVeEm. Khai báo lớp đó như sau:
//—————————-

classNoiVeEm
{
}

//—————————-


Nhớ là mỗi dòng lệnh viết bằng C# kết thúc nó bằng dấu chấm phẩy (. Một cụm đoạn mã nào đó thường gom vào giữa hai dấu { …… }

Phát thứ nhất

Biến: là biến số (như toán cấp II, cấp III í, mở sách toán ra mà đọc). Lúc nó nhận giá trị này, lúc nó nhận giá trị kia. Tuy nhiên, trong lập trình cần biết thêm: biến là cái tên, cái tên này nó chỉ vào chỗ nào đó trong memory của máy, nó giữ chỗ trong memory để mình nhớ cái cần nhớ, lúc nào hết cần nhớ thì bảo với Soft của bạn thả mấy cái chỗ vừa chiếm trong memory ra để thằng khác dùng, việc này gọi là giải phóng bộ nhớ.

(Bộ nhớ là tài nguyên quan trọng của hệ thống, không sử dụng thì phải giải phóng ngay, nếu không giải phóng kịp thời sẽ nhanh chóng cạn kiệt tài nguyên thiên nhiên, và thế là không còn không khí để thở, và thế là Soft của bạn bị die, năng hơn thì làm Soft thằng khác die theo – Hình như bác Bill Gate làm cho mấy thằng lập trình nghiệp dư mới như mình yên tâm hơn khi bác thông báo là .netframe của bác í có cơ chế tự động dọn rác rưởi kiểu như là quyên giải phóng bộ nhớ,nên nếu bạn lỡ quyên cũng không sao – lập trình .net hay chưa , chả phải làm gì, ăn xong thằng khác đổ vỏ).

Cái cần nhớ là những dữ liệu. Ví dụ bạn cần lưu vào bộ nhớ để sau này dùng số huy chương vàng mà Olympic Việt nam dành được hôm nay; thì đầu tiên phải phải đặt tên, dành chỗ đề ghi thông tin này nha viết mã như sau: int32 sohuychuong – cái này gọi là khai báo bién; sohuychuong là tên của biến đấy. Còn cái int32 gọi là kiểu dữ liệu, int32 cho biết đấy là số nguyên (sau này đừng có mà bảo máy hôm này Việt Nam vừa dành 0.5 huy chương, 32 là 32 bít, nghĩa là bạn mỗi số nguyên chiếm 4byte bộ nhớ, nếu máy bạn có 128MB bộ nhớ bạn lại bảo nó dành chỗ cho anh ghi 40.000.000 số nguyên nhé, thì máy bạn nó ngoan ngoãn vâng lời ngay vì nó ngu lắm, nhưng lúc sau soft bạn die luôn – không đủ memory), như vậy kiểu dữ liệu quy định kích cỡ, tính chất, đặc tính… của dữ liệu rồi (không nhập nhằng được đâu). Lúc nào cần sử dụng biến, ví dụ VTC thông báo Việt Nam vừa dành 30 huy chương vàng, bạn vội vã bật Soft của bạn lên và bảo với nó sohuychuong là 30. Bạn làm điều đó bằng cách viết mã sohuychuong = 30; việc làm này gọi là gán giá trị cho biến, tiếp theo Soft của bản xử lý tính một hồi rồi lên thông báo: “Vậy là hôm nay Việt Nam dành được hơn hôm qua 15 huy chương vàng ông chủ ạ, ông lại tốn thêm 150,000 đô tài trợ rồi đấy“. Việc làm sao nó tính ra được hơn hôm qua 15 huy chương và lượng tiền tài trợ đấy là sử dụng các phép toán cộng trừ nhân chia số học (+-*/) ,rồi đạo hàm, tích phân, khai căn, logarit….(nhiều lắm, tìm hiểu sau – .net có hết – giờ chỉ cần biết là có phép cộng (huychuonghomnay = huychuongBuoiSang + huychuongBuoiChieu), tương tự phép trừ (-), nhân (*) và chia (/) còn dấu bằng là gán).

Tóm lại để khai báo một biến bạn dùng cú pháp đơn giản này trước: [kiểu dữ liệu] [tên biến];

Kiểu dữ liệu có một số thứ, hãy quan tâm mấy cái này: int32, int, int16, int64 (là số nguyên), floatdouble là số thực, string là kiểu xâu ký tự (nó là một lớp của .net, gọi tên theo khái niệm cũ), char là kiểu ký tự (một ký tự thôi í), bool là kiểu logic đúng/sai (True/False), ngoài ra còn có kiểu dữ liệu do bạn tự định nghĩa ra còn những cái vừa rồi và nguyên gốc.

Phát thứ hai

Giờ thì nói đến hàm, hàm là tập hợp nhiều lệnh để giải quyết một việc nào đó. Mình cứ dùng cấu trúc đơn giản nhất trước. Ví dụ bạn viết hàm là dùng một hàm để đoán ngày hôm đó đề về bao nhiêu, căn cứ vào mấy thông số: ngày_tháng_năm_đoán_đề, nhiệt_độ_dự_báo_thời_tiết_hà_nội
Bạn viết mã cho cái hàm đó như sau:
//—————————————————–

int DeRaDeMaO(DateTime ngaydoan, int nhietdo)
{
//Khai báo các biến đề làm nháp, biến này gọi là biến cục bộ (nội bộ) gì đó. Hàm này làm việc xong, biến cũng tiêu luôn. Ví dụ khai báo biến
int sode;
//Chỗ này bạn viết một đống lệnh để dự đoán đề, kể cả gọi hàm khác ….. để quyết định đề về bao nhiêu như:
sode = nhietdo + PhanTich(ngaydoan);
// PhanTich là một hàm khác mà bạn viết trước rồi đó, Nếu tính được đề rồi thì dùng lệnh
return sode;
//nghĩa là trả về giá trị cho hàm, mỗi hàm phải có một kiểu dữ liệu, ở đây là kiểu int.
//(đặc biệt nếu hàm làm gì đó mà không cần trả về kiểu dữ liệu thì dùng kiểu void)
}

//—————————————————–

DeRaDeMaO
là tên hàm, sau này ở chỗ nào cần gọi hàm này ra để tính chỉ cần viết lại tên hàm, và truyền tham số ngày tháng, và nhiệt độ cho nó. Ví dụ
sodehomnay = DeRaDeMaO(DateTime.Now, 42);
DateTime.Now là lấy ngày tháng hôm nay từ hệ thống của bạn (thư viện của .net).

Phát thứ 3

Tớ nói về lớp (classs), tất nhiên thật đơn giản (từ từ tìm hiểu dần, chẳng thằng nào đọc cái mà hiểu class là cái gì ngay đâu – để thực sự hiểu về class chắc phải đọc và thực hành đến vài chục trang tài liệu), đây là cốt lõi của lập trình hướng đối tượng đấy (Không có nó thì trên đời không có C++, C#). Lớp là một khái niệm trừu tượng (very trừu tượng), lớp nó mô tả cài gì đó chung chung, mô tả một giai cấp, tầng lớp, mô tả một loại đồ vật (chứ không phải một vật cụ thể),nói chung là về … về…cái chung chung…
Ví dụ một lớp mô tả các bà vợ nhé, bạn viết mã cho lớp đó như sau:

class CacBaVo
{

public int tuoi;
public string tenbavo;
public float vong1;
public float vong2;
public float vong3;
public bool DeBiThangHangXomDe() //Kiểm tra vui thôi
{
//……..viết lệnh gì đấy
}

public float DiemGoiCam() //10 điểm là cao nhất chẳng hạn.
{
//……..viết lệnh gì đấy
}
static int Tongsobavo;
}

Đấy, lớp là thế đấy. Bạn thấy lớp đó có phải là vợ bạn, là vợ tui đâu và cũng chẳng phải vợ thằng hàng xóm…, nó mô tả chung chung (về một giai cấp) là các bà vợ đấy chứ. Lớp thì có tên lớp rồi CacBaVo.
Những cái gì mà lớp làm được và diễn tả đều nằm trong hai dấu {} của lớp.

Nhìn vào trong lớp ta thây có các biến: tuoi, vong1, vong2, vong3 …. cái này gọi là thành viên dữ liệu của lớp.
Có các hàm (DiemGoiCam, DeBiThangHangXomDe) để làm gì đó dựa trên thành viên dữ liệu của lớp gọi nó là thành viên (member) hàm của lớp.

Nếu trước các biến có thêm chữ static thì đó là hàm, biến tĩnh (Tongsobavo). Hàm và biến tĩnh thì có dạng toàn cục, viết trong lớp cho dễ nhìn, dễ gọi, dễ quản lý chứ chẳng liên quan đếch gì đến lớp đó.

Biết thế thôi: còn các khái niệm liên quan đến lớp như protected, kế thừa, hàm tạo, hàm hủy, lăng nhăng gì nữa thì làm đến đâu học đến đó.Chứ đọc hết một lúc ngộ chữ, đọc xong mai cứ ngửa cổ lên nhìn trời chân thì đá ống bơ lại đổ tội cho ICHTE viết bài thâm độc.

Có lớp rồi, nếu không mang nó ra sử dụng cho một đối tượng cụ thể nào đó thì lớp đó viết ra làm gì nhỉ. Bạn muốn xem vợ thằng Nguyễn Văn A mà mình học cùng đại học thế nào nha: Viết đoạn mã sau.
CacBaVo vothangA = new CacBaVo(); // Bây giờ bạn có biến vothangA nó lưu trữ, đại diện cho vợ thằng A cụ thể chứ không phải là CacBaVo chung chung.
//Thiết lập, hoặc gọi hàm liên quan tới vothangA làm như sau.

vothangA.tuoi = 20;
vothangA.vong1 = 90;
vothangA.vong2 = 40;
vothangA.vong1 = 90;
vothangA.ten = “Vàng Thị Nở”;
diemgoicam =vothangA.DiemGoiCam();
–> Để truy cập vào dữ liệu của một đối tượng cụ thể bạn gõ tên đối tượng (vothangA) tiếp theo là dâu chấm . tiếp theo là tên biến, tên hàm.


Bạn có thể viết mã theo cách thủ công trên, tuy nhiên theo tui để thêm lớp NoiVeEm thì trong VS2008 vào Project, tiếp đó là Add Class…
Trong mục Name của hộp thoại hiện ra thay class1.cs thành NoiVeEm.cs rồi nhấn Add. VS2008 sinh ra cho bạn lớp NoiVeEm lồng trong một namespace của chương trình. Bạn chỉ cần viết mã cho nó:

namespace PADViet
{

class NoiVeEm
{

//Viết mã ở đây

}

}

Bạn hãy gõ vào các hàm lấy thông tin hệ thống (các hàm này đều là thành viên static, tức là hàm toàn cục – khi gọi nó không cần một đối tượng cụ thể vẫn gọi được, cứ gõ tên hàm phía sau NoiVeEm.). Toàn bộ NoiVeEm.CS có nội dung là: Chú ý là nhớ gõ mấy cái using lại, cái này gọi là sử dụng namespace dấy. Nếu không gõ thể thì các lệnh bị dài ra, khó quản lý. Ví dụ File.Exists(@”\Windows\Phone.dll”) thì File nó nằm trong namespce System.IO nếu không gõ using System.IO; trên đầu thì bạn phải viết đủ: System.IO.File.Exists(@”\Windows\Phone.dll”)

using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace PADViet
{

classNoiVeEm
{

//———————-load file, hàm từ thư viện
[DllImport(“coredll.dll”)]
private static extern void SystemParametersInfo(uint whichParam, uint size, StringBuilder platformType, uint notUsed);
private const uint SPI_GETPLATFORMTYPE = 257;
//———————-lấy xâu ký tự mô tả máy
static string DongChuMoTaEm()
{
StringBuilder platformTypeString = new StringBuilder(255);

SystemParametersInfo(SPI_GETPLATFORMTYPE, (uint)platformTypeString.Capacity, platformTypeString, 0);
return platformTypeString.ToString();

}

//———————-H…m kiểm tra xem c¢ phải l… SmartPhone kh“ng
publicstaticbool EmLaSmartPhone()
{

return (DongChuMoTaEm().IndexOf(“SmartPhone”) >= 0);

}
//———————-H…m kiểm tra xem c¢ phải l… Pocket PC kh“ng
publicstaticbool EmLaPocketPC()
{

return (DongChuMoTaEm().IndexOf(“PocketPC”) >= 0);

}
//———————-H…m kiểm tra xem có phải l… Phone không
publicstaticbool EmLaPhone()
{

returnFile.Exists(@”\Windows\Phone.dll”); ;

}

}

}

Từ Thongtinhethong.cs[Design] vào properties. Trong Properties bấm vào Events. Sau đó tìm đến mục Load, nháy hai phát vào bên cạnh để VS2008 sinh mã cho sự kiện này.
Nó đẻ ra hàm: Thongtinhethong_Load

Hàm này tự chạy cứ khi nào có sự kiện Load, tức là khi form Thông tin của bạn được mở ra thì nó chạy cái này. Mình chặn sự kiện này lại viết mã để cập nhật nội dung cho ba chấm (…) trên form.
Giờ biến đổi hàm privatevoid Thongtinhethong_Load(object sender, EventArgs e)
Bằng cách viết Code vào cho nó như dưới:
private void Thongtinhethong_Load(object sender, EventArgs e)
{

if (NoiVeEm.EmLaSmartPhone())
{

Xem nhiều nhất
Các bài khác
Cài đặt Android SDK

Cài đặt Android SDK
How to Install the Android SDK on Windows XP and Create an Application that Runs in the Android Emulator This tutorial shows you how to download and install Android SDK to get you started developing Android applications.

Hướng Dẫn Bung và Đóng Gói File Sis Bằng SisWare

Hướng Dẫn Bung và Đóng Gói File Sis Bằng SisWare
Từ giao diện của chương trình chọn File ->Open Session …

Chương trình Android đầu tiên: Giải phương trình bậc 2

Chương trình Android đầu tiên: Giải phương trình bậc 2
Cách đây ít ngày, Google đã đưa ra bộ công cụ phát triển phần mềm cho Android (Android SDK), một nền tảng mới cho các dòng máy di động. Android là một nền tảng hoàn chỉnh dựa trên hệ điều hành Linux (kernel 2.6), các ứng dụng chạy trên máy ảo Java – phiên bản được thiết kế cho các dòng máy di động có tên Dalvik.

Hướng Dẫn Bung và Đóng Gói File Sis Bằng SisContent

Hướng Dẫn Bung và Đóng Gói File Sis Bằng SisContent
SisContent đơn giản nhỏ gọn nhưng làm việc hiệu quả hơn SisWare trong tiến trình đóng gói và rất dễ sử dụng.Chạy chương trình chọn File -> Open file.. rồi chọn file sis mà bạn muốn bung ra …

Lập trình .net cho symbian (visual basic.net hoặc C#)

Lập trình .net cho symbian (visual basic.net hoặc C#)
Các phần mềm cần có: – Visual studio 2005 hoặc mới hơn (cái này các bạn tự tìm nhé) – Net60 Link down:

Lập trình cho Smart Device (PPC) với .NET Framework

Lập trình cho Smart Device (PPC) với .NET Framework
Microsoft cho ra đời cái gọi là .NET Framework đã làm thay đổi quá nhiều về cách thức lập trình, và tín đồ lập trình trên nền tảng .NET Framework ngày càng đông đảo (nhất là trên PC với mạng internet phát triển như bây giờ).

Viết 1 ứng dụng cơ bản nhất cho BlackBerry

Viết 1 ứng dụng cơ bản nhất cho BlackBerry
Sau đây là từng bước cơ bản nhất để viết 1 chương tinh cho BlackBerry 1 cách cơ bản nhất. Bằng cách dựa trên bộ sample kèm theo BlackBerry JDE. Trước hết hãy làm theo các bước sau để có 1 chương trình chạy được cho dòng mày của mình.

Lập trình .net cho symbian (visual basic.net hoặc C#)

Lập trình .net cho symbian (visual basic.net hoặc C#)
Các phần mềm cần có: – Visual studio 2005 hoặc mới hơn (cái này các bạn tự tìm nhé) – Net60 Link down:

Cài đặt Android SDK

Cài đặt Android SDK
How to Install the Android SDK on Windows XP and Create an Application that Runs in the Android Emulator This tutorial shows you how to download and install Android SDK to get you started developing Android applications.

Samsung phát hành Bada SDK

Samsung phát hành Bada SDK

Mặc dù chưa chính thức có mặt trên thị trường nhưng có lẽ Samsung đang mong muốn chuẩn bị tốt nhất mọi thứ có thể cho sự xuất hiện của hệ điều hành Bada nói chung và các thiết bị sử dụng nó nói riêng khi mà thứ sáu qua, họ đã chính thức cung cấp bộ công cụ phát triển ứng dụng cho Bada.

Hướng Dẫn Bung và Đóng Gói File Sis Bằng SisWare

Hướng Dẫn Bung và Đóng Gói File Sis Bằng SisWare
Từ giao diện của chương trình chọn File ->Open Session …

Lập trình cho Smart Device (PPC) với .NET Framework

Lập trình cho Smart Device (PPC) với .NET Framework
Microsoft cho ra đời cái gọi là .NET Framework đã làm thay đổi quá nhiều về cách thức lập trình, và tín đồ lập trình trên nền tảng .NET Framework ngày càng đông đảo (nhất là trên PC với mạng internet phát triển như bây giờ).

iPhone SDK 3.2 – Sẵn sàng viết ứng dụng cho iPad

iPhone SDK 3.2 – Sẵn sàng viết ứng dụng cho iPad
Cùng ngày với sự kiện iPad, Apple cũng cho ra đời phiên bản tiếp theo của bộ công cụ phát triển phần mềm cho iPhone, iPhone SDK 3.2. Điểm nhấn ở phiên bản này là bộ tài nguyên dành phát triển phần mềm cho iPad.

Hướng Dẫn Bung và Đóng Gói File Sis Bằng SisContent

Về vdhungbg
Tin tuc cap nhat - moi luc - moi noi

Gửi phản hồi

Please log in using one of these methods to post your comment:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: