1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Lập trình mạng nâng cao hướng.NET (Nghề Lập trình máy tính): Phần 2 - Tổng cục dạy nghề

157 51 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 157
Dung lượng 2,59 MB

Nội dung

(NB) Nối tiếp phần 1, phần 2 của Giáo trình Lập trình mạng nâng cao hướng.NET (Nghề Lập trình máy tính) sẽ cung cấp cho bạn những kiến thức về những chức năng mới trong giao diện cửa sổ của VB.NET, data grid, xây dựng trang asp.net và dùng ASP.NET objects với VB.NET. Mời các bạn tham khảo!

Bài NHỮNG CHỨC NĂNG MỚI TRONG GIAO DIỆN CỬA SỔ CỦA VB.NET MÃ BÀI: ITPRG23.3 Mục tiêu thực hiện: - Nắm đặc điểm Windows Forms - Xây dựng kiến trúc Windows Forms - Viết code công cụ Toolbox Trang 87 Nội dung: Sự quan trọng Windows Forms ? Những điểm Windows Forms ? Kiến trúc (Architecture) Windows Forms ? Những Controls tàn hình chứa riêng Chọn Startup Form Owned Forms (Forms có chủ) Khơng phải controls bị khoá (locked) Độ đậm (Opacity) Form Form properties cho Cancel Button Default Button Sự khác biệt Hộp Giao Thoại (Dialog Boxes) ShowDialog thay Show vbModal DialogResult Sự khác biệt đặt vị trí cho Forms Controls Property Location Property Size ReSize nhiều controls Tab Order Controls Control Arrays Tự động Resize định chỗ (positioning) Anchoring (bỏ neo) Docking (gắn vào) Control Splitter Các control Providers Controls HelpProvider ToolTip Control ErrorProvider Menus Context Menus Sửa đổi Menus lúc Runtime Duplicating Menus MDI Forms Toolbars Items collection of Strings Items Array of Objects ComboBox Trang 88 Sự quan trọng Windows Forms ? Windows Forms cách hiển thị ảnh tối tân Win32 bình thường Kỹ thuật nằm phía sau Windows Forms trước phát triển cho Windows Foundation Classes (WFC), để dùng Visual J++ Điều nầy cắt nghĩa già dặn vững chải sản phẩm cịn tình trạng Beta Khi ta nghe nói đến NET với hứa hẹn ứng dụng Internet Web Forms Web Services, dễ cho ta tưởng Microsoft phải cung cấp Windows Forms cực chẳng cho trọn vẹn hàng Thật ra, Windows Forms phần base classes NET Framework Cái Namespace dùng cho System.Windows.Forms, Namespace chứa nhiều thứ đến đổi không cần phải dùng trực tiếp Windows API đồ hoạ (Graphics Drawings) VB6 Nhu cầu có áp dụng phía khách (client-based application) phong phú (rich), linh động (flexible) nhanh chóng (responsive) cịn Hiện nay, để tránh phí tổn cài đặt (deployment) chương trình, người ta bắt đầu có khuynh hướng đặt chương trình chạy Webserver, cho user sử dụng chúng qua WebBrowser Ngồi cơng chúng dùng Internet, hãng xưởng dùng Intranet (Intranet Internet chạy Local Area Network mạng địa phương, khơng liên lạc với bên ngồi), nhiên giao diện Web khơng phong phú hay nhanh desktop dĩ nhiên công tác lập trình địi hỏi thời gian phát triển lâu Vì NET Framework chứa đầy đủ thư viện cần thiết cho chương trình, nên cài đặt NET Framework máy khách ta cần XCopy đến folders cần thiết có chứa tệp (files) chương trình kiện đủ Thực việc nầy mạng địa phương (Local Area Network) dễ nhanh, chí ta tự động hóa cơng tác copy nầy Trong mơ hình lập trình nhiều tầng (multi-tier programming model) mà ta gọi Windows DNA (Distributed Network Application), trình xử lý công tác chia làm nhiều giai đoạn như: Kiểm chứng số user điền vào forms máy khách (user interface) Tính tốn (business logic) Truy cập sở liệu (database access) Và giai đoạn nói nằm computer khác Nếu dùng Internet giai đoạn nói chạy WebBrowser trang Web có chứa JavaScript routines để kiểm chứng số user đánh vào Còn giai đoạn chạy WebServer Dĩ nhiên giai đoạn phải chạy WebServer, nơi chứa sở kiện .NET cho phép ta lập trình giai đoạn để chạy Windows Forms Cịn giai đoạn để y nguyên Như thế, giả dụ ta có hệ thống đặt hàng, ta cho telephone operators dùng desktop (Winforms) application với giao diện tối ưu hóa, chạy thật nhanh để phục vụ người đặt hàng điện thoại Trong khách hàng đặt hàng qua Internet WebBrowser bình thường Cả hai nhóm users nầy dù có giao diện khác xài chung tầng business logic database access Trang 89 Đây ưu điểm quan trọng NET mà ý Nếu thiết kế khéo, ta lập trình để dùng chung hầu hết phần mềm desktop, distributed (phân tán), Internet Mobile (Mobile phone, Pocket-PC) Những điểm Windows Forms ? Trong học thí dụ trước ta nói qua, ta tóm tắc điểm Windows Forms:  Một Windows Form thật class Trong NET khơng có từ đặc biệt "form module" để dùng cho  Vì form class nên ta khơng thể load mà khơng nói thẳng thừng Tức VB6 ta Show hay dùng đến Form tự động loaded Chẳng thôi, class Form2 dùng variable Form2 luôn, tức by default ta có Object tên Form2 Trong NET ta phải khai báo (declare) variable tên myForm2 chẳng hạn instantiate form Object Form2 trước dùng  Tất form thừa kế từ class System.Windows.Forms.Form  Giống tất classes NET Framework, Windows Forms có constructors destructors Constructor form tên Sub New, đại khái giống Sub Form_Load VB6 Destructor form tên Sub Dispose, đại khái giống Sub Form_Unload VB6  Cái visual forms designer VS.NET nhét nhiều code để instantiate form đặt controls vào form Đó code mà ta phải tự viết ta dùng notepad để lập trình Phần code nầy thay phần nằm đầu tệp frm VB6 để diễn tả visual components form Mỗi lần ta thêm bớt controls hay thay properties controls form code generated cho form thay đổi theo Do bạn nên tránh sửa đổi code ấy, trừ biết làm gì, bạn làm phiên trước thay đổi để lỡ kẹt restore code cũ  Event xử lý cách linh động Các events chứa nhiều tin tức Một Event xử lý nhiều controls lúc control có cách xử lý khác Ngược lại, nhiều Events khác xử lý Event Handler Bạn tạo chương trình Windows Forms cách dùng IDE menu command File | New | Project để hiển thị giao thoại New Project chọn Template Windows Application Trang 90 hình 4.1 : giao thoại New Project Trong thí dụ nầy, bạn click nút OK subfolder tên (Name:) WindowsApplication4 tạo folder (Location:) E:\NET\HongDevelopment\LessonPreparation để chứa tệp Project Sau nầy, bạn build, tức compile chương trình, kết tệp exe chứa folder E:\NET\HongDevelopment\LessonPreparation\WindowsApplication4\bin Dĩ nhiên trước click nút OK bạn sửa Name: hay Location: tùy ý Ngồi ra, bạn chọn Windows Application, nên project bạn tự động có reference đến NET component System.Windows.Forms.dll Để xem lướt qua namespace System.Windows.Forms, bạn thử xúc tiến tạo project WindowApplication4 nầy Kế bạn chạy Object Browser cách click hình tam giác nhỏ Class View icon chọn Object Browser: hình 4.2 : lựa chọn Object Browser Trang 91 Trong Object Browser, expand System.Windows.Forms tree để xem types định nghĩa bên class members Form: hình 4.3 : Trong Object Browser Kiến trúc (Architecture) Windows Forms ? Nếu bạn xem gia phả form, bạn thấy tổ phụ (đời thứ nhất) class Object, cịn form cháu đời thứ bảy Dưới gia phả form thích: Thứ bậc classes Chú thích Object Ơng tổ NET, superclass cao từ sanh cháu     MarshalByRefObject Cung cấp code cần thiết để quản lý đời objects         Component Cung cấp gầy dựng IComponent interface cho phép chương trình khác dùng chung object Trang 92             Control Đây base class component dùng để hiển thị Nó hỗ trợ khả liên hệ đến vóc dáng công tác hiển thị từ Show, BringtoFront, Font, Color Dock, Anchor Ngồi cịn cung cấp Events keyboard, mouse có method WndProc ta truy cập thông điệp Windows                 ScrollableControl Cung cấp chức tự động có chứa bên control cần thêm chỗ để hiển thị                     ContainerControl Cho phép component chứa controls khác                         Form Cửa sổ chương trình Những Controls tàn hình chứa riêng Một thay đổi tốt NET từ VB6 controls không hiển thị lúc chạy thiết kế chúng chứa mâm riêng phía Thí dụ hình ta có Timer, Tooltip, Menus Dialogs cho nằm component Tray Hình 4.5 : giao diện trang Muốn thay đổi properties Control nào, ta cần chọn right click chọn Properties Trang 93 Chọn Startup Form Để định StartUp Form chương trình, bạn cần phải mở cửa sổ Properties Project để đánh vào Startup Object Bạn làm điều cách dùng IDE menu command Project | Properties hay right click tên Project Solution Explorer chọn Properties hình 4.6 : định StartUp Form chương trình Vị trí ban đầu Nhiều lúc ta muốn form ảnh chương trình khởi động VB.NET làm việc tự động bạn set property StartPosition thành CenterScreen Các vị trí khởi đầu bạn set liệt kê đây: Trị số Vị trí khởi đầu Kết Manual Hiển thị form vị trí theo giá trị property Location form CenterScreen Hiển thị form ảnh CenterParent Hiển thị form form chủ (owner) WindowsDefaultLocation Hiển thị form vị trí default cửa sổ WindowsDefaultBounds Hiển thị form vị trí default cửa sổ, với kích thước default cửa sổ Trang 94 Owned Forms (Forms có chủ) Khi form có chủ, minimized closed theo form chủ Owned forms, đơi cịn gọi forms nô lệ, luôn nằm lên form chủ Dầu vậy, khơng cản trở form chủ nhận focus Ta dùng method AddOwnedForm form chủ thêm owned form vào collection of OwnedForms sau: Private Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim myForm2 As New Form2() myForm2.Show() Me.AddOwnedForm(myForm2) End Sub Form chủ truy cập collection forms nô lệ qua property OwnedForms Dưới code để loop qua forms nô lệ form: Private Sub BtnListOwnedForms_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnListOwnedForms.Click Dim OwnedForm As Form For Each OwnedForm In Me.OwnedForms Console.Write(OwnedForm.Text) Next End Sub Form chủ cắt bỏ (remove) form nơ lệ cách dùng method RemoveOwnedForm như: Me.RemoveOwnedForm(myForm2) Khi form khơng cịn nơ lệ nữa, khơng hẳn bị unloaded, trở thành form tự (không cịn liên hệ với form chủ nữa) thơi Chú ý khác biệt form nô lệ TopMost form form nơ lệ nằm form chủ nó, TopMost form nằm tất forms khác TopMost form không bị minimized hay closed form khác chương trình bị minimized hay closed Trang 95 Độ đậm (Opacity) Form Có property form thú vị để dùng, ích lợi hay mục đích áp dụng khơng rõ ràng Đó ta thay đổi độ đậm form Ta làm cho suốt set property Opacity form 0, hay cho mờ mờ ma trị số Opacity Bạn thử đánh code vào form cho Button1 chẳng hạn, chạy chương trình click Button1 ấy: Private Sub Button1_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Double For i = To Step 0.01 ' Opacity có trị số từ (trong suốt) đến (đậm đặt) Me.Opacity = i Next End Sub Form properties cho Cancel Button Default Button Trong VB6, ta set button để clicked thật user bấm phím Esc Ta thực điều nầy cách set property Cancel button thành True Nó gọi Cancel button Tương tự thế, ta set property Default button thành True, gọi Default button, user bấm phím Enter Default button coi clicked Trong VB.NET ta dùng chức ấy, ta không đá động đến property buttons, mà lại set properties CancelButton AcceptButton form Khi ta click bên phải property AcceptButton cửa sổ Properties danh sách buttons có sẵn form liệt kê để ta chọn đây: Trang 96 .NET Framework phác thảo số với tham vọng bao trùm đủ thứ không quên nâng đỡ 'bạn xưa' nên nguồn mã 'cũ kỷ' ta yểm trợ Không mà Microsoft lắng nghe nguyện vọng Kỹ Sư Tin Học hay ta việc kế hoạch phác thảo cấu trúc NET qua đem lại nhiều lợi ích thiết thực cho người lập trình hay phát triển tạo vận hội phát triển Cơng Nghệ Tin Học Việc tường trình NET Framework làm ta nhớ lại xuất Linux trước Nhìn lại 10 năm vừa qua, Linus Torvalds (cha đẻ Linux) chán nãn với giới hạn khuyết điểm Unix mà viết lại Operating System từ số thay cố gắng sửa đổi hay vá víu Việc làm lại từ đầy với mục đích theo kịp địi hỏi, khơng muốn nói vạch hướng cho tương lai Tin Học Nếu ta ví phổ thơng tiếng Windows với Microsoft (Bill Gates) phái Thiếu Lâm Linux 'Thái Cực Quyền' phái Võ Ðang với Trương Tam Phong (Linus Torvalds) chiếm 0.25% thị trường desktop giới (trích Next Handbooks - Operating in Linux by Paul Robinson and Dan Corkery - 2002) góp phần làm cho Cơng Nghệ Thơng Tin thêm phần đặc sắc muôn màu muôn vẻ Mỗi system có hay dỡ khác khó lòng so sánh tỷ Linux 'free OS' (và Open Source) ràng buộc GPL (GNU Public Licence by Richard Stallman) gần lại chia thành nhiều phe nhóm - Nam Tơng (United Linux) gồm có SuSe, Caldera, Connectiva and Turbo Linux, Bắc Tông (Unbreakable Linux) với Red Hat, Oracle, nên đủ thứ phiên Linux khác làm ta 'ngất ngư' chẳng biết theo ai, Windows (Close Source) với NET Framework hùng mạnh lại 'tốn tiền', có nhiều ứng dụng 'free' tỷ Web Matrix 'cho khơng biếu khơng' tốt cho cộng đồng NET biết Tuy nhiên, diễn đàn để 'Hoa Sơn Luận Kiếm' Windows, Linux MAC OS nên ta gác lại để bàn NET Framework lợi ích Thật sự, có hay hoa đẹp, quý vườn Tin Học mà ta luôn trân trọng - tất sản phẩm trí óc tuyệt vời người, bạn có khã thời học nhiều tốt  Lợi ích NET Framework Ở đây, ta không kể xiết hay đào sâu chi tiết lợi ích NET Framework mà tóm lược vài điểm yếu sau:  Mọi chuyện 'trên trời đất' mà ta muốn thực Windows, tỷ data access, windowing, nối mạng hay công dụng đa dạng Win32 API (Application Programming Interface) vận dụng dễ dàng qua kiểu mẫu đối tượng (objects) đơn giản (simple object model)  Ngơn ngữ lập trình VB.NET đại hóa, bao gồm nhiều classes đặc trưng (features) ngơn ngữ lập trình kiểu OOP, khơng thua C++, J++ hay C#,  Việc quản lý memory nâng cấp tinh vi nhằm bảo đảm ứng dụng bị té hay cư xử tệ bạt (badly behaved component or application) khơng ảnh hưỡng đến ứng dụng khác  ASP.NET dùng để thay ASP, đồng thời cung cấp trang Web biên dịch giúp tiến trình xử lý yêu cầu từ Client browser hiệu Hơn nữa, bao gồm nhiều thành phần soạn sẵn (pre-written components) gọi Server Control dùng HTML Form giao diện (user interface) làm việc phát triển mạng thêm dễ dàng đầy hứng thú Trang 229  Các ngơn ngữ lập trình phác thảo để làm việc gần hơn, nguồn mã VB.NET, C++, C#, sử dụng trộn lẫn với thoải mái, tỷ ta viết mã cho class với VB.NET kế thừa class khác mà mã C# hay C++, sau 'debug' ngon lành ngơn ngữ lập trình khác  Thành phần (components) gói kỹ đơn vị gọi assembly tự xác minh lý lịch cơng dụng làm việc bố trí hay triển khai dễ dàng Phương pháp làm việc NET Framework  Ðiều kỳ thú cấu trúc NET Framework nguồn mã VB.NET hay C# không biên dịch thành mã thi hành gốc (native executable code) mà lại qua trung gian ngôn ngữ khác gọi IL (Intermediate Language) trước chạy thật Nguồn mã biên dịch thành IL cịn gọi managed code, điều khiến cho ngơn ngữ lập trình NET hoạt động (hay tác động) qua lại (hổ tương - interoperation) với nhau, cho phép ta vận dụng đặc trưng NET mà không cần phải viết lại nguồn mã dùng ngơn ngữ lập trình khác Ngun tắc IL tương tự Java, khác chổ Java cross-platform independence NET cross-language independence Cũng cần phải nhắc đây, Microsoft mở rộng vòng tay cho việc phát triển NET (platform) khác tương lai XXIII Sơ Lược VB.NET VB.NET dùng để tạo trang Web đầy động với tất khả ASP.NET (hay NET Framework) Ở đây, ta tìm hiểu tổng quát cú pháp, cấu trúc phương pháp lập trình với VB.NET có liên hệ nhiều đến trang ASP.NET hy vọng gặt hái vài khái niệm để việc lập trình xng Phần này, ta sơ lược qua vần đề sau:  Ðại khái VB.NET  Variables Arrays  Operators  Các điều kiện (conditional), looping branching logic  Functions Subroutines  Event Handler  Classes  Vài ứng dụng ích lợi thường dùng a) Arrays Arrays tập hợp biến số liên hệ riêng biệt qua số (index) Arrays Nhớ Arrays dùng VB.NET bắt đầu với index số - nghĩa hàng (item) lưu trữ index 0, từ đó, suy số (index) hàng sau tổng số hàng trừ Mọi biến số Array phải loại kiện (same data type), trộn lẫn nhiều loại khác Array tuyên bố (declare) thí dụ sau đây: Trang 230 'Tuyên bố array gồm phần tử (hay thành phần - elements) thuộc loại Integer Dim myArray(9) As Integer 'Tuyên bố array gồm 12 phần tử với giá trị mặc định (default) thuộc loại String Dim yourArray( ) As String = { "Tý", "Sữu", "Dần", "Mão", "Thìn", Tỵ", _                                              "Ngọ", "Mùi", "Thân", "Dậu", "Tuất", "Hợi" }  Operators (Ký hiệu Toán) Operators ký hiệu dùng để thi hành cơng việc thuộc phạm vi Tốn Học, tỷ dấu = dùng để ấn định (assign) giá trị chẳng hạn như: strSkills = "Thái Cực Quyền" Ðể dễ dàng việc vận dụng dấu Toán Học này, say bảng liệt kê: Công dụng (Function) Operators (Các dấu Toán Học)  Exponentiation  ^  Unary negation (tỷ -9)   +, -  Multiplication, division  *, \  Division by (tỷ 6/2 = 3)  /  Modulus (tỷ Mod = 2)  Mod  Addition, Substraction  +, -  Bitwise NOT, AND, OR XOR  BitNot, BitAnd, BitOr, BitXor  Concatenation (for string)  &, +  Equal to, not equal to, less than, greater than  =, ,  Less than or equal to, greater than or equal to  =  Relational  TypeOf Is, Is, Like  Assigment  =, ^=, *=, /=, =, +=, -=, &=  Logical NOT, AND, OR XOR  NOT, AND, OR, XOR Vài VB.NET Function tiện dụng: Trang 231 Sau vài VB.NET Functions soạn sẳn NET Framework ta dùng trang Web khóa: Các functions Date Time  Function  Phần diễn tả công dụng  date(datetime) Trả lại số từ tới 31 biểu thị ngày tháng  Dayofweek  dateDiff(dateinterval, date1,date2[,     firstdayofweek[, dirstdayofyear]])  hour(time)  isdate(datetime) Trả lại số từ (Sunday) tới (Saturday) biểu thị ngày tuần Trả lại số diễn tả khoãng thời gian cách biệt ngày: ngày (date1) ngày (date2) Số dạng yyyy (year), q (quarter), m (month - tháng), y (day of year), d (day), w (weekday), ww (week), h(hour), n (minute) hay s (second) Trả lại số từ tới 23 biểu thị ngày Trả lại số Boolean xác minh datetime có phải ngày hợp lệ không?  minute(time) Trả lại số từ tới 59 biểu thị phút  month(datetime) Trả lại số từ tới 12 biểu thị tháng datetime  now( ) Trả lại dạng datetime ngày thời  second(time) Trả lại số từ tới 59 biểu thị giây phút  year(datetime) Trả lại số biểu thị cho năm (có giá trị từ tới 9999) Các Functions Toán Học  Function  Phần diễn tả công dụng  abs(value) Trả lại giá trị tuyệt đối (absolute) value  atan(value) Trả lại số arctangent value  cos(value) Trả lại số cosin value  exp(value) Trả lại số exponent value  fix(value) Trả lại phần integer value, rounding up cho số âm Trang 232 (negative numbers)  hex(value)  int(value) Trả lại số hexadecimal value (base 10 to base 16) Trả lại phần integer value, rounding down cho số âm (negative numbers)  log(value) Trả lại số nature logarithm value  oct(value) Trả lại số octal value (base 10 to base 8)  Rnd Trả lại số ngẫu nhiên  round(value [, dec]) Trả lại số rounds to integer or with dec (decimal places) với value  sin(vlaue) Trả lại số sin value  sqrt(value) Trả lại số (squareroot) value  tan(value) Trả lại số tangent value Các Functions hành chữ (Strings)  Function  Phần diễn tả công dụng Trả lại số biểu thị vị trí string string 1,  instr(start, ]string1, string2[, trả lại số Compare dạng (=BinaryCompare) compare) hay (=TextCompare)  left(string, length) Trả lại string chứa số chữ (dài = length) phía bên trái hàng chữ  len(string | variable) Trả lại số biểu thị chiều dài string hay tổng số bytes mà variable chứa đựng  mid(string, start[, length]) Trả lại string chứa string khác, vị trị start kéo dài với giá trị length  replace(expression, find, replace[,     start[, count[, compare]]]) Thay giá trị find biểu thức expression giá trị replace bắt đầu cở vị trí start với số lần thay count Lưu ý già trị mặc định count -1 - nghĩa thay tất truy tìm được, compare dùng dạng hay phần instr Trang 233  right(string, length) b) Trả lại string chứa số chữ (dài = length)  phía bên phải hàng chữ Subroutines Cú pháp sau: Sub SubroutineName (Parameter1 As Type, , ParameterN As Type)    'you code here  End Sub Thí dụ subroutine Page_Load phổ thông mà ta thường dùng trang ASP.NET : Sub Page_Load (Obj As object, e As eventargs)    'you code here  End Sub Các biến số (variables) ( ) gọi thông số (parameters hay arguments), họp thành nhóm, ta gọi parameter list Subroutine chuyển vận dụng giá trị thông số vào bên subroutine để thi hành cơng tác Bài tập 1: Mục đích: Làm quen cách viết sử dụng parameters cho Subroutine toán nhân với số chẳng hạn Chạy ứng dụng Notepad gõ hàng mã sau:    sub Page_Load(obj as object,e as eventargs)       MultiplyNumbers(2,2)       MultiplyNumbers(18,28)       MultiplyNumbers(300,200)    end sub    sub MultiplyNumbers(intA as integer,intB as integer)       Response.Write(intA *intB &“")    end sub    Testing subroutines 'MultiplyNumber' completed Trang 234 Lưu trữ tập tin với tên multiply.aspx folder 'D:\Net\Vovisoft ASPNET\Bai06\Multiply' chạy IE với URL sau: http://cantho/VovisoftASPNET/Bai06/Multiply/Multiply.aspx hình : hiển thị trang web ta có Phần ChúThích: Ta nhận thấy gọi (call) subroutine, ta cần dùng tên subroutine kèm với thông số (parameters) ta muốn gởi vào vận dụng subroutine Trong mã trên, ta gọi subroutine 'MultiplyNUmber' lần, ta vận dụng thơng số vào tốn nhân hiển thị (display) kết browsers với đối tượng (Object) Response phương pháp (method) Write Lưu ý: Trong VB.NET ASP.NET , ta bắt buộc dùng parentheses ( ) gọi subroutines, khác với VBSCript hay VB6 không cần dùng parentheses Nếu ta gọi subroutine MultiplyNumber theo cú pháp sau, tạo lỗi: MultiplyNumber 2, Event Handler Nếy để ý, ta thấy thông số (parameters) sử dụng tập thông số cố (EventArgs) Trong trang Web ASP.NET , cố xảy lúc nào, tỷ user nhấp mũi chuột vào nút Form nhấp vào hình ảnh, ta cần chuẩn bị tạo gọi event handler để đáp ứng lại cố Cú pháp event handler giống y chang cú pháp subroutine, khác biệt nằm parameters list với thông số riêng cho loại EventArgs Khi cố khởi động, cố tạo biến Trang 235 số nhằm diển tả việc xảy event handler dựa biến số để phản ứng cho thích hợp Bài tập 2: Mục đích: Tạo trang ASP.NET với nút bấm Submit event OnClick liên hệ với Subroutine Button_Click để 'bắt tang' user vừa nhấp mũi chuột vào nút bấm Chạy ứng dụng Notepad gõ hàng mã sau:    Sub Button_Click(obj As Object, e As EventArgs)       Response.Write("You clicked the button named: " & obj.Text)    End Sub      

   Lưu trữ tập tin với tên events.aspx folder 'D:\Net\Vovisoft ASPNET\Bai06\Events' chạy IE với URL sau: http://cantho/VovisoftASPNET/Bai06/Events/Events.aspx Trang 236 hình : hiển thị trang web ta có Phần Chú Thích: Thơng số subroutine Button_Click loại Object data type, obj As Object đại diện cho đối tượng (Object) gây cố, nút bấm (button) mang tên 'btSubmit' Thông số thứ cố 'e' loại EventArgs, thông số chứa thông tin đặc trưng cho biến cố đang, hay xảy Trước user nhấp mũi chuột vào nút bấm (lý lịch nút bấm - ID 'btSubmit') thơng số 'e' trống rỗng, sau user nhấp vào nút bấm, 'e' chứa đủ thứ có cố 'Click' Trong Form, ta xắp xếp nguồn mã để báo cho nút bấm 'btSubmit' hay cố Click khởi động, thi hành subroutine 'Button_Click', vậy, ta định nghĩa xây dựng event handler thành công Classes Classes phần ta xác định hay định nghĩa đối tượng (Object) tỷ để định nghĩa đồng hồ, ta diễn tả kim giờ, kim phút, kim giây số giờ, cách bố trí giấc hay ngày tháng năm, Tương tự thế, class định nghĩa đối tượng (Object) qua đặc tính (properties) phương pháp (method) biểu thị đặc trưng cho class Ta nên nhớ rõ điều: 'Mọi thứ NET Framework hay VB.NET đại biểu cho classes' Cú pháp sau: Class classname    properties    subroutines Trang 237    functions End Class Trước dùng, nhớ instantiate class đối tượng (Object) Có hà sa số Base Classes NET Framework ta kể xiết đây, tổng quát gom vào loại (catogories) sau:  String  Collections Arrays: tỷ Arrays, Lists, Maps, Linked Lists,  WinForms: dùng hiển thị (display) Windows Controls tỷ Text Boxes, Combo Boxes, List Boxes, File Dialogs,  Web Forms: phác thảo dùng cho mạng, ta đào sâu chi tiết kế  File Handling: dùng lướt qua lại (navigate) file system máy hay mạng, kiểm tra đặc tính (properties) files, read, modify hay write chuyển (move) chép (copy) tập tin hay folders  Registrry Access: lướt qua lại, đọc hay viết nội dung registry  Internet: nối vào mạng, tải lên hay tải xuống tập tin  ADO.NET: nối vào sở liệu (database) vận dụng records với khái niệm disconnected data sử dụng XML để chuyển data khắp nơi chỗ c) Inheritance Inheritance nắm vai trị quan trọng classes OOP (Object-Oriented Programming) tính chất kế thừa Ta khơng cần phải tạo class hồn tồn có class tương tự ta muốn (who wants to re-invent the wheel?) mà cần tạo nhánh (giống nhánh cây) dựa vào gốc (base class) Trở lại trường hợp đồng hồ, tỷ ta tạo class gọi Clock, sau sực nhớ có loại đồng hồ: analog digital Thay quẳng Clock class tạo Analog class  Digital class, ta xây dựng class lấy Clock class làm (base class) thêm vào đặc trưng đến hay liên hệ đến loại Clock Analog hay Digital Tính chất kế thừa đem lại vận hội cho Kỹ Sư Tin Học xây dựng ứng dụng làm cho việc phát triển, triển khai bảo trì trở nên dễ dàng hơn, đỡ bị nhứt 'đầu' hay bạc 'râu' Cú pháp sau với thí dụ AnalogClock: Class AnalogClock: Inherit Clock    private ClockWound ASP.NET Boolean = False    Sub WindClock( )       ClockWound = True    End Sub End Class XXIV Phương pháp (method) lập trình tổng qt Ngồi việc nắm vững kỹ thuật cú pháp lập trình, thiết tưởng, ta nên bàn cách tổng quát phương pháp (method) xây dựng tiêu chuẩn cho việc lập trình ứng dụng (nói chung) ASP.NET (nói riêng) Nhớ là  số khái niệm ta muốn phát triển Trang 238 dự án ứng dụng lập trình VB.NET cho trang ASP.NET khoá học Các tiến trình nhắc đến nhằm mục đích hiểu rõ bước cần thiết việc lập trình áp dụng cho dự án thực tế công ty Requirement Specifications (Ðặc điểm kỹ thuật cần thiết) Mặc dù trình bày đề tài khoá này, ta sơ lược đặc điểm kỹ thuật cho tập, làm nhà hay dự án ta dựa vào mà linh động xắp xếp đặc điểm kỹ thuật cần thiết phù hợp cho dự án ta tương lai Ngồi ra, ta thêm bớt cho dự án thêm nhiều cơng dụng thích hợp u cầu địi hỏi khách hàng Trên thực tế, Software Consultant phải vấn nhiều người cơng ty để có hình ảnh đầy đủ vấn đề Requirement Specifications Design (Thiết kế) Từ Requirement Specifications bước qua giai đoạn Thiết kế Lúc nầy ta thấy có nhiều điểm khơng nêu rõ Requirement Specifications cần làm cho sáng tỏ (clarification) Công việc nầy Systems Analyst thực Nếu dự án lớn có Software Architect thiết kế tổng quát trước chia Team Leaders ( thường thường Systems Analysts) Trong giai đoạn nầy có phải làm Prototype (thử mơ hình mẫu) để biết kỹ thuật dùng có đủ khả thích hợp với nhu cầu dự án không Thiết kế giai đoạn quan trọng chu kỳ phát triển nhu liệu Chẳng ta nghĩ cách xây dựng nhu liệu, mà kế hoạch chi tiết cách thử lúc nào, đâu code Ta phải tưởng tượng hồn cảnh bất thường (unusual scenarios) xãy để tìm giải pháp đối phó Trong công ty nhỏ trung (small business), Web Master làm chuyện từ 'cây kim' 'phi thuyền' thiết kế trang ASP.NET Coding hay Implementation (Thảo chương) Ðây giai đoạn thảo chương debug Trong phần Debug có Unit Test (thử phận) Integration Test (thử chung) Mỗi có sửa đổi chút phải thử lại nhiều thứ nên viết Test Script để tự động hóa cơng việc thử nầy (gọi Regression Test) tiết kiệm nhiều thời Nếu nhu liệu phải phản ứng nhanh chóng (good response) chạy Real-Time phải thử hồn cảnh phải giải nhiều thỉnh cầu lúc (gọi Stress Test) Acceptance Test (Chạy Thử) Khái niệm tổng quát việc kiểm tra Functional and Acceptance Testing sau: Sự kiểm tra Functional and Acceptance Testing đóng góp phần quan trọng việc lập trình Một cách tổng quát, nhiều kiểu kiểm tra kiểm tra mặt chức (Functional Testing) giúp người triển khai kiểm sốt lại xem phần lập trình ứng dụng có phù hợp với chức đặt trước theo yêu cầu dự án Còn kiểm tra mặt thừa nhận (Acceptance Testing) để kiểm sốt xem ứng dụng có phù hợp với hồn cảnh hay mơi trường sử dụng hay khơng, tỷ chạy thử Windows khác nhau, phiên Browser khác nhau, loại Browser khác hay phiên screen resolution khác nhau, Trong nhiều trường hợp công ty khách hàng, Software Consultant chứng kiến giai đoạn chạy thử để xem nhu liệu xử lý chuyện liệt kê trước Các công chuyện xử lý chạy có nhanh đủ khơng, trường hợp nhu liệu phải giải nhiều thỉnh cầu lúc Trong hồn cảnh bất bình thường, nhu liệu có đứng vững khơng hay 'té' bất ngờ Nếu dự án lớn, trước Acceptance Test cịn có thêm giai đoạn gọi Factory Test Software Consultant đến tận công ty để chứng kiến ta chạy thử Trang 239 Commissioning, Roll-Out (Áp dụng) Khi cho áp dụng bắt đầu giai đoạn Bảo đảm (Warranty) Bảo trì (Maintenance) Bảo trì thăm viếng lại nhu liệu để chửa trị Bug (fixing bugs) hay sửa đổi (modification) hay làm thêm (enhancement) Lúc ta thấy giá trị nhu liệu thích tỉ mĩ Thường thường nhu liệu ta bảo trì người khác viết viết từ lâu rồi, khơng cịn nhớ nữa, nên có kèm documentation thích rõ ràng cơng việc bảo trì dễ dàng nhiều Khi lập trình cho cơng việc hay dự án nhỏ, có ta khơng ý nhiều đến giai đoạn Requirement Specifications Sau nầy lúc viết code khám phá việc làm khơng điều khách hàng muốn phiền Nếu Specifications viết rõ ràng ta xin thêm tiền thay đổi (variation), có khách hàng trách ta khơng chun nghiệp (professional) khách tương lai Tiến trình trở lại tiến trình ban đầu nhằm mục đích kiểm tra Chu Kỳ Phát Triển Nhu Liệu nhiều lần để giảm thiểu lỗi có thay đổi phần specifications hầu nâng cấp cách hiệu XXV Tóm tắt Ở này, ta bàn sơ lược NET Framework tham khảo vài chi tiết cú pháp ngơn ngữ lập trình VB.NET phương pháp (method) lập trình để giúp ta xây dựng phát triển trang Web cách hiệu Tổng quát, ta có loại biến số (variables) loại logic Các logic Conditional, Looping Branching cần thiết việc giúp ta tái thi hành nguồn mã thoả mản điều kiện định trước Ta phân biệt khác Functions Subroutines lướt sơ qua khái niệm cách vận dụng event classes khái niệm Inheritance OOP Trong kế 'Web Form - Part I', ta tham khảo Web Form vai trị ASP.NET Web Form khái niệm hấp dẫn mơi trường mạng Web Form cho phép ta kiểm soát 'động tịnh' user qua objects hiển thị (display) User Interface lại xử lý phiá Server Thật 'kỳ bí' XXVI Bài làm nhà Câu hỏi 1: Is VB.NET case sensitive? Câu hỏi 2: Trong VB6 ta có biến số variant, chuyện xảy cho variant VB.NET? Cây Hỏi 3: Khi ta dùng For loop dùng While loop? Bài làm 1: Tạo trang ASP.NET dùng class PERSON để biểu thị người object dại diện cho bạn với đặc tính (properties) giới tính (Nam/Nữ), màu tóc (xanh, đen, muối tiêu, bạc, ), màu mắt (đen, đỏ, ), màu da (ngâm, bánh mật, đen, ) ngày tháng năm sinh Dùng đặc tính (properties) dayofweek datetime để xác định ngày bạn sinh ngày tuần dùng nút bấm Submit để gọi phương pháp (method) cũn gnhư hiển thị (display) kết browser Trang 240 THUẬT NGỮ CHUYÊN MÔN Class : Lớp Object : đối tượng Form : giao diện Matrix : ma trận Method : phương thức Fields : Trường Properties : Thuộc tính Inheritance : Thừa kế Application : ứng dụng Internet protocols : quy ước mạng Default : mặc định Metadata : kiện cắt nghĩa Register : Đăng ký Notified : Thông báo Compile : biên dịch take-over : tiếp quản compiled code : trình biên dịch local hard drives : dĩa cứng cục business logicTính tốn Inheritance : Thừa Kế Polymorphism : Đa dạng Visual Inheritance : Thừa kế hình ảnh Polymorphism : Đa dạng Inheritance : Thừa Kế Early Binding hay Late Binding : Hiệu lực Sớm hay Trễ Subcribers : Người Đặt Mua dài hạn Class Members : Các Thành viên Class Unit of Code : Đơn vị mã Encapsulation : Gói kín Property : TâmHồn Sentitive : NhạyCảm Romantic: ThơMộng Single :Đơn Late Binding : Hiệu lực trễ Overloading : Quá tải, có mà cịn cho thêm Overriding : Lấn quyền Memory leak : bị rỉ nhớ Garbage Collection : nhặt rác By default : Bình thường Override : lấn quyền Extend : thêm Thừa kế hình ảnh (Visual Inheritance Truy cập sở liệu : database access Trang 241 User interface : máy khách Distributed : phân tán Kiến trúc : Architecture Owned Forms : Forms có chủ Opacity : Độ đậm Hộp Giao Thoại :Dialog Boxes form tích cực : active form positioning : định chỗ Docking : gắn vào Anchoring : bỏ neo Features : đặc trưng Develop : phát triển Information Technology : công nghệ Tin Học Base Runtime Environment : Môi trường vận hành A set of foundation classes : Bộ sưu tập loại đối tượng Base Runtime Environment : Môi trường vận hành Microsoft Intermediate Language (MSIL) : ngôn ngữ trung gian Shared class members : Các thành viên để dùng chung class Common Language Specifications (CLS) : tiêu chuẩn chung cho ngơn ngữ lập trình Object Oriented Programming Language: ngơn ngữ lập trình khuynh hướng đối tượng Trong mơ hình lập trình nhiều tầng : multi-tier programming model Trang 242 TÀI LIỆU THAM KHẢO Giáo trình net – Khoa CNTT Trường Kỹ Thuật Đà Lạt 2006 Giáo trình điện tử lập trình VB.net www.quantrimang.com Giáo trình điện tử lập trình VB.net lập trình ASP.net www.vovisofts.com Trang 243 ... Panel4 dời Button2 từ Panel2 qua Panel4 cách Cut and Paste Set property Dock Panel4 thành Fill Bây chạy chương trình nắm kéo Splitter2 lên xuống Hình 4 .22 : hiển thị chạy trương trình Tóm lại,... Button1 dãn Button2 co lại: hình 4 .20 : hiển thị chạy trương trình Ngược lại, bạn nắm Splitter kéo qua trái Button1 co Button2 dãn lại: Trang 111 Hình 4 .21 : hiển thị chạy trương trình Trong thí... Panel2, set property Dock thành Fill Có nghĩa ta muốn Panel2 chiếm hết phần lại bên phải form Thêm vào Panel2 nầy Button, gọi Button2, set property Anchor thành Top, Left, Right Khi chạy chương trình,

Ngày đăng: 19/01/2022, 10:17

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w