Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 174 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
174
Dung lượng
1,72 MB
Nội dung
Các bài tp Microsoft .NET 1
MC LC
Bài 1 Microsoft .NET Framework 2
Bài 2 Visual Studio.NET 13
Bài 3 Nhng khác bit gia VB.NET vi VB6 37
Bài 4 Nhng chc nng i Tng mi ca VB.NET (phn I) 59
Bài 5 Nhng chc nng i Tng mi ca VB.NET (phn II) 68
Bài 6 Nhng chc nng i Tng mi ca VB.NET (phn III) 82
Bài 7 Nhng chc nng i Tng mi ca VB.NET (phn IV) 95
Bài 8 Nhng chc nng mi trong giao din ca s ca VB.NET (phn I) 112
Bài 9 Nhng chc nng mi trong giao din ca s ca VB.NET (phn II) 124
Bài 10 Nhng chc nng mi trong giao din ca s ca VB.NET (phn III) 134
Bài 11 Nhng chc nng mi trong giao din ca s ca VB.NET (phn IV) 144
Bài 12 Nhng chc nng mi trong giao din ca s ca VB.NET (phn V) 161
Các bài tp Microsoft .NET 2
Bài 1
Microsoft .NET Framework
Cài đt Visual Studio.NET Beta 2
Visual Studio.NET nm trong 3 CDs, gm có 4 files:
• EN_VS_NET_BETA2_WINCUP.exe
• EN_VS_NET_BETA2_CD1.exe
• EN_VS_NET_BETA2_CD2.exe
• EN_VS_NET_BETA2_CD3.exe
Chy EN_VS_NET_BETA2_WINCUP.exe đ Unzip nó vào mt folder
trong mt harddisk (eg: E:\CD\WINCUP).
Ln lt chy EN_VS_NET_BETA2_CD1.exe,
EN_VS_NET_BETA2_CD2.exe và EN_VS_NET_BETA2_CD3.exe đ
Unzip chúng vào chung mt folder trong mt harddisk (eg: E:\CD ).
Vic Unzip files có th rt lâu, bn phi kiên nhn ch cho đn khi nó kt
thúc. Nu không, khi cài đt có th b than phin là thiu files.
K đó, trc ht chy Setup.exe ca Windows Component Update nh
di đây, click No khi Warning dialog hin ra:
Tip theo, chy Setup.exe ca Visual Studio.NET:
Bn nên có CPU Pentium III, 500MHz tr lên, vi 256 MB RAM và ít
nht 10GB Harddisk. V OS bn nên dùng Windows 2000 (Professional
Các bài tp Microsoft .NET 3
hay Server) hay Windows XP. Lý do chính là các versions Windows này
h tr Unicode và có Internet Information Server (IIS) h tr ASPX đ ta
dùng cho ASP.NET.
M các Samples ca QuickStart
Trc khi expand Samples ca Quickstart bn cn phi cài đt IIS. Nu
cha làm vic y bn b CD ca Windows2000 hay WindowsXP vào đ
install IIS component.
QuickStart Samples ca .NET Framework cha các gii thích cn bn và
nhiu thí d. expand các Samples doubleclick Webpage
Starthere.htm nh trong hình di đây:
Khi trang Web ca QuickStart hin ra, click QuickStart, tutorials and
samples ri sau đó theo ch dn tng bc.
Trang Framework SDK QuickStart Tutorials cho ta các bài tp ca
ASP.NET, Windows Forms và How Do I
Nh đ nguyên các folders ca Unzipped files (E:\CD, E:\CD\WINCUP),
đng delete chúng, vì .NET s còn dùng chúng. Ngoài ra, nu sau này
.NET b corrupted vì conflict vi các application software khác, bn có
th cài đt .NET li.
Gii hn ca Software Tools hin gi
Các bài tp Microsoft .NET 4
Architect ca application software hin gi có nói chung ba tng (three
tiers): tng giao din (Presentation Tier), tng gia (Middle Tier) và tng
d kin (Data Tier):
Presentation Tier: Trong desktop Client ta dùng VB6 và ni vi middle
tier qua DCOM. Trong browser based Client ta dùng Javascript hay Java
applet. T browser based Client ta dùng http đ ni vi middle tier qua
IIS/ASP (có th dùng COM đây).
Middle Tier: Cha các rules đ validate data trên client và các business
rules khác. Ta dùng VB6 đây, nhng cách trin khai COM vi nhng
Object Oriented Programming concepts rc ri hn bình thng. Ta phi
thit k sao cho các components scale well (dùng cho mi c). Có khi
dùng Microsoft Transaction Server trên Windows NT hay COM+
Services trên Windows 2000. Lp ráp các versions ca components là
mt thách thc ln.
Nhiu khi middle tier còn nói chuyn vi các database qua HTTP, ADO
và CDO (Collaborative Data Objects), .v.v
Data Tier: Thng là relational database nh Microsoft SQL Server hay
Oracle. Ngoài ra còn có Exchange hay các database xa ca mainframe.
Do đó ta thy:
• Desktop tools không thích hp cho Distributed System
hay Internet
Phi dùng nhiu th codes nh VB6 Code, VBScript,
JavaScript, Dynamic HTML, Cascading Style Sheet,
VC++, Stored Procedures (Transact-SQL trong
SQLServer hay PL-SQL trong Oracle).
Tùy thuc quá nhiu vào central database: Ngay c ADO dù là tin dng
cng đòi hi Client luôn luôn connect vi Server. iu này không thích
Các bài tp Microsoft .NET 5
hp cho Internet applications, vì bn cht ca Internet là stateless (không
gi trng thái), mi ln cn làm vic mi connect li mt chút thôi.
• DLL "Hell": Các ActiveX cn phi đc registered
vi Windows Registry, ch có mt version đc chp
nhn. Nu version mi nht ca mt DLL không
compatible vi các versions trc đó mà applications
trên máy đang cn thì có rc ri.
Gii hn ca VB6
• Thiu kh nng inheritance (tha k) và mt s Object
Oriented features khác.
• Kh nng Error handling gii hn: On Error Goto ,
On Error Resume Next
Các bài tp Microsoft .NET 6
• Nhiu khi cn phi gi Windows API đ làm nhng
vic VB6 không h tr: vic này không t nhiên và
đôi khi nguy him.
• Không có multi-threading: không th đoán trc
response ca code chy trong các windows ca cùng
mt VB6 application. Ngay c gii quyt vn đ
multitasking bng Timers cng không đáng tin cy.
• Không d dùng chung vi các ngôn ng khác nh
VC++.
• Không tin cho Web development: WebClass không
thành công lm. Ít ai chu cho ta cài ActiveX trên máy
ca h.
.NET Framework
.NET đc developed t đu nm 1998, lúc đu có tên là Next
Generation Windows Services (NGWS). Nó đc thit k hoàn toàn t
con s không đ dùng cho Internet. Vin tng ca Microsoft là xây dng
mt globally distributed system, dùng XML (cha nhng databases tí
hon) làm cht keo đ kt hp chc nng ca nhng computers khác nhau
trong cùng mt t chc hay trên khp th gii.
Nhng computers này có th là Servers, Desktop, Notebook hay Pocket
Computers, đu có th chy cùng mt software da trên mt platform duy
nht, đc lp vi hardware và ngôn ng lp trình. ó là .NET
Framework. Nó s tr thành mt phn ca MS Windows và s đc port
qua các platform khác, có th ngay c Unix.
Mc du hãy còn là Beta, .NET Framework rt stable và Visual
Studio.NET rt ít bugs, có th dùng cho software development ngay t
bây gi. Hin nay đã có mt s sách v lp trình .NET do
Wrox và
Oreilly xut bn.
Các phn chính ca Microsoft.NET Framework:
.NET application đc chia ra làm hai loi: cho Internet gi là ASP.NET,
Các bài tp Microsoft .NET 7
gm có Web Forms và Web Services và cho desktop gi là Windows
Forms.
Windows Forms ging nh Forms ca VB6. Nó h tr Unicode hoàn
toàn, rt tin cho ch Vit và tht s Object Oriented.
Web Forms có nhng Server Controls làm vic ging nh các Controls
trong Windows Forms, nht là có th dùng codes đ x lý Events y ht
nh ca Windows Forms.
im khác bit chánh gia ASP (Active Server Pages) và ASP.NET là
trong ASP.NET, phn đi din visual components và code nm riêng
nhau, không ln xn nh trong ASP. Ngoài ra ASP.NET code hoàn toàn
Object Oriented.
Web Services ging nh nhng Functions mà ta có th gi dùng t các
URL trên Internet, thí d nh Credit Card authorisation.
ADO.NET là mt loi cache database nho nh (gi là disconnected
database) đ thay th ADO. Thay vì application connects vnh vin vi
database m qua ADO, application trong .NET làm vic vi portable
database ch cha mt hai tables, là copy t database m. Khi nào cn,
portable database này (ADO.NET) s đc reconciled vi database m đ
update các thay đi. Hai tables trong ADO.NET có th đc related nhau
trong Master/Details relationship. Vì ADO.NET có cha original data
ln data mi nht nên Rollback trong ADO.NET rt d dàng và nh ký.
XML đc ym tr ti đa. Nm phía sau ADO.NET là XML. XML có
th là Table of records trong ADO.NET hay Tree of nodes trong DOM
(Document Object Model).
IO đc h tr bng toàn b Stream k c Memory Stream và
StreamReader/StreamWriter. Thêm vào là DataFormatting cho
Serialisation đ cha Object xung binary file hay text file.
TCP/IP và http là hai protocols thông dng nht trong .NET, nhng
chúng làm vic phía sau sân khu giúp ta gi mt remote procedure (nm
trên computer khác) d dàng nh mt local procedure. K thut y gi là
Remoting.
Các bài tp Microsoft .NET 8
Security h tr Cryptography, Permissions và Policy.
Diagnostics cho ta Debug và Trace.
Threading rt tin và đn gin đ implement Lightweight Process. Vn
đ Timing trong .NET program rt linh đng, hiu qu và chính xác.
Vic thit k Common Language Runtime nhm vào các mc tiêu chính
sau đây:
• Vic trin khai đn gin và nhanh hn: developers s
dành thì gi quyt đnh ráp nhng software
components nào li vi nhau nhiu hn là lp trình
tht s.
• Các công tác thit yu ("plumbing") nh memory
management, process communication .v.v. đc lo
liu t đng.
• Các công c h tr rt đy đ (no more API): .NET
Framework Base classes rt phong phú cho file,
network, serialisation, mã hóa, XML, database, v.v
• Cài đt đn gin và an toàn (no more DLL "hell"): ch
cn xcopy files, ging nh thi vàng son ca DOS. Lý
do là .NET application chy trên .NET framework,
mt khi ta đã cài .NET framework vào máy ri thì có
đy đ mi .DLL cn thit. Có l trong tng lai
Microsoft cài .NET framework chung vi Windows.
• Dùng cho t WindowsCE đn Desktop, đn Web
(scalability).
Các bài tp Microsoft .NET 9
Metadata
Metadata là các d kin ct ngha cho ta bit v d kin. Thí d XML
Schema ca mt XML file là metadata ct ngha v data structure ca
data trong XML file. Chính cái XML Schema cng là mt XML file. Các
.NET application components, gi là Assembly, cha rt nhiu metadata
đ ct ngha v chính nó (self describing). Tìm bit v mt .NET
application đ có th làm vic vi nó thì gi là Reflection.
H tr và phi hp mi ngôn ng lp trình
Common Language Runtime (CLR) là trung tâm đim ca .NET
Famework, nó là hm máy đ chy các nng tính ca .NET. Trong .NET,
mi ngôn ng lp trình đu đc compiled ra Microsoft Intermediate
Language (IL) ging ging nh byte code ca Java. Nh bt buc mi
ngôn ng đu phi dùng cùng các loi data types (gi là Common Type
System) nên Common Language Runtime có th kim soát mi interface,
gi gia các components và cho phép các ngôn ng có th hp tác nhau
mt cách thông sut. Tc là trong .NET, VB.NET program có th inherit
C# program và ngc li mt cách hoàn toàn t nhiên.
iu này chng nhng giúp các VC++ hay Java programmers bt đu
Các bài tp Microsoft .NET 10
dùng C# mt cách d dàng mà còn làm cùng mt d án vi VB.NET
programmers na.
Nu VC++ linh đng và hiu nng hn VB6, thì C# chng khác gì
VB.NET. Bn có th port C# code qua VB.NET code rt d dàng. Vì
source code VC++ và Java gn gi C# hn VB6 vi VB.NET nên ngoài
đi có nhiu C# code hn VB.NET. Do đó, mc du hai ngôn ng
VB.NET và C# đu ngang c nhau, nu dùng C# bn đc li đim có
nhiu source code sn và nht là lâu nay ngi ta vn mang n tng rng
VC++ hay Java programmers mi tht s là các cao th lp trình, và có
khuynh hng tr lng các guru VC++/Java cao hn VB programmers.
Khi chy .NET application, nó s đc compiled bng mt JIT (Just-In-
Time) compiler rt hiu nng ra machine code đ chy. im này giúp
.NET application chy nhanh hn Java interpreted code trong Java
Virtual Machine. Just-In-Time cng có ngha là ch phn code nào cn x
lý trong lúc y mi đc compiled. IL code chy trong CLR đuc nói là
managed code.
.NET code có th chy chung vi ActiveX, nhng code trong ActiveX
đc gi là unmanaged code, tc là CLR không chu trách nhim.
Ngoài vic allocation và management of memory, CLR còn gi các
refrerence đn objects và đ rác (handle garbage collection), tc là thâu
li các mnh vn memory khi chúng không cn dùng na. Trc đây, mi
khi mt DLL đuc loaded vào memory, system s ghi nhn có bao nhiêu
task dùng nó đ khi task cui cùng chm dt thì system unload DLL và
tr li phn memory nó dùng trc đây đ system dùng cho chuyn khác.
Ch nu allocate memory đ dùng mà không nh dispose nó thì s b
memory leak (r ), ln ln ta dùng ht memory, b bt buc phi reboot
[...]... ng, r nh rang v n, câu cá Trong bài t i ta s h c v Visual Studio. NET interface và b t m t program Demo n 10 làm u vi t th 13 Các bài t p Microsoft NET Bài 2 Visual Studio. NET Visual Studio. NET ch y VisualStudio.NET b n c n ph i Set Time c a Windows l i tr c cu i tháng 7,2001, eg: 1-July-2001 Visual Studio. NET Beta 2 hi n nay có Service Pak 2, nó cho phép ta dùng Visual Studio. NET Beta 2 sau ngày 31-July-2001,... trong VS.NET cho b n n u b n ng ý Các bài t p Microsoft NET 15 m m t Solution/Project có s n, b n có th click link c a tên project trên trang StartPage, hay dùng Menu command File | Open | Project , hay Menu Command File | Recent Projects Visual Studio. NET IDE 16 Các bài t p Microsoft NET Giao di n c a VS.NET có nh ng InterDev ch code c i m gi ng nh Delphi và Visual c generated t ng, Windows n m chung... ánh th ng vào các ch có ch Type Here L u ý các Tabs bên trên Editing Area khi b n m nhi u forms Các bài t p Microsoft NET Edit MainMenu, insert m t Separator 22 Các bài t p Microsoft NET Chú ý danh sách các References Edit Shortcut cho m t menu item 23 c li t kê trong Solution Explorer 24 Các bài t p Microsoft NET Button bây gi ch ng nh ng có th ch a hình mà còn cho b n ch n v trí c a hình trong button... Các bài t p Microsoft NET B n có th g i h u h t các Windows hi n th b ng cách dùng Menu commands View, View | Other Windows và Debug | Windows: Các Windows bên ph i có th float, n m ch ng lên nhau thành nh ng Tabs trong m t Window set hay n m c nh nhau vertically tiled N m Tittle bar Window set d i nguyên m t Window set i N m Window Tab c a m t kéo ch m t Window ra B n có th ch ng hai 18 Các bài t p Microsoft. .. dùng Menu command File | New | Project gi ng nh trong VB6 IDE: 14 Các bài t p Microsoft NET Khi Add New Project, Name s là subfolder name c a New Project B n có th ch n VB.NET, C# hay VC++.NET project Trong t ng lai chúng ta s ch nh m vào VB.NET và C# thôi Ngoài ra SetUp and Deployment bây gi là m t lo i project n m trong IDE c a Visual Studio. NET, ta không c n ph i ch y riêng ch ngoài VB6 IDE nh tr ng... program 26 Các bài t p Microsoft NET nh ng v n ph i biên m t tên dài nh System.IO.StreamReader l n l n có th vi t tên class g n h n ta dùng Imports nh Imports System.IO, sau Imports này T tránh ó ta ch c n vi t StreamReader là Công vi c c g i là importing Namespace (c a System.IO) ng t nh th , có th ti p t c dùng các Functions Left, Right, Mid c a VB6 trong NET ta có th u ch Microsoft. VisualBasic thêm... trang Edit mang cursor n code c a Các bài t p Microsoft NET 32 Bi u di n DragDrop Code c a DragDrop, l u ý ta ph i vi t thêm Sub ListBox2_DragEnter handle Event DragEnter Private Sub ListBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown ' Start the DragDrop process Dim ItemIndex As Integer Các bài t p Microsoft NET 33 ' Identify the Listbox... Command line compile và link code file v i các components khác Thí d nh khi ta vi t m t VB.NET program DOS Console, ta có th compile nó nh sau: n gi n ch y trên trong 30 Các bài t p Microsoft NET vbc /t:exe /r:system.dll mysource.vb vbc là VisualBasic Compiler, /t: có ngh a target t c là EXE trong DOS console /r: có ngh a reference ch y n DLL N u mu n ch y trong Windows, ta dùng: vbc /t:winexe /r:system.dll... TextBox, ListBox v.v N u b n c n m t key input software cho ch Vi t h tr Unicode thì download VPS, Vietkey hay Unikey Các documents nh Form, XML v.v trong NET project v i UTF-8 encoding u c Saved 21 Các bài t p Microsoft NET Trong program S thú Saigon này ta có hai Listboxes Khi ch y, b n có th drag tên các lo i thú t Listbox1 (bên trái) ph i) Phía d i là m t Label dùng L u tr danh sách drop vào Listbox2...11 Các bài t p Microsoft NET OS Nh ng bây gi NET dùng m t process collection Cái ph n cl p làm vi c garbage ng ph c a vi c này là khi ta ã Dispose m t Object r i, ta v n không bi t ch c ch n ch ng nào nó m i th t . cá.
Trong bài ti ta s hc v Visual Studio. NET interface và bt đu vit th
mt program Demo .
Các bài tp Microsoft .NET 13
Bài 2
Visual Studio. NET
Visual Studio. NET
. Các bài tp Microsoft .NET 1
MC LC
Bài 1 Microsoft .NET Framework 2
Bài 2 Visual Studio. NET 13
Bài 3 Nhng khác bit gia VB.NET vi VB6 37
Bài 4 Nhng