MỤC LỤC
Mở đầu:
1. Lý do chọn đề tài:
2. Phương pháp và nhiệm vụ nghiên cứu:
3. Các giả thiết khoa học:
4. Những đóng góp của đề tài.
Chương 1- InterNet
1.1. InterNet là gi?
1.2. InterNet Information là gi?
Chương 2- M icrosoft ASP.Net.
2.1. Net FrameWork.
2.2. ASP.Net.
2.3. Dùng ASP.Net Objects với VB.Net.
2.4. VB.Net.
Chương 3- Thiết Kế Chương Trình.
3.1. Giới thiệu khái quát về hệ thống thanh toán cước bưu điện từ xa
3.1.1. Giới thiệu:
3.1.2. Giới thiệu sơ lược về thẻ trả trước.
3.1.3. Cách hoạt động:
3.2. Thiết Kế Hệ Thống.
3.2.1. Cơ sở dữ liệu:
3.2.2. Lưu đồ thuật giả:
3.2.3. Thiết kế giao diện:
Kết luận:
Tài liệu tham khảo: .
56 trang |
Chia sẻ: lethao | Lượt xem: 1606 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Thanh toán cước điện thoại qua Internet, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
g× ®Õn ASP.NET mµ nÕu muèn, ta vÉn cã thÓ dïng ®îc nh thêng v× nh ®· tr×nh bµy, ASP.NET lµ 1 bé phËn trong cÊu tróc cña .NET Framework .
b) §Æc tÝnh (Properties).
Properties lµ c¸c biÕn sè dïng miªu t¶ ®èi tîng (object).
c) Methods.
Methods lµ c¸c ph¬ng ph¸p ®Ó dïng ®èi tîng (object).
d) Object Instances.
e) Static Member.
Static Member ®îc dïng trùc tiÕp ®Ó bè trÝ ®Æc tÝnh (properties) hay gäi methods trong 1 object.
2.3.2. ASP.NET OBJECTS.
Trong h»ng ngh×n ASP.NET Objects, ta chØ cã thÓ xem xÐt 1 sè nhá tiªu biÓu nh sau:
Response Object.
Request Object.
Page Object.
Session Object.
HttpCookie Object.
HttpApplication.
HttpServerUtility Object.
a)Response Object.
Response object cho phÐp Server ®¸p øng, tr¶ lêi hay th«ng tin víi Client.
- Ph¬ng ph¸p (Method) Write.
Response.Write("")
- Buffering Pages.
ASP.NET dïng buffer ®Ó kiÓm so¸t (control) khi nµo gëi s¶n phÈm (output) tíi browser. V©y còng lµ kiÓu mÉu chÝnh (default method) ASP.NET dïng, khi output ®îc buffered, ASP.NET chê cho tíi khi nµo tÊt c¶ nguån m· ®îc thi hµnh míi gëi tíi browser ... 'mét lÇn råi
NÕu ta muèn t¾t buffer (turn buffering off), bè trÝ m· Buffer = false tríc khi gëi ®i browser:
......
v× kh«ng thÓ võa t¾t buffer (trong m· HTML) võa gëi ®i theo m· nµy ®îc:
§Ó vËn dông hay xö dông buffer, ta dïng ph¬ng ph¸p (method):
Clear
Flush
End
Clear: dïng ®Ó xãa (clear) buffer.Flush: dïng ®Ó gëi tøc kh¾c néi dung buffer.End: dïng ®Ó chÆn (stop) kh«ng cho buffer gëi s¶n phÈm míi ®i mµ chØ cho phÐp gëi nh÷ng g× ®ang chøa trong buffer.
- Redirecting Users.
Ph¬ng ph¸p (method) Redirect dïng ®Ó chuyÓn user qua trang Web kh¸c 1 c¸ch gi¸n tiÕp, tû nh:
sub Page_Load(obj as object, e as eventargs) Response.Redirect("")end sub
Hello
b) Request Object
Request object dïng ®Ó th«ng tin gi÷a Server vµ Client browser. Browser dïng Request object ®Ó gëi th«ng tin cÇn thiÕt tíi Server. Gièng nh Response, Request object lµ instance cña HttpRequest. Nh vËy, Request object ®¹i diÖn cho Client khi yªu cÇu trang Web, cßn Server sÏ dïng võa Response võa Request ®Ó ®¸p øng yªu cÇu hay ®ßi hái th«ng tin tõ Client.
c) Page Object.
Page object gåm tÊt c¶ ®Æc tÝnh (properties), ph¬ng ph¸p (method) dïng cho c¸c trang ASP.NET vµ xuÊt xø tõ Page class ë .NET framework. Trong kh¸i niÖm vÒ OOP (Object Oriented Progamming), 1 khu«n mÉu (class) ®Þnh nghÜa mäi ®Æc tÝnh vµ ph¬ng ph¸p (method) cÇn thiÕt cho class ®ã còng nh kÕ thõa mäi ®Æc tÝnh vµ ph¬ng ph¸p (method) cña cha mÑ hay tæ tiªn hoÆc cã thÓ t¹o ra thµnh viªn con, ch¸u, ... (inherit its member and also create your own members for the child class). Page object gåm vµi thµnh viªn c¬ b¶n, tû nh:
Load
IsPostBack
Databind
- Load: dïng ®Ó khëi ®éng (fire, start or activate) khi trang Web b¾t ®Çu hiÓn thÞ ë browser. - IsPostBack: cho biÕt form ë trang Web ®· ®îc gëi ®i tíi cïng trang Web hay kh«ng? - Databind: nèi kÕt mäi d÷ kiÖn (data) tõ c¬ së d÷ liÖu (database) víi c«ng cô (controls) ë trang Web.
d) Session Object
Th«ng thêng, mçi khi cã ngêi lít m¹ng, Session sÏ ®îc t¹o ra cho ngíi ®ã 1 instance, Ên ®Þnh 1 lý lÞch (Session ID) riªng biÖt, duy nhÊt vµ lu tr÷ ë m¸y vi tÝnh cña user díi d¹ng cookie. Nh vËy, khi user lít tõ trang nµy qua trang nä, ASP.NET sÏ truy tÇm vµ ®äc l¹i gi¸ trÞ cña cookie ®Ó x¸c nhËn user thuéc vÒ session nµo víi mÖnh lÖnh sau:
Response.Write(Session.SessionID)
Session ID nµy dµi 120-bit string, ®ñ b¶o ®¶m tÝnh chÊt duy nhÊt cho tõng user. Khi session tíi h¹n kú, cookie sÏ ®îc xãa s¹ch (trªn thùc tÕ, t×nh tr¹ng nµy cã thÓ ®îc thay ®æi vµ kiÓm so¸t.
e. KiÓm so¸t (control) Session Object.
Cã nhiÒu c¸ch kiÓm so¸t ®èi tîng (Object) Session trong trang ASP.NET, c¬ b¶n gåm cã:
Timeout
Abandon
- Timeout
Session.Timeout = 60
- Abandon dïng ®Ó kÕt thóc 1 session ngay tøc kh¾c.
Session.Abandon
MÖnh lÖnh nµy sÏ xo¸ s¹ch c¸c cookie t¹m thêi (temporary cookie) còng nh c¸c th«ng tin liªn hÖ.
- Sessions kh«ng Cookies
ASP.NET dïng 1 ph¬ng ph¸p (method) kh¸c gäi lµ Cookie Munging tiÕn hµnh viÖc b¶o qu¶n session kh«ng cookies. Ph¬ng ph¸p (method) nµy tù khëi ®éng nÕu ASP.NET ph¸t hiÖn ra user kh«ng yÓm trî cookies. Gi¸ ph¶i tr¶ lµ viÖc th«ng tin sÏ chËm trÓ ®«i chót v× ASP.NET ph¶i m· ho¸ vµ gi¶i m· (encode and decode) Session ID cïng víi c¸c th«ng tin liªn hÖ vµ ®Æt vµo c¸c trang Web tríc khi gëi ®i.
f) Http Cookie Object
Nh ®· tr×nh bµy Cookie chØ lµ 1 tËp tin nhá ë m¸y vi tÝnh cña user trong ®ã chøa mäi th«ng tin ®Æc trng cho 1 m¹ng nµo ®ã, tû nh tªn ngêi sö dông vµ mËt m· (username and password) nh»m lu tr÷ th«ng tin c¸ biÖt liªn quan ®Õn tõng user mét khi user lít m¹ng (customize a user's visit to a site).
HttpCookie object cung cÊp c¸c ph¬ng ph¸p (method) ®Ó t¹o ra vµ vËn dông nh÷ng cookies ®ã. Ta cã thÓ dïng HttpCookie Object ®Ó kiÓm tra c¸c ®Æc tÝnh (properties) cña tõng cookie.
Tuy nhiªn, ph¬ng ph¸p (method) dïng Request vµ Response Objects lµ c¸c ph¬ng ph¸p (method) th«ng dông nhÊt ®Ó vËn dông cookie, c¶ hai ®Òu cã ®Æc tÝnh (properties) Cookies mµ gi¸ trÞ cña nã liªn quan (it returns a reference to) ®Õn HttpCookie Object.
- T¹o ra Cookies
Ta dïng Response Object ®Ó t¹o ra Cookies víi 2 c¸ch sau:
T¹o nhiÒu Cookies, mçi cookie kÌm víi mét gi¸ trÞ (gäi lµ Cookies ®a d¹ng, ®¬n gi¸ trÞ - multiple Cookies, each with a single value)
T¹o mét Cookie víi nhiÒu cÆp key/value (gäi lµ Cookie ®¬n d¹ng, ®a gi¸ trÞ)
ThÝ dô:
'KiÓu Cookies ®a d¹ng,®¬n gi¸ trÞResponse.Cookies("MyCookie1").Value = "Single Cookie Value 1"Response.Cookies("MyCookie2").Value = "Single Cookie Value 2"
'KiÓu Cookie ®¬n d¹ng, ®a gi¸ trÞResponse.Cookies("MyASPNETPage").("Username") = "Nang Vu"Response.Cookies("MyASPNETPage").("Password") = "TakeMeHome"
HttpCookie Object cßn vµi ®Æc tÝnh (properties) cÇn lu ý nh sau:
Domain
Path
HasKeys
Secure
- Domain: dïng ®Ó giíi h¹n viÖc sö dông cookies ë mét domain ta chØ ®Þnh, VD nh www.myserver.com
Path: dïng t¬ng tù nh Domain, nhng giíi h¹n viÖc sö dông
cookies ë path chØ ®Þnh nµo ®ã trong Server cña ta.
- HasKeys: b¸o cho ta biÕt Cookie dïng kiÓu '®a d¹ng, ®¬n gi¸ trÞ' víi c¸c
cÆp key/value.
- Secure: b¸o cho ASP.NET biÕt nªn chuyÓn cookie 1 c¸ch an toµn hay kh«ng vµ thêng chØ x¶y ra ë trªn HTTPS protocol. Gi¸ trÞ mÆc ®Þnh (default) cña Secure lµ False.
g) HttpApplication Object
HttpApplication Object gäi lµ Application chØ khi nµo øng dông (application) cña ta khëi ®éng - nghÜa lµ khi cã user yªu cÇu tham kh¶o trang Web trong site cña ta lÇn ®Çu tiªn. Lu ý chØ cã duy nhÊt mét Application object ®uîc t¹o ra cho toµn bé øng dông (application) mµ th«i, kh«ng nh Session object ®îc t¹o ra riªng biÖt cho tõng user mét. Tuy vËy, HttpApplication Object gièng Session Object ë chæ: HttpApplication Object còng ®îc dïng ®Ó lu tr÷ c¸c biÕn sè vµ c¸c ®èi tîng (Object) liªn hÖ. C¸c biÕn sè vµ c¸c ®èi tîng nµy cã hiÖu lùc (available) cho toµn bé øng dông (application) chø kh«ng c¸ biÖt cho mét ai.
ThÝ dô: ta lu tr÷ biÕn sè (variable) tû nh 'Disclaimer' cña øng dông (application) nh sau:
Application("Disclaimer") = "Copyright 2002"
Vµ sau ®ã, ë mçi trang Web ta thu lîm l¹i:
Response.Write(Application("Disclaimer"))
h) HttpServerUtility Object
HttpServerUtility Object ®îc dïng ®Ó cung cÊp nhiÒu 'helper methods' gióp gi¶i quyÕt tiÕn tr×nh yªu cÇu (used in processing requests) cña user. Ta cã thÓ dïng object nµy díi tªn gäi lµ Server ®Ó liªn hÖ c¸c thµnh viªn cña HttpServerUtility Object. C¸c 'helper methods' cã thÓ kÓ ra nh sau:
Redirecting Users
Formatting Strings
Controlling Scripts
Creating Objects
- Redirecting Users
ASP.NET cã thÓ chuyÓn user trùc triÕp qua trang Web kh¸c víi ph¬ng ph¸p (method) Execute vµ Transfer thuéc HttpServerUtility Object. ThËt vËy, Server.Transfer thi hµnh viÖc chuyÓn qua trang Web kh¸c 1 c¸ch ®¬n gi¶n mµ kh«ng ®ßi hái bÊt cø th«ng tin ph¶i gëi tíi browser, c«ng viÖc nµy tiÕn hµnh sau hËu trêng vµ user kh«ng hÒ hay biÕt.
ThÝ dô sau ®©y cho thÊy nguån m· kiÓm tra mËt m· cña user vµ chuyÓn user qua 1 trang Web kh¸c 1 c¸ch trùc tiÕp (vµ ngay tøc kh¾c):
If (strPassword == "TakeMeHome") Server.Transfer("products.aspx")end if
- Formatting Strings
Cã 4 ph¬ng ph¸p (method) c¬ b¶n cÇn ®Ó ý ®Ó cÊu t¹o hay h×nh thµnh 1 hµng ch÷ (format a string):
Server.HTMLEncode
Server.URLEncode
Server.HTMLDecode
Server.HTMLDecode
Server.MapPath
- HTMLEncode
Mçi khi ta gëi kÕt qu¶ (output) tíi browser, ASP.NET tù ®éng th«ng dÞch nguån m· thµnh d¹ng HTML t¬ng ®¬ng, tû nh ®Ó thªm vµo 1 'line break' sau:
Response.Write("")
Tuy nhiªn, mét ®«i khi ta muèn hiÓn thÞ (display) chÝnh hµng ch÷ thay v× 1 'line break' trªn m¸y Client, ta cã thÓ dïng ph¬ng ph¸p (method) HTMLEncode cña ®èi tîng (Object) HttpServerUtility Object.
ThÝ dô sau hiÓn thÞ (display) kÕt qu¶ cña c¸c ký hiÖu <br> trªn m¸y Client vµ user sÏ thÊy hµng ch÷ thËt sù:
Response.Write(Server.HTMLEncode(""))
Lu ý: < lµ nguån m· cña HTML cho ký hiÖu .
- URLEncode
URLEncode dïng nh HTMLEncode nhng h×nh thµnh (format) hµng ch÷ víi c¸c ®iÒu lÖ (rules) dµnh cho URL, tû nh dÊu ampersand (&) vµ dÊu chÊm hái (?) mang mét ý nghÜa ®Æc trng trong c¸c URL, do ®ã Server.URLEncode cÇn chuyÓn c¸c ký hiÖu nh vËy qua d¹ng dïng cho phiªn b¶n URL (URL-encoded version). Ta sÏ thÊy sù quan träng nh thÕ nµo khi x¾p ®Æt 1 hµng ch÷ dïng c¸c ký hiÖu ®ã ®Ýnh kÌm trong 1 querystring.
- HTMLDecode, URLDecode
C¸c ph¬ng ph¸p (method) HTMLDecode vµ URLDecode ®îc dïng nh c¸c HTMLEncode vµ URLEncode t¬ng øng nhng thùc hiÖn 1 tiÕn tr×nh ®¶o ngîc l¹i, nghÜa lµ chuyÓn (dÞch, translate) c¸c chuæi ký hiÖu m· hãa (encoded character sequences) trë l¹i d¹ng nguyªn thñy, tû nh chuyÓn < trë l¹i ký hiÖu < ch¼ng h¹n.
- MapPath
Ph¬ng ph¸p (method) MapPath kh«ng dïng ®Ó h×nh thµnh 1 hµng ch÷ nhng gióp ta x¸c ®Þnh râ rµng c¸c string ta cÇn, nhÊt lµ trong viÖc dÞch (hay chuyÓn) 1 virtual directory path trë l¹i d¹ng nguyªn thuû dïng ë dÜa cøng trong Server (translate a vritual path to a physical path on a server) tû nh chuyÓn:
Server.MapPath("/VovisoftASPNET/Bai05")
thµnh D:\Net\Vovisoft ASPNET\Bai05
§iÒu nµy rÊt tiÖn lîi khi ta cÇn ph¶i biÕt 1 physical path, ch¼ng h¹n nh khi cÇn ph¶i ®äc vµ viÕt c¸c tËp tin ë Server. ë bµi nµy, ta sÏ kh«ng tham kh¶o vÒ viÖc ®äc vµ viÕt c¸c tËp tin ë Server.
- Controlling Scripts
ViÖc kiÓm so¸t sù thi hµnh c¸c ASP.NET script, HttpServerUtility object cã ph¬ng ph¸p (method) ScriptTimeout. ScriptTimeout bè trÝ kho·ng thêi gian Sever ph¶i chê ®îi tríc kÕt thóc 1 script. Ta cã thÓ dïng mÖnh lÖnh sau ®Ó bè trÝ kho·ng thêi gian chê ®îi lµ 90 gi©y nh sau:
Server.ScriptTimeout = 90
- Creating Objects
CreateObject ®îc dïng ®Ó t¹o ra 1 ®èi tîng (Object) ®Þnh h×nh (instantiates a COM object) 1 ®èi tîng (Object) COM x¸c minh víi progid.
2.4. VB.NET
ASP.NET n»m trong cÊu tróc nÒn cña .NET framework vµ dïng .NET programming language nh VB.NET (mét trong 25 ng«n ng÷ lËp tr×nh .NET hiÖn nay) ®Ó ph¸t triÓn trang Web, do ®ã ta còng cÇn biÕt s¬ lît vÒ .NET framework cïng ng«n ng÷ lËp tr×nh VB.NET dïng cho c¸c trang ASP.NET.
VB.NET ®îc dïng ®Ó t¹o ra c¸c trang Web ®Çy n¨ng ®éng víi tÊt c¶ kh¶ n¨ng cña ASP.NET (hay cña .NET Framework). ta t×m hiÓu tæng qu¸t vÒ có ph¸p, cÊu tróc vµ ph¬ng ph¸p lËp tr×nh víi VB.NET cã liªn hÖ Ýt nhiÒu ®Õn c¸c trang ASP.NET.
Tổng quan về VB.Net gồm các c¸c vÇn ®Ò sau:
Kh¸i Niệm vÒ VB.NET
Variables vµ Arrays
Operators
C¸c ®iÒu kiÖn (conditional), looping vµ branching logic
Functions vµ Subroutines
Event Handler
Classes
Vµi øng dông Ých lîi thêng dïng
2.4.1. Giíi thiÖu VB.NET
VB.NET lµ mét trong 25 ng«n ng÷ lËp tr×nh cña .NET ®îc yÓm trî bëi .NET Framework vµ CLR. VB.NET kh¸c h¼n VB6 vµ thËt sù chuyÓn m×nh thµnh 1 ng«n ng÷ lËp tr×nh OOL chÝnh yÕu kh«ng kh¸c g× víi mäi ng«n ng÷ lËp tr×nh kh¸c tû nh ,C#, C++, J++, ... trong m«i trêng x©y dùng ®ñ mäi øng dông cho nÒn Windows vµ quan träng h¬n c¶ lµ viÖc häc VB.NET dÔ dµng h¬n nhiÒu (its learning curve is not very steep). Do ®ã, VB.NET ®îc chän lµ ng«n ng÷ lËp tr×nh cho c¸c trang ASP.NET. NÕu b¹n thÝch, b¹n cã thÓ dïng C# hay C++ thay v× VB.NET chuyÖn ®æi qua ®æi l¹i gi÷a c¸c ng«n ng÷ lËp tr×nh chØ lµ chuyÖn ... nhá, v× sù kh¸c biÖt phÇn lín lµ vÒ có ph¸p (syntax) chø nguyªn t¾c vµ cÊu tróc lËp tr×nh th× gièng y chang. Nhí lµ dï ta dïng bÊt cø ng«n ng÷ lËp tr×nh nµo, khi biªn dÞch vÉn ph¶i qua ng«n ng÷ trung gian Intermediate Language (IL) vµ qu¶n lý bëi CLR.
2.4.1.1. Variables và Arrays
a) Variables
Variables lµ tõ tæng qu¸t gäi lµ biÕn sè dïng lu tr÷ d÷ kiÖn (data) trong bé nhí (memory) cña m¸y vi tÝnh. Ta ph¶i tuyªn bè (declare) biÕn sè tríc khi dïng víi keyword Dim tû nh declare myVariable víi lo¹i (Data Type) String:
'KiÓu explicit declaration - VB.NET ®îc b¸o cho biÕt ta muèn lu tr÷ 1 string trong memory location ®ãDim myVariable As String
Data Types chia ra lµm 5 categories gåm 10 lo¹i c¬ b¶n gäi lµ primitive types:
Type
Category
Description
Byte
Integers
1 byte (®îc biÕt nh System.Int)
Short
Integers
2 bytes (System.Int16)
Integer
Integers
4 bytes (System.Int32)
Long
Integers
8 bytes (System.Int64)
Single
Floating-ppints
4 bytes víi decimal point (System.Single)
Double
Floating-ppints
8 bytes (System.Doublel)
Decimal
Floating-ppints
12 bytes (System.Decimal)
Char
String
single Unicode character (System.Char)
Date
Dates
ngµy giê (Ssytem.DateTime)
Boolean
Boolean
Cã/Kh«ng hay #óng/Sai , True/False (System.Boolean)
b)Arrays
Arrays lµ 1 tËp hîp c¸c biÕn sè ®îc liªn hÖ riªng biÖt qua chØ sè (index) cña Arrays, b¾t ®Çu víi index b»ng sè 0.
Mäi biÕn sè trong Array ph¶i cïng lo¹i d÷ kiÖn (same data type), kh«ng thÓ trén lÉn nhiÒu lo¹i kh¸c nhau.
Array ®îc tuyªn bè (declare) nh thÝ dô sau ®©y:
Dim myArray(9) As Integer
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" }
2.4.1.2. Operators (Ký hiÖu To¸n).
§iÒu kiÖn (conditional), looping vµ branching logic
Ta sÏ tham kh¶o có ph¸p 3 logic sau:
Conditional Logic
Looping Logic
Branching Logic
a) Conditional Logic
Conditional Logic cho phÐp ta chØ ®Þnh nguån m· nµo ®îc thi hµnh tïy theo ®iÒu kiÖn ®Æt ra cã phï hîp hay kh«ng. Cã nhiÒu ph¬ng ph¸p (method) ®Ó qu¶n lý conditional logic nh sau:
Ph¬ng ph¸p (method) dïng If statements
Ph¬ng ph¸p (method) dïng Case statements
- If statements
Tæng céng 3 kiÓu có ph¸p nh sau:
If (condition) Then (your code) ... ...End If
NÕu ®iÒu kiÖn ®îc tho¶ m¶n (condition = True), nguån m· gi÷a If vµ End If sÏ ®îc thi hµnh hoÆc:
If (condition) Then (your code for condition = True) ... ...Else (your code for condition = False) ... ...End If
§Ó thi hµnh nguån m· khi condition = True hoÆc False vµ
If (condition 1) Then (your code for condition 1 = True) ... ...ElseIf (condition 2) Then (your code for condition 2 = True) ... ...Else (ngoµi ra, thi hµnh code ë ®©y - your code for condition 1 and condition 2 = False) ... ...End If
§Ó thi hµnh nguån m· khi condition 1 = True hoÆc condition 2 = True hoÆc khi c¶ hai condition 1 vµ condition 2 = False.
- Case statements
Case statement thêng gäi lµ Select statement gièng nh trêng hîp If víi nhiÒu ElseIf nhng Case chØ kiÓm tra mét biÕn sè vµ tïy theo gi¸ trÞ cña biÕn sè mµ ®¸p øng sao cho thÝch hîp. Có ph¸p nh sau:
Select Case variable Case option 1 Code for option 1 Case option 2 Code for option 2 Case Else Code End Select
b) Looping Logic
Looping logic cho phÐp ta t¸i thi hµnh (hay lËp ®i lËp l¹i) 1 c«ng viÖc nµo ®ã cho tíi khi tho¶ m¶n ®iÒu kiÖn ®· ®Þnh tríc. KiÓu nµy gåm cã 3 lo¹i:
While
Do
For
- While Loops
Có ph¸p cña 1 While loop nh sau:
While condition Your CodeEnd While
ThÝ dô ta muèn bè trÝ 1 m¸y ®Õm (counter) tõ 1 ®Õn 9 vµ hiÓn thÞ (display) kÕt qu¶ b»ng sè ë browser:
'Bè trÝ counter lo¹i Integer víi gi¸ trÞ 1Dim intCounter As Integer = 1
'Bè trÝ While loop vµ hiÓn thÞ (display) gi¸ trÞ cña counter ë browserWhile intCounter ") intCounter += 1 End While
Ta nhËn thÊy khi gi¸ trÞ cña intCounter b»ng 9, loop sÏ hiÓn thÞ (display) sè 9 vµ sau ®ã céng 1 vµo intCounter thµnh ra 10 sÏ khiÕn cho ®iÒu kiÖn intCounter < 10 sÏ trë thµnh False, m· sÏ nh¶y ra (exit) khái loop (loop exit), do ®ã ta chØ thÊy browser hiÓn thÞ (display) c¸c sè tõ 1 ®Õn 9 mµ th«i.
- Do Loops
Do loop còng t¬ng tù nh while loop, chØ kh¸c ë chæ Do loop thi hµnh c«ng viÖc tríc råi míi kiÓm tra ®iÒu kiÖn xem cã phï hîp kh«ng? KiÓu nµy cã thÓ gäi lµ kiÓu ... 'tiÒn tr¶m hËu tÊu' kh¸c víi While loop lµ ... 'tiÒn tÊu hËu tr¶m' (?). Có ph¸p nh sau:
'Bè trÝ counter lo¹i Integer víi gi¸ trÞ 1Dim intCounter As Integer = 1
'Bè trÝ Do loop vµ hiÓn thÞ (display) gi¸ trÞ cña counter ë browserDo Response.Write(intCounter & "") intCounter += 1 Loop While intCounter < 10
LÇn nµy cã sù kh¸c biÖt so víi While loop v× Do loop hiÓn thÞ (display) gi¸ trÞ cña intCounter tríc, céng thªm 1 råi míi kiÓm tra ®iÒu kiÖn. Ta ph¶i lu ý thø tù thi hµnh trong trêng hîp nµy, tû nh ta bè trÝ gi¸ trÞ cña intCounter = 10 ch¼ng h¹n, ta thÊy browser sÏ hiÓn thÞ (display) 10 tríc khi loop kiÓm tra ®iÒu kiÖn lµ intCounter ph¶i nhá h¬n (<) 10 vµ m· nh¶y ra khái loop sau ®ã.
- For Loops
Ta dïng For loop khi biÕt tríc sÏ lËp ®i lËp l¹i viÖc thi hµnh nguån m· bao nhiªu lÇn. M¸y ®Õm trong trêng hîp nµy (tù ®éng t¨ng hay gi¶m tïy theo c¸ch bè trÝ) sÏ th«ng b¸o chÝnh loop cña nã khi nµo chÊm døt. Có ph¸p nh sau:
For intCounter = 1 to 10 Response.Write(intCounter & "")Next
hoÆc lµ:
For intCounter = 10 to 1 Step -1 Response.Write(intCounter & "")Next
For loop cßn cã 1 d¹ng kh¸c lµ For each ... loop, thêng dïng ®Ó vËn dông c¸c thµnh phÇn (hay yÕu tè - elements) trong 1 bé su tËp (collection) tû nh Array ch¼ng h¹n:
'Bè trÝ 1 Array gåm c¸c ngµy trong tuÇnDim arrayWeekDays( ) As String = {"Mon", "Tue", "Wed", "Thu", "Fri"}
For each strDay in arrayWeekDays Response.Write(strDay & "")Next
Thay v× dïng sè nh trêng hîp m¸y ®Õm intCounter trong 2 d¹ng For loop trªn, ë ®©y For each ... in dïng 'strDay' ®Ó Ên ®Þnh tõng elements mét theo thø tù 'Mon', 'Tue', .... cho tíi 'Fri' trong bé su tËp array mang tªn 'arrayWeekDays'. Do ®ã, ta thÊy browser sÏ hiÓn thÞ (display) 5 hµng ch÷, mçi hµng lµ ngµy trong tuÇn.
- Infinite Loop
§Ó ý coi chõng trong khi dïng c¸c loop mµ ta ph¶i tù qu¶n lý viÖc t¨ng hay gi¶m m¸y ®Õm cho loop, nÕu kh«ng khÐo, ta sÏ r¬i vµo ... 'mª hån trËn' kh«ng cã lèi tho¸t gäi lµ infinite loop. #©y còng lµ 1 trêng hîp ngÉu nhiªn mµ lÇn ®Çu tiªn bµ con kh¸m ph¸ ra virus v× infinite loop nhanh chãng tiªu hao hay lµm kiÖt quÖ c¸c tµi nguyªn trong m¹ng vµ ®«i khi cã thÓ kÐo c¶ m¹ng tÐ bÊt ngê (cause the site to crash).
NÕu ta muèn nh¶y ra khái loop tríc loop chÊm døt, ta cã thÓ dïng keyword Exit Do (trong Do loop) hay Exit For (trong For loop), tû nh:
'Bè trÝ counter lo¹i Integer víi gi¸ trÞ 1Dim intCounter As Integer = 1
'Bè trÝ Do loop vµ hiÓn thÞ (display) gi¸ trÞ cña counter ë browserDo Response.Write(intCounter & "") intCounter += 1 If intCounter = 8 then Exit Do End IfLoop While intCounter < 10
hay
For intCounter = 1 to 10 Response.Write(intCounter & "") If intCounter = 8 then Exit For End IfNext
c) Branching Logic
Branching logic cho phÐp nguån m· thi hµnh ë nh÷ng híng kh¸c nhau, tû nh ta muèn nguån m· t¸i thi hµnh ë mét vÞ thÕ kh¸c vµ cã thÓ ®îc dïng ®i dïng l¹i nhiÒu lÇn trong c¸c t×nh huèng kh¸c nhau.
Tæng qu¸t cã 2 lo¹i barnching logic:
Functions
Subroutines
§Ó ph©n biÖt, ta ®Ó ý Functions tÝnh to¸n c¸c gi¸ trÞ cßn Subroutines thi hµnh c¸c c«ng viÖc (Functions compute values and Subroutines perform actions), nh vËy Functions sÏ tr¶ l¹i th«ng tin ®· tÝnh to¸n vÒ n¬i gäi Functions, ngîc l¹i Subroutines thi hµnh c«ng t¸c nµo ®ã nhng kh«ng tr¶ l¹i g× hÕt (return nothing).
- Functions
Có ph¸p nh sau:
Function FunctionName (Parameter1 As Type, ... , ParameterN As Type) As ReturnType 'you code here Return ReturnValueEnd Function
d) Vµi VB.NET Function tiÖn dông:
Sau ®©y lµ vµi VB.NET Functions ®· so¹n s¼n trong .NET Framework ta cã thÓ dïng trong trang Web cña khãa:
C¸c functions vÒ Date vµ Time
Function
PhÇn diÔn t¶ c«ng dông
date(datetime)
Tr¶ l¹i 1 sè tõ 1 tíi 31 biÓu thÞ ngµy trong th¸ng.
dayofweek
Tr¶ l¹i 1 sè tõ 0 (Sunday) tíi 6 (Saturday) biÓu thÞ ngµy trong tuÇn.
dateDiff(dateinterval, date1,date2[, firstdayofweek[, dirstdayofyear]])
Tr¶ l¹i 1 sè diÔn t¶ kho·ng thêi gian c¸ch biÖt gi÷a 2 ngµy: ngµy 1 (date1) vµ ngµy 2 (date2). Sè nµy cã thÓ ë díi 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).
hour(time)
Tr¶ l¹i 1 sè tõ 0 tíi 23 biÓu thÞ giê trong ngµy.
isdate(datetime)
Tr¶ l¹i 1 sè Boolean x¸c minh datetime cã ph¶i lµ 1 ngµy hîp lÖ kh«ng?
minute(time)
Tr¶ l¹i 1 sè tõ 0 tíi 59 biÓu thÞ phót trong giê.
month(datetime)
Tr¶ l¹i 1 sè tõ 1 tíi 12 biÓu thÞ th¸ng trong datetime.
now( )
Tr¶ l¹i díi d¹ng datetime ngµy giê hiÖn thêi
second(time)
Tr¶ l¹i 1 sè tõ 0 tíi 59 biÓu thÞ gi©y trong phót.
year(datetime)
Tr¶ l¹i 1 sè biÓu thÞ cho n¨m (cã gi¸ trÞ tõ 1 tíi 9999)
C¸c Functions vÒ 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) cña value.
atan(value)
Tr¶ l¹i sè arctangent cña value.
cos(value)
Tr¶ l¹i sè cosin cña value.
exp(value)
Tr¶ l¹i sè exponent cña value.
fix(value)
Tr¶ l¹i phÇn integer cña value, rounding up cho c¸c sè ©m (negative numbers).
hex(value)
Tr¶ l¹i sè hexadecimal cña value (base 10 to base 16).
int(value)
Tr¶ l¹i phÇn integer cña value, rounding down cho c¸c sè ©m (negative numbers).
log(value)
Tr¶ l¹i sè nature logarithm cña value.
oct(value)
Tr¶ l¹i sè octal cña 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 cña value.
sin(vlaue)
Tr¶ l¹i sè sin cña value.
sqrt(value)
Tr¶ l¹i sè c¨n 2 (squareroot) cña value.
tan(value)
Tr¶ l¹i sè tangent cña value.
C¸c Functions vÒ hµnh ch÷ (Strings)
Function
PhÇn diÔn t¶ c«ng dông
instr(start, ]string1, string2[, compare)
Tr¶ l¹i sè biÓu thÞ vÞ trÝ 1 cña string 2 trong string 1, ngoµi ra tr¶ l¹i sè 0. Compare cã thÓ díi d¹ng 0 (=BinaryCompare) hay 1 (=TextCompare).
left(string, length)
Tr¶ l¹i 1 string chøa 1 sè ch÷ (dµi = length) b¾t ®Çu tõ phÝa bªn tr¸i cña hµng ch÷.
len(string | variable)
Tr¶ l¹i 1 sè biÓu thÞ chiÒu dµi cña string hay tæng sè bytes mµ variable chøa ®ùng.
mid(string, start[, length])
Tr¶ l¹i 1 string chøa trong 1 string kh¸c, b¾t ®Çu tõ vÞ trÞ start kÐo dµi víi gi¸ trÞ cña length.
replace(expression, find, replace[, start[, count[, compare]]])
Thay thÕ gi¸ trÞ find trong biÓu thøc expression b»ng gi¸ trÞ replace b¾t ®Çu cë vÞ trÝ start víi sè lÇn thay thÕ count. Lu ý giµ trÞ mÆc ®Þnh cña count lµ -1 - nghÜa lµ thay thÕ tÊt c¶ g× truy t×m ®îc, compare dïng díi d¹ng 0 hay 1 nh trong phÇn instr.
right(string, length)
Tr¶ l¹i 1 string chøa 1 sè ch÷ (dµi = length) b¾t ®Çu tõ phÝa bªn ph¶i cña hµng ch÷.
- Subroutines
Có ph¸p nh sau:
Sub SubroutineName (Parameter1 As Type, ... , ParameterN As Type) 'you code here End Sub
ThÝ dô subroutine Page_Load rÊt phæ th«ng mµ ta thêng dïng trong c¸c trang ASP.NET :
Sub Page_Load (Obj As object, e As eventargs) 'you code here End Sub
C¸c biÕn sè (variables) trong ( ) gäi lµ th«ng sè (parameters hay arguments), nÕu häp thµnh 1 nhãm, ta gäi parameter list. Subroutine chuyÓn vµ vËn dông c¸c gi¸ trÞ cña th«ng sè vµo bªn trong subroutine ®Ó thi hµnh 1 c«ng t¸c nµo ®ã.
e) Event Handler
NÕu ®Ó ý, ta thÊy 1 trong nh÷ng th«ng sè (parameters) sö dông ë bµi tËp trªn lµ th«ng sè vÒ sù cè (EventArgs). Trong c¸c trang Web cña ASP.NET , sù cè cã thÓ x¶y ra bÊt cø lóc nµo, tû nh user nhÊp mòi chuét vµo 1 nót nµo ®ã trªn Form hoÆc nhÊp vµo 1 h×nh ¶nh, do ®ã ta cÇn chuÈn bÞ vµ t¹o ra c¸i gäi lµ event handler ®Ó cã thÓ ®¸p øng l¹i c¸c sù cè ®ã. Có ph¸p cña event handler gièng y chang nh có ph¸p cña subroutine, sù kh¸c biÖt lµ n»m ë parameters list víi th«ng sè chØ riªng cho lo¹i EventArgs. Khi 1 sù cè khëi ®éng, sù cè ®ã sÏ t¹o ra c¸c biÕn sè nh»m diÓn t¶ viÖc g× ®· x¶y ra vµ event handler sÏ dùa trªn c¸c biÕn sè ®ã ®Ó ph¶n øng sao cho thÝch hîp.
f) Classes
Classes lµ phÇn ta x¸c ®Þnh hay ®Þnh nghÜa c¸c ®èi tîng (Object) tû nh ®Ó ®Þnh nghÜa 1 c¸i ®ång hå, ta diÔn t¶ kim giê, kim phót, kim gi©y cïng c¸c con sè chØ giê, c¸ch bè trÝ giê giÊc hay ngµy th¸ng n¨m, ... T¬ng tù nh thÕ, class ®Þnh nghÜa ®èi tîng (Object) qua c¸c ®Æc tÝnh (properties) vµ c¸c ph¬ng ph¸p (method) biÓu thÞ ®Æc trng cho class.
Ta nªn nhí râ 1 ®iÒu: '
Các file đính kèm theo tài liệu này:
- luan van.doc
- Bao Cao.ppt