Professional Documents
Culture Documents
Lch s Windows
1990 1993 1994 1995 1996
Windows NT Workstatio n Windows NT Windows Server NT Enteprise Server 4.0 Edition
1997
Windows Desktop
Windows 3x
Windows NT
Windows 95
Windows Server
Windows Cloud
2 Lp trnh mi trng Windows
Lch s Windows
1998 2000 2001 2003 2006 2008 2009 2012
1. Windows ME 2. Windows Windows 2000 98 Professional
Windows Desktop
Windows Vista
Windows 7 Windows 8
Windows Server
Windows NT Server 4.0 Terminal Server Windows 2000 Edition Server Family
Windows Cloud
3 Lp trnh mi trng Windows
Windows Azure
Mi trng Windows
H iu hnh 32/64 bit Giao din ngi dng kiu ho (GUI) a nhim Qun l b nh
10
Visual Interface WYSIWYG Cc ng dng Windows c giao din thng nht vi cng dng v:
11
a nhim
Nhiu chng trnh c th c kch hot v chy cng mt lc Mi chng trnh chim mt phn ti nguyn ca h thng v c mt phn b nh thng tr Windows 32 bits hot ng theo c ch preemtive. Mi chng trnh c th c tch thnh cc thread thc hin cng lc
12
Qun l b nh
M chng trnh v d liu c th dch chuyn trong b nh vt l Kh nng s dng b nh ph Cc th vin lin kt ng (.DLL)
13
14
Giao din ho ca Window cho php to cc i tng ho v nh dng vn bn cho c mn hnh v my in Chng trnh vit cho Windows khng iu khin trc tip thit b xut nh mn hnh hay my in m thng qua mt ngn ng lp trnh ho gi l Giao Din Thit B Ho (Graphics Device Interface: GDI)
15
Windows v cc ng dng Windows hot ng theo c ch truyn, nhn thng ip Cc hot ng ca chng trnh thay i tu theo thng ip m n nhn c, Thng ip c gi qua li gia ng dng v Windows, gia cc ng dng vi nhau Ca s ng dng t ng c v li mi khi c s thay i kch thc hay vng b che. iu ny c thc hin nh h iu hnh gi thng ip cho chng trnh
16 Lp trnh mi trng Windows
Cc loi ng dng c bn
Windows Application: ng dng 32 bits, giao din ha Win32 DLL: ng dng 32 bits, dng th vin lin kt ng (Dynamic-linked library) Win32 LIB: ng dng 32 bits, dng th vin lin kt tnh (Static-linked library) Console Application: ng dng 32 bits, vi giao din dng DOS command line
17
1985
1992
Windows application programming interface (API) Microsoft Foundation Class (MFC) Library Windows Form (1 phn ca .NET Framework)
2001
18
Cc th vin lp trnh
Windows API OWL - Object Windows Library MFC - Microsoft Foundation Classes ATL - Active Template Library WTL - Windows Template Library BCL - .NET Framework Base Class Library
19
Windows v DOS
Windows Lp trnh s kin, da vo thng ip (message) Multi-tasking DOS Thc hin tun t theo ch nh Single task
20
Giao din ha
21
Mt ca s lm vic Cho php thay i kch thc ca s (Resizeable) Khng c cc ca s con V d: Notepad, Paint,
22
Mt ca s lm vic chnh v nhiu ca s con Cho php thay i kch thc ca s (Resizeable) Cho php Maximize/Minimize/Close cc ca s con V d: Word, Excel, VC++,
23
Dialog
Mt ca s lm vic Thng kch thc c nh Thng c cc button, edit box, list box, V d: Calculator, CD Player,..
24
Ca s - Window
L mt vng ch nht trn mn hnh dng hin th kt qu output v nhn cc input t ngi dng Cng vic u tin ca 1 ng dng GUI l to mt ca s lm vic Mi ca s u c 1 ca s cha (parent window), ngoi tr ca s nn Desktop Ti mi thi im, ch c mt ca s nhn input t ngi dng (Active/Focused window)
25
Cc thnh phn ca mt ca s
26
Button
27 Lp trnh mi trng Windows
28
29
30
Lung iu khin ca chng trnh c xc nh da vo hnh ng ca ngi dng khi s dng chng trnh
31
Th tc ca s
H iu hnh ra lnh cho ng dng nh th tc ca s (Window Procedure) Hm ca s cho bit phn ng ca chng trnh vi cc tc ng bn ngoi nh user input... H iu hnh Windows gi thng ip cho mt chng trnh ng dng bng cch gi hm ca s ca ng dng , vi tham s l thng ip
32
33
WNDCLASS
wndclass.style
wndclass ;
= CS_HREDRAW | CS_VREDRAW ; = WndProc ;
wndclass.lpfnWndProc ...
Khai bo ca s
wndclass.lpszClassName = szAppName ; if (!RegisterClass (&wndclass)) { MessageBox (NULL, TEXT ("), ) ; return 0 ; } hwnd = CreateWindow (szAppName,...,NULL) ; ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg) ; DispatchMessage (&msg) ; }
ng k ca s
Vng lp bt thng ip
Lp trnh mi trng Windows
34
}
return msg.wParam ;
35
Mt s thng ip thng gp
Thng ip WM_CHAR WM_COMMAND WM_CREATE WM_DESTROY WM_LBUTTONDOWN WM_LBUTTONUP c gi khi C mt k t c nhp t bn phm Ngi s dng click mt mc trn menu, button Mt ca s c to ra Mt ca s b hu. Phm tri chut c nhn Phm tri chut c th ra
WM_MOUSEMOVE
WM_PAINT WM_QUIT WM_SIZE
36
namespace NotepadForms
{ public class Program { [STAThread] static void Main() { Form myForm = new MyForm(); Khai bo ca s
Application.Run(new MyForm());
} }
37
}
}
38
Ti nguyn - Resource
Ti nguyn (Menu bar, dialog, bitmap, icon, cursor,) ca ng dng c nh ngha bn ngoi v c thm vo trong file thc thi ca ng dng khi bin dch
Cc loi ti nguyn ca ng dng Accelerator table: bng m t phm tt (hot-key) Bitmap: nh bitmap Caret: con tr vn bn Cursor: con tr chut Dialog box: khung hp thoi (Dialogbox Template) Font: font ch
Lp trnh mi trng Windows
39
Ti nguyn - Resource
Cc loi ti nguyn ca ng dng Icon: biu tng Menu: menu String-table entry: bng m t cc chui k t Version information: bng m t thng tin phin bn
40
41
Sn phm ca .NET
42
.NET Framework
Tng tc gia cc thnh phn trong v ngoi .NET Framework Common Language Runtime Engine c lp ngn ng Th vin lp c s Qun l phin bn Bo mt
Tnh di ng (portable)
43
Common Language Runtime (CLR) Cc lp c s ca .NET Framework Data Management Giao din ngi dng
44
.NET Framework
VB C++ C# VJ# Visual Studio.NET
Common Language Specification ASP.NET: Web Services and Web Forms Windows Forms
ADO.NET: Data and XML Base Class Library Common Language Runtime
45 Lp trnh mi trng Windows
CLR
Common Language Runtime l mi trng cho tt c cc ng dng vit trn .NET chy CLR h tr nhiu ngn ng v cung cp cc cng c dng chung cho cc ngn ng lp trnh khc nhau, gip cho vic tng tc qua li gia cc ngn ng lp trnh khc nhau d dng hn
46
Cc c im ca CLR
T ng qun l b nh H thng kiu d liu dng chung gia cc ngn ng lp trnh Tnh tng tc gia cc ngn ng c lp vi cu trc phn cng bn di C ch bo mt h thng An ton kiu d liu
47
CLR
VB .NET Visual C#
VB .NET Compiler
VC# Compiler
Native Code
Lp trnh mi trng Windows
48
49
Compiler
Compiler
Assembly IL Code
Compiler
Assembly IL Code
Unmanaged Component
Managed code
Assembly IL Code
Native Code
Cc lp c s ca .NET framework
c xy dng theo phng php hng i tng Cung cp cc lp dng x l cc vn thng gp phi khi pht trin ng dng c dng chung cho nhiu ngn ng lp trnh khc nhau c t chc thnh nhng namespace c lu tr trong assembly.
51
Cc lp c s ca .NET framework
Namespace dng nhm cc lp v cc interface c mi quan h lun l vi nhau. Cc namespace c th c dng trong bt c ngn ng no tng thch vi .NET. Namespace c s dng hn ch vic dng cng mt tn cho 2 hay nhiu lp c mc ch s dng khc nhau
52
Cc lp c s ca .NET framework
Assembly l mt n v phn mm c cha y cc thng tin v cc lp hin thc, cc cu trc v cc interface hin thc ng dng Assembly lu tr cc thng tin m t chnh n, thng tin ny gi l meta data
53
Cc lp c s ca .NET framework
54
Cc lp c s ca .NET framework
ADO.NET
L cc lp truy cp d liu cho .NET Framework c thit k cho trp cp d liu hiu qu cao H tr XML v disconnected record sets
56
Window form: dng to ng dng cc b c giao din ca s. Web form: dng to ng dng web Console: Dng to ng dng c tng tc bng lnh ging nh giao din Ms Dos
57
H thng kiu d liu chung (Common Type System CTS) Metadata c t ngn ng chung (Common Language Specification CLS) H thng thi hnh o (Virtual Execution System VLS)
58
Common Type System: Tch hp cross-language, s dng kiu an ton v thi hnh code hiu nng cao M hnh hng i tng cho nhiu ngn ng Cc lut gip s dng cc i tng nhng ngn ng khc nhau Cc lut gip cc i tng vit bi cc ngn ng khc nhau tng tc vi nhau Cc lut cho phm vi ca cc kiu Cc lut qun l tha k kiu, phng thc o v thi gian sng ca i tng
Lp trnh mi trng Windows
59
u im ca .NET Framework
Dng chung cho nhiu ngn ng lp trnh To ng dng c lp vi mi trng phn cng bn di Cho php vit ng dng bng nhiu ngn ng tng thch vi .NET T ng qun l ti nguyn D dng trin khai ng dng
60
Visual Studio .NET Integrated Development Environment (IDE) cung cp mt giao din dng chung pht trin nhiu loi d n khc nhau. Cung cp mi trng thit k, vit code, kim tra v sa li khi pht trin ng dng Cc thnh phn ca Visual Studio .NET IDE
61
Xut kt qu
Lp trnh mi trng Windows
Visual Studio 97 Visual Studio 6.0 Visual Studio .NET Visual Studio 2005 Visual Studio 2008 Visual Studio 2010 | .NET 1.0
1998
2002
2003
.NET Framework
2005
2006
2008
2010
2012
63
D n v gii php
Trong visual studio .NET ng dng c to thnh t nhiu phn t v d nh file, th mc t chc cc phn t trn .NET cung cp d n v gii php D n (project): cho php xy dng, dch v sa li cc thnh phn to nn ng dng. D n c dch ra thnh file exe hoc dll Gii php (Solution): Bao gm mt hay nhiu project
64
D n v project
Solution Project 1
Project 1 Items
Project 2
Project 2 Items
Miscellaneous Files
65
Q/A
66