Đồ án Thanh toán cước điện thoại qua Internet

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: .

 

doc56 trang | Chia sẻ: lethao | Lượt xem: 1516 | Lượt tải: 1download
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µ l­u 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 tr­ng cho 1 m¹ng nµo ®ã, tû nh­ tªn ng­êi sö dông vµ mËt m· (username and password) nh»m l­u 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 l­u ý 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, nh­ng 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. L­u ý 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 ®Ó l­u 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 l­u 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("")) L­u ý: < lµ nguån m· cña HTML cho ký hiÖu . - URLEncode URLEncode dïng nh­ HTMLEncode nh­ng 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 tr­ng 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 nh­ng 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÷ nh­ng 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 l­u 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 l­u 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 nh­ng 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 Code End 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Þ 1 Dim intCounter As Integer = 1 'Bè trÝ While loop vµ hiÓn thÞ (display) gi¸ trÞ cña counter ë browser While 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Þ 1 Dim intCounter As Integer = 1 'Bè trÝ Do loop vµ hiÓn thÞ (display) gi¸ trÞ cña counter ë browser Do    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 l­u ý 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é s­u tËp (collection) tû nh­ Array ch¼ng h¹n: 'Bè trÝ 1 Array gåm c¸c ngµy trong tuÇn Dim 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é s­u 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Þ 1 Dim intCounter As Integer = 1 'Bè trÝ Do loop vµ hiÓn thÞ (display) gi¸ trÞ cña counter ë browser Do    Response.Write(intCounter & "")    intCounter += 1    If intCounter = 8 then       Exit Do    End If Loop While intCounter < 10 hay For intCounter = 1 to 10    Response.Write(intCounter & "")    If intCounter = 8 then       Exit For    End If Next 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 ®ã nh­ng 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 ReturnValue End 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. L­u ý 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 tr­ng cho class. Ta nªn nhí râ 1 ®iÒu: '

Các file đính kèm theo tài liệu này:

  • docluan van.doc
  • pptBao Cao.ppt