Giáo trình Ngôn ngữ lập trình Visual Basic

pdf 106 trang ngocly 1870
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Ngôn ngữ lập trình Visual Basic", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_ngon_ngu_lap_trinh_visual_basic.pdf

Nội dung text: Giáo trình Ngôn ngữ lập trình Visual Basic

  1. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr LÔØI NOÙI ÑAÀU Döïa vaøo kinh nghieäm thöïc teá trong vieäc vieát caùc chöông trình ñieàu khieãn cuõng nhö laäp trình cô sôû döõ lieäu baèng nhieàu ngoân ngöõ laäp trình khaùc nhau, toâi ñaõ ñuùc keát ra caùc phöông phaùp hoïc laäp trình laøm sao ñeå caùc baïn coù theå tieáp caän ngoân ngöõ Visual Basic moät caùch nhanh choùng vaø coù khaû naêng laäp trình treân noù deã daøng nhaát vaø hieäu quaû nhaát. Moät soá ñaëc ñieåm quan troïng nhaát, coù theå xem noù nhö moät böôùc tieán mang tính caùch maïng cuûa caùc ngoân ngöõ laäp trình Visual treân Windows so vôùi caùc ngoân ngöõ laäp trình For Dos tröôùc ñaây. Ñoù laø laäp trình höôùng ñoái töôïng vaø giao dieän ñoà hoaï. Vôùi caùc öu ñieåm tuyeät vôùi naøy vieäc laäp trình trôû neân voâ cuøng ñôn giaûn cho ngöôøi laäp trình vaø phía ngöôøi söû duïng thì chöông trình seõ trôû neân raát deå daøng vaø raát tieän ích trong vieäc khai thaùc vaän haønh. Taøi lieäu naøy laø laàn bieân soaïn ñaàu tieân neân chaén chaén seõ khoâng traùnh khoûi caùc thieáu soùt, trong quaù trình giaûng daïy toâi seõ ghi nhaän caùc thieáu soùt vaø hieäu chænh vaøo laàn bieân taäp sau. TPHCM, ngaøy 30/08/2004 Taùc giaû Buøi Thö Cao Giaùo trình VB 1
  2. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr Môc Lôc 1 . Giíi thiÖu ng«n ng÷ lËp tr×nh visual basic 4 1.1 XuÊt sø 1.2 c¸c Ên b¶n cña Visua Basic 6.0 1.3 H−íng dÉn cµi ®Æt Visual Basic: 1.3.1 Cµi ®Æt tõ CD: 1.3.2 Thªm hoÆc xo¸ c¸c thµnh phÇn trªn Visual Basic: 2. Giao diÖn Windows chÝnh cña Visual Basic 7 2.1 Giao diÖn Windows chÝnh cña Visua Basic 2.1.1 Khëi ®éng Visua Basic 2.2 C¸c Menu chÝnh cña Visual Basic 2.2.1 Kh¶o s¸t Menu Bar 2.2.2 Kh¶o s¸t menu File 2.2.3 : Kh¶o s¸t Menu Edit 2.2.4 Kh¶o s¸t menu View 2.2.5 Kh¶o s¸t Menu Project: 2.2.6 Kh¶o s¸t Menu Format: 2.2.6: Kh¶o s¸t Menu Debug: 2.2.7: Kh¶o sat menu Run: 2.2.8: Kh¶o s¸t menu Window: 2.2.9: Kh¶o s¸t menu Help: 2.2.10: Thanh c«ng cô Tollbal: 2.2.11: Hép c«ng cô Toolbox: 3. G iao diÖn CUÛA FORM 24 3.1: Giíi thiÖu vÒ From: 3.2: C¸c tÝnh chÊt vÒ Form: 3.3: Giíi thiÖu vÒ MDI form: 3.3.1: HiÓn thÞ IDE 3.3.2: T×m hiÓu vÒ øng dông MDI: 3.3.3 øng dông MDI: 3.3.4 N¹p tho¸t biÓu mÉu: Giaùo trình VB 2
  3. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr 3.3.5 C¸c tÝnh chÊt cña form 4. L Ëp tr×nh mP nguån trªn Visual BasiC 33 4.1. Khai b¸o biÕn: 4.1.1 BiÕn 4.1.2 Khai b¸o biÕn: 4.1.3 Khai b¸o ngÇm: 4.1.4 Khai b¸o t−êng minh : 4.1.5 Khai biÕn Static: 4.1.6 C¸c to¸n tö cë së: 4.1.6.1 To¸n tö g¸n: 4.1.6.2. To¸n tö tÝnh to¸n : 4.1.6.3.To¸n tö nèi chuçi & : 4.1.6.4 To¸n tö so s¸nh 4.2 TËp lÖnh c¬ b¶n cña VisualBasic: 4.2.1 KiÓu d÷ liÖu: 4.2.2 If .Then 4.2.3 Select Case: 4.2.4 For .Next ( vßng lÆp ): 4.2.5 Do While ( vßng lÆp ): 4.2.6 Ph¸t biÓu g¸n: 4.3 C¸c hµm c¬ b¶n cña VisualBasic: 4.4 Mét sè vÝ dô minh ho¹ cho c¸c hµm 5. LËP TR×NH h−íng ®èi t−îng 44 5.1. giíi thiÖu vÒ ®èi t−îng 5.1.1 §èi t−îng trong Visual Basic 5.1.1.2 Mét sè ®èi t−îng c¬ b¶n 5.1.2 M«-§un Líp 5.1.2.1 Thuéc tÝnh vµ ph−¬ng thøc cña líp 5.1.2.1.1. Thuéc tÝnh cña líp – Public vµ Private 5.1.2.1.2 ph−¬ng thøc cña líp 5.1.2.1.3. KiÓm tra gi¸ trÞ thuéc tÝnh 5.1.3 tham sè tuú chän 5.1.3.1 Thuéc tÝnh chØ ®−îc ®äc ( Read – Only ) 5.1.4 sù kiÖn cña líp 5. 2.biÕn ®èi t−îng 5.2.1 t¹o ®iÒu khiÓn lóc hiÖn hµnh 5.2.2 sù kiÖn cña m¶ng ®iÒu khiÓn 5.2.3 Qu¶n lý ®iÒu khiÓn nh− biÕn ®èi t−îng 5.2.3.1 Hµm kiÓm tra hép v¨n b¶n Giaùo trình VB 3
  4. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr 5.2.4 Khai b¸o biÕn ®èi t−îng 5.2.4 Khai b¸o biÕn ®èi t−îng 5.2.4.1 KiÓu biÕn ®èi t−îng 5.3 tËp hîp ( Collection ) 5.3.1 THUéC TÝNH CONTROLS 5.3.2 x¸c ®Þnh ®iÒu khiÓn trªn biÓu mÉu 6. C¸c bµi t AÄP øng dông cña Form 60 7. Nh÷ng kh¸i niÖm c¬ b¶n vÒ c¬ së d÷ liÖu 71 7.1 C¬ së d÷ liÖu lµ g× 7.1.1Bé m¸y (Engine) c¬ së d÷ liÖu lµ g× ? 7.1.2 B¶ng vµ tr−êng 7.1.2.1 thiÕt kÕ c¬ së d÷ liÖu 7.1.3 recordest lµ g× ? 7.1.4 c¸c kiÓu d÷ liÖu 7.1.5:T¹o l−îc ®å c¬ së d÷ liÖu 7.1.5.1 Dïng Visio ®Ó t¹o l−îc ®å 7.1.5.1.1 VÏ b¶ng thø nhÊt 7.1.5.1.2 VÏ b¶ng thø hai 7.1.5.1.3 VÏ mèi quan hÖ gi÷a hai b¶ng 7.1.6 Dïng mét Visua Basic ®Ó t¹o mét c¬ së d÷ liÖu 7.1.6.1 Sö dông cöa sæ c¬ së d÷ liÖu 7.1.6.2 t¹o b¶ng 7.1.6.3 Thay ®æi thuéc tÝnh cña c¸c tr−êng s½n cã 7.1.6.3.1: Söa ®æi chiÒu dµi cña tr−êng LastName 7.1.6.3.2: Xo¸ chØ môc 7.1.6.3.3: Xo¸ tr−êng LastName 7.1.6.4: Dïng Visual Data Manager ®Ó t¹o giao diÖn 7.1.7 chuÈn ho¸ 7.1.7.1 quan hÖ mét - mét 7.1.7.2 quan hÖ mét – NhiÒu 7.1.7.3 quan hÖ nhiÒu – NhiÒu 7.2 Sö Dông cöa sæ xem d÷ liÖu 7.3 t¹o tr×nh thiÕt kÕ m«I tr−êng d÷ liÖu 7.3.1T¹o mét giao diÖn ng−êi sö dông víi thiÕt kÕ Dataenvironment 7.4 sö dông ®iÒu khiÓn d÷ liÖu ®Ó t¹o giao diÖn ng−êi sö dông 7.3 VÍ DUÏ MINH HOAÏ LAÄP TRÌNH CÔ SÔÛ DÖÕ LIEÄU Giaùo trình VB 4
  5. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr 1 . Giíi thiÖu ng«n ng÷ lËp tr×nh visual basic 1.1 XuÊt sø Chóng ta ® tõng quen biÕt víi ng«n ng÷ lËp tr×nh trong m«i tr−êng hÖ ®iÒu hµnh MSDOS, PC-DOS, Microsoft ra ®êi ® cho ra hµng lo¹t øng dông vµ Microsoft Visual Basic lµ c¸ch nhanh nhÊt vµ tèt nhÊt ®Ó t¹o c¸c tr×nh øng dông dµnh cho Microsoft Windows . VËy Visual Basic lµ g× ?. PhÇn “ Visual ” ®Ò ®Õn ph−¬ng ph¸p ®−îc sö dông ®Ó t¹o giao diÖn ®å ho¹ ng−êi sö dông C¸ch viÕt dßng sè m« t¶ ,viÖc xuÊt hiÖn vµo vÞ trÝ cña c¸c yÕu tè giao diÖn mét c¸ch ®¬n gi¶n lµ b¹n thªm bæ xung c¸c ®èi t−îng ®−îc t¹o tr−íc ®ã vµo vÞ trÝ trªn mµn h×nh NÕu b¹n ® tõng sö dông ch−¬ng tr×nh vÏ nh− Pain , b¹n ® cã s½n c¸c kü n¨ng cÇn thiÕt ®Ó t¹o mét hiÖu øng giao diÖn ngußi dïng PhÇn “ Basic” (Beginnes – All – Purpose Symbolic Instruction Code ) . §Ò cËp ®Õn ng«n ng÷ Basic mét ng«n ng÷ ®−îc c¸c nhµ lËp tr×nh sö dông nhiÒu h¬n bÊt k× ng«n ng÷ kh¸c trong lÞch sö m¸y tÝnh Visual Basic ®−îc giíi thiÖu lÇn ®Çu tiªn vµo n¨m 1991, tõ ng«n ng÷ lËp tr×nh Basic gèc trªn hÖ ®iÒu hµnh DOS . Mi ®Õn cuèi n¨m 1992 , khi phiªn b¶n 3.0 ra ®êi víi rÊt nhiÒu c¶i tiÕn so víi phiªn b¶n tr−íc ®ã, Visual Basic míi thùc sù trë thµnh mét trong nh÷ng c«ng cô chÝnh ®Ó ph¸t triÓn c¸c øng dông trªn Windows . Nh÷ng ng−êi míi b¾t ®Çu cã thÓ viÕt ch−¬ng tr×nh b»ng c¸ch chØ häc mét vµi Commands , Functions vµ Keywords Kh¶ n¨ng cña ng«n ng÷ cho phÐp nh÷ng ng−êi chyªn nghiÖp hoµn thµnh bÊt k× ®iÒu g× nhê sö dông ng«n ng÷ lËp tr×nh MSWindows nµo kh¸c Tãm l¹i ng«n ng÷ lËp tr×nh Visual Basic lµ ng«n ng÷ lËp tr×nh h−íng ®èi t−îng nã rÊt m¹nh vÒ lËp tr×nh c¬ së d÷ liÖu Visual Basic cßn cã hai d¹ng kh¸c : Visua Basic For Application (VBA ) vµ VBScript .VBA lµ ng«n ng÷ n»m phÝa sau c¸c ch−¬ng tr×nh Word , Excel, MSAccess, Msproject cßn gäi lµ Macros . Dïng VBA trong MSOffice ta cã thÓ lµm t¨ng chøc n¨ng b»ng c¸ch tù ®éng ho¸ c¸c ch−¬ng tr×nh VBScript ®−îc dïng cho Internet vµ chÝnh Operating System Dï cho môc ®Ých cña b¹n l aø t¹o mét tiÖn Ých nhá cho riªng b¹n , trong mét nhãm laøm viÖc cña b¹n , trong mét c«ng ty lín, hay hay cÇn ph©n bè ch−¬ng tr×nh øng dông réng ri trªn toµn thÕ giíi qua Internet, VB6 còng sÏ cã c¸c c«ng cô lËp tr×nh mµ b¹n cÇn thiÕt. 1.2. c¸c Ên b¶n cña Visua Basic 6.0 Cã ba Ên b¶n VB6: Learning, Professional vµ Enterprise . Chóng ta hy g¹t qua Ên b¶n Learning . B¹n cã thÓ dïng Ên b¶n Learning, Enterprisse vµ Professional . Ên b¶n Professional cung cÊp ®Çy ®ñ nh÷ng g× b¹n cÇn ®Ó häc v aø triÓn khai mét ch−¬ng tr×nh VB 6 , nhÊt l aø c¸c Control ActiveX , nh÷ng bé phËn lËp tr×nh tiÒn ®Ò v eà rÊt h÷u dông cho c¸c ch−¬ng tr×nh øng dông ( Application Programs ) cña b¹n trong t−¬ng lai. Ngoaøi ®Üa Giaùo trình VB 5
  6. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr Compact chÝnh cho VB6, taøi liÖu ®Ýnh kÌm gåm cã s¸ch Visual Studio Professional Features v aø hai ®Üa CD Microsoft Developer Network (MSDN). Ên b¶n Enterprise l aø Ên b¶n Professional céng thªm c¸c c«ng cô Back Office ch¼ng h¹n nh− SQL Server, Microsoft Transaction Server, Internet Information Server . §Æc §iÓm cña Visual Basic: Kh¸c víi m«i tr−êng lËp tr×nh thñ tôc trøoc ®©y trong hÖ ®iÒu hµnh Dos nh− trong Pascal ch¹y Foxpro , Visual Basic lµ m«i tr×nh h−íng biÕn cè trªn hÖ ®iÒu hµnh W indows . Sù kh¸c nhau gi÷a h−íng thñ tôc h−íng biÕn cè. Trong c¸c m«i tr−êng lËp tr×nh h−íng thñ tôc, ng−êi lËp tr×nh ph¶i x¸c ®Þnh tr−íc tuÇn tù thùc hiÖn tuÇn tù cña tõng lÖnh vµ tõng thñ tôc cã trong ch−¬ng tr×nh. Cã nghÜa sau lÖnh nµy hä ph¶i thùc hiÖn lÖnh tiÕp theo, Víi m«i tr−êng lËp tr×nh h−íng biÕn cè nh− Visual Basic th× ng−êi lËp tr×nh chØ viÖc ®Þnh nghÜa nh÷ng lÖnh nµo cÇn thùc hiÖn khi cã mét biÕn cè do ng−êi dïng t¸c ®éng lªn ch−¬ng tr×nh mµ kh«ng quan t©m ®Õn tuÇn tù c¸ch xö lý nh©p liÖu`. VÝ dô: Mét ch−¬ng tr×nh ®¬n gi¶n nh− h×nh d−íi ®©y cã môc tiªu lµ nhËp vµo hai sè céng vµ ®¬n gi¸ c«ng viÖc, tÝnh vµ in ra tiÒn c«ng ph¶i tr¶. Víi h−íng thñ tôc, ng−êi lËp tr×nh ph¶i viÕt ra c¸c lÖnh theo tuÇn tù ®−îc x¸c ®Þnh nh− sau: • Chê ng−êi dïng nhËp vµo gi¸ trÞ céng • Chê ng−êi dïng nhËp vµo gi¸ trÞ ®¬n gi¸ c«ng viÖc • TÝnh tiÒn c«ng = Sè c«ng * §¬n gi¸ c«ng viÖc • In gi¸ tiÒn Trong khi ®ã, víi m«i tr−êng lËp tr×nh h−íng biÕn cè ng−êi lËp tr×nh sÏ kh«ng quan t©m tuÇn tù thùc hiÖn cña c¸c lÖnh nhËp mµ chØ ®Þnh nghÜa c¸c lÖnh xö lý t−¬ng øng víi c¸c lÖnh x¶y ra • BiÕn cè khi ng−êi dïng nhÊn chuét t¹i nót tÝnh - TÝnh tiÒn c«ng = Sè c«ng * §¬n gi¸ - G¸n gi¸ trÞ tiÒn c«ng vµo « tiÒn c«ng • BiÕn cè khi ng−êi dïng nhÊn chuét t¹i nót tho¸t - Tho¸t khái øng dông Giaùo trình VB 6
  7. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr H×nh 1.1 VÝ dô c¬ b¶n 1.3 H−íng dÉn cµi ®Æt Visual Basic: Khi thùc hµnh ch−¬ng tr×nh Setup , mét ch−¬ng tr×nh ®−îc t¹o ra cho Visual Basic sau ®ã ta cã thÓ chän ra c¸c thµnh phÇn cña Visual Basic mµ ta muèn cµi ®Æt Trõ mét sè ngo¹i lÖ cña tËp tin hÖ ®iÒu hµnh trong th− môc , c¸c tËp tin trªn ®Üa CD kh«ng bÞ nÐn, v× vËy chóng cã thÓ dïng trùc tiÕp trªn ®Üa VÝ dô : Th− môc Tools chøa v« sè c¸c c«ng cô vµ c¸c thµnh phÇn cã thÓ ®−îc thi hµnh hoÆc cµi ®Æt trùc tiÕp tõ CD_ ROM . 1.3.1 Cµi ®Æt tõ CD: §Æt ®Üa CD vµo æ CD_ROM Dïng lÖnh thÝch hîp víi m«i tr−êng hÖ ®iÒu hµnh ®Ó thi hµnh ch−¬ng tr×nh Setup chøa trong th− môc gèc trong æ ®Üa sè 1. NÕu hÖ thèng hç trî Autoplay, Ch−¬ng tr×nh Setup sÏ tù ®éng n¹p khi ta cho ®Üa vµo æ ®Üa. Chän Install Visual Basic 6.0 LÇn l−ît lµm theo c¸c h−íng dÉn trªn mµn h×nh. 1.3.2 Thªm hoÆc xo¸ c¸c thµnh phÇn trªn Visual Basic: Ta cã thÓ thi hµnh lÖnh Setup trong nhiÒu lÇn. VÝ dô: Ta cã thÓ ch−¬ng tr×nh Setup ®Ó cµi l¹i ch−¬ng tr×nh Visual Basic trong th− môc kh¸c hoÆc lµ ®Ó cµi ®Æt c¸c phÇn kh¸c cña Visual Basic . Giaùo trình VB 7
  8. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr • §Æt §Üa CD vµo æ CD_ROM, Dïng lÖnh thÝch hîp víi m«i tr−êng hÖ ®iÒu hµnh ®Ó thi hµnh ch−¬ng tr×nh Setup trong th− môc gèc cã trªn ®Üa CD. NÕu hÖ thèng hç trî AutoPlay , ch−¬ng tr×nh Setup sÏ tù ®éng n¹p khi ta ®Æt ®Üa CD vµo æ ®Üa. • Chän nót Custom trong hép tho¹i Microsoft Visual Basic 6.0 Setup . • Chän c¸c thµnh phÇn cµi ®Æt (hoÆc bá chän c¸c thµnh phÇn bÞ xo¸) trong hép danh s¸ch Options cña hép tho¹i Custom . • LÇn l−ît lµm theo c¸c chØ dÉn trªn mµn h×nh. 1.3.3 Khëi ®éng Visual Basic. Sau khi ® hoµn tÊt c¸c thñ tôc cµi ®Æt, ta cã thÓ khëi ®éng Visual Basic b»ng c¸ch sö dông nót Start trªn thanh c«ng cô cña Windows . NÕu hÖ th«ng hç trî AutoPlay , ta cã thÓ khëi ®éng Visual Basic b»ng c¸ch ®Æt ®Üa Visual Basic vµo æ ®Üa. Ghi chó : Trong lóc c aøi VB6, nhí chän Graphics nÕu kh«ng b¹n sÏ thiÕu mét sè h×nh ¶nh nh− Icons , Bitmaps v.v §¸ng lÏ Microsoft chän tù ®éng c aøi ®Æt Graphics , tøc l aø Default (kh«ng cã nãi g×) th× caøi ®Æt Graphics . 2. Giao diÖn Windows chÝnh cña Visual Basic 2.1 Giao diÖn Windows chÝnh cña Visua Basic 2.1.1 Khëi ®éng Visua Basic B¹n cã thÓ khëi ®éng Visua Basic b»ng nhiÒu c¸ch nh− : • Khëi ®éng Visua Basic tõ Start menu b»ng c¸ch chän Program chän Microsoft Visual Basic 6.0 chän Microsoft Visua Basic 6. 0 • Double click vµo biÓu t−îng VB trªn Desktop • Vµo Statr chän Run vµ nhËp d−êng dÉn ®Õn VB Mµn h×nh giao diÖn sÏ hiÖn lªn nh− sau: Khi khëi ®éng VB6 b¹n sÏ thÊy më ra nhiÒu cöa sæ ( Windows ), Scrollbars , v.v v aø n»m chång lªn l aø New Project Dialog . ë ®©y VB6 cho b¹n chän mét trong nhiÒu lo¹i c«ng tr×nh. Giaùo trình VB 8
  9. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr H×nh 2.1 Giao diÖn WinDows Chän Standard EXE. Mét l¸t sau trªn maøn ¶nh sÏ hiÖn ra giao diÖn cña m«i tr−êng ph¸t triÓn tÝch hîp ( Integrated Development Environment - IDE ) gièng nh− d−íi ®©y: Giaùo trình VB 9
  10. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr H×nh 2.2 M«i tr−êng Standa EXE Newproject: Cho phÐp ng−êi lËp tr×nh më ra Project cÇn t¹o ra. NÕu mÆc ®Þnh chän Standar.EXE më Button Open hoÆc Ente r. NÕu kh«ng t¹o Project míi th× Click vµo Button Cancel NÕu ng−êi lËp tr×nh chän Newproject(Open) th× mét c¸i Windows con mang tªn Project mÆc ®Þnh ®−îc t¹o thµnh .Trªn Windows sÏ cã mét Form mÆc ®Þnh lµ Form 1 2.2 C¸c Menu chÝnh cña Visual Basic • File : Cã chøc n¨ng qu¶n lý Project ,Form ,Print • Edit: Cho phÐp c¸c chøc n¨ng so¹n th¶o, lËp tr×nh (ng−êi lËp tr×nh cã thÎ söa ch÷a®−îc) • View: Cho phÐp ng−êi lËp tr×nh xem c¸c m nguån ®èi t−îng vµ tham kh¶o toµn bé cÊu tróc cña Project vµ c¸c thuéc tÝnh cña ®èi t−îng (lÖnh nµy cho phÐp ng−êi lËp tr×nh xem nh−ng kh«ng söa ®−îc) • Project: Lµ Menu cã chøc n¨ng qu¶n lý c¸c thao t¸c trong Project bao gåm t¹o Module còng nh− xo¸ bá nã . ngoµi ra cßn cã chøc n¨ng tham kh¶o c¸c thµnh phÇn trong Project Giaùo trình VB 10
  11. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr • Format : Lµ Menu cho phÐp ng−êi lËp tr×nh ®Þnh d¹ng c¸c ®èi t−îng Font ch÷ , c¸c h×nh thøc kiÓm tra lçi • Debug : Cã chøc n¨ng kiÓm tra lçi hay cµi ®Æt c¸c h×nh thøc kiÓm tra lçi .b¹n cã thÓ thi hµnh tõng c©u lÖnh trong ch−¬ng tr×nh VB, xem gi¸ trÞ d÷ liÖu vµ dõng ch−¬ng tr×nh ë bÊt cø n¬i ®©u • Run: Cã chøc n¨ng cho phÐp ng−êi lËp tr×nh ch¹y ch−¬ng tr×nh biªn dÞch ,kÕt thóc • Windows: Cã chøc n¨ng cho phÐp ng−êi lËp tr×nh hiÓn thÞ c¸c Windows con theo c¸c chÕ ®é kh¸c nhau cung nh− x¾p xÕp c¸c Icon trong mét th− môc ®−îc më hiÖn hµnh • Help: Cã chøc n¨ng cung cÊp cho ng−êi lËp tr×nh hiÓn thÞ c¸c th«ng tin vÒ lÖnh h−íng dÉn lËp tr×nh t×m biÕn vµ th«ng tin vÒ Version phÇn mÒm hiÖn hµnh (phiªn b¶n ) 2.2.1 Kh¶o s¸t Menu Bar Chøa ®Çy ®ñ c¸c commands m aø b¹n sö dông ®Ó laøm viÖc víi VB6, kÓ c¶ c¸c menu ®Ó truy cËp c¸c chøc n¨ng ®Æc biÖt daønh cho viÖc lËp tr×nh ch¼ng h¹n nh− Project, Format , hoÆc Debug . Trong Menu Add-Ins cã Add-Ins Manager cho phÐp b¹n g¾n thªm nh÷ng menu con gióp cho viÖc ch¹y c¸c ch−¬ng tr×nh cã Ých cho viÖc lËp tr×nh. H×nh 2.3 Menu Bar 2.2.2 Kh¶o s¸t menu File Giaùo trình VB 11
  12. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr H×nh 2.4 Menu File • New project (Ctrl +N): T ¹o ra Project míi .Khi t¹o ra ng−êi lËp tr×nh ph¶i xem nã chÝnh nh− th− môc do m×nh t¹o ra, ®Ó më, xem, t¹o th− môc vµ ghi th− môc (Save) Open Project më mét Project ® ®−îc l−u trong bé nhí m¸y tÝnh .(§−êng dÉn tªn ®−êng dÉn Enter ) • ADD Project : Cho phÐp ng−êi lËp tr×nh thªm mét Project ® ®−îc t¹o ra vµo Project • Remove : Cho phÐp ng−êi lËp tr×nh lo¹i bá mét Project khái ch−¬ng tr×nh Visua Basic hoÆc xo¸ bá Project khái bé nhí m¸y tÝnh • Save Project : Cho phÐp ng−êi lËp tr×nh l−u l¹i vµo bé nhí m¸y tÝnh • Save Project/As: Cho phÐp ng−êi lËp tr×nh ghi l¹i ch−¬ng tr×nh hiÖn hµnh vµo mét vïng nhí cña m¸y tÝnh víi tªn mÆc ®inh hay tªn do ng−êi lËp tr×nh ®Æt ra • Make EXE File : Cho phÐp dÞch mét ch−¬ng tr×nh ra tËp tin thi hµnh • Print : Cho phÐp ng−êi lËp tr×nh in ®èi t−îng hiÖn hµnh ®ang kh¶o s¸t • Print Setup: Cho phÐp ng−êi lËp tr×nh ®Þnh dang kÝch cì trang Insurance • Exit : Cho phÐp ng−êi lËp tr×nh tho¸t khái ch−¬ng tr×nh Visual Basic 2.2.3 : Kh¶o s¸t Menu Edit Giaùo trình VB 12
  13. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr H×nh 2.5 Menu Edit • Undo Insert Text : Cho phÐp trë vÒ tr¹ng th¸i ban ®Çu tr−íc khi Insert ®o¹n v¨n • Cut: Cho phÐp ng−êi lËp tr×nh ®¸nh dÊu vµ c¾t ®o¹n v¨n Clip Board • Copy: Chøc n¨ng gièng nh− Cut nh−ng chØ lµ sao chÐp • Past : Insert toµn bé Clip Board vµo ®èi t−îng hiÖn hµnh vµo vÞ trÝ con trá nhËp • Delete : Lo¹i bá ®èi t−îng khái Project • Select All : Lùa chän toµn bé v¨n b¶n hay c¸c Icon trong th− môc ®−îc hiÓn thÞ • Table : Cho phÐp ng−êi lËp tr×nh t¹o ra b¶ng thèng kª d÷ liÖu • Fild: Cho phÐp ng−êi lËp tr×nh t×m kiÕm mét chuçi ký tù trong hai m nguån cña ®èi t−îng hay toµn bé Project • Fild Next : TiÕp tôc t×m kiÕm chuçi ký tù trong ®èi t−îng hiÖn hµnh • Replace : Thay thÕ chuçi ký tù nhËp vµo chuçi ký tù kh¸c trong ®èi t−îng hiÖn hµnh • Insert File: Cho phÐp ng−êi lËp tr×nh chin toµn bé néi dung mét File ®−îc chi ®Þnh vµo ®èi t−îng m nguån hiÖn hµnh 2.2.4 Kh¶o s¸t menu View Giaùo trình VB 13
  14. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr H×nh 2.6 : Menu View • Code cho phÐp liÖt kª c¸c File m nguån , cho phÐp liÖt kª theo d¹ng c©y th− môc c¸c ®èi t−îng trong Project . • Oject: Lµ cöa sæ hiÓn thÞ Form theo d¹ng Layout • Oject Browser: Cho phÐp t×m kiÕm c¸c ®èi t−îng, danh s¸ch c¸c h»ng cã s½n trong v¨n b¶n • Immedieate Window: Cho phÐp ng−êi lËp tr×nh liÖt kª trùc tiÕp trªn nÒn Windows • Local Win dow: Cho phÐp ng−êi lËp tr×nh liÖt kª mét c¸ch côc bé trªn nÒn Windows • Watch Window: Mµn h×nh Windows • Project Explorer: Cho phÐp lÊy l¹i cöa sæ Project lªn trªn mµn h×nh • Property Pages: Cho phÐp trän lùa trang thuéc tÝnh Property • Table: LiÖt kª c¸c th− môc nh− ColumnProperties, ColumnNames, Keys, Name Only, Custom. • Zoom: Cho phÐp phãng to hay thu nhá ®èi t−îng nªn trªn mµn h×nh • Show Panes: LiÖt kª Diagram,Grid, SQL, Results . Giaùo trình VB 14
  15. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr • Toolbox: Cho phÐp hiÓn thÞ hay kh«ng hiÓn thÞ thanh c«ng cô ToolBox lªn trªn mµn h×nh • Toolbars: Cho phÐp liÖt kª tÊt c¶ c¸c c«ng cô Tool cho phÐp viÖc lËp tr×nh. ë mçi c«ng cô sÏ hiÓn thÞ tr¹ng th¸i xem ta cã sö dông nã hay kh«ng. NÕu ta chän Tool nµo th× ®¸nh dÊu vsµo Tool ®ã. NÕu kh«ng sö dông Tool nµo th× xo¸ dÊu lùa chän ë Tool ®ã . • Colour Palette: Cho phÐp ng−êi lËp tr×nh chän mµu cho ®èi t−îng • DataView Window: Cho phÐp ng−êi lËp tr×nh hiÓn thÞ cöa sæ thuéc tÝnh Data Window 2.2.5 Kh¶o s¸t Menu Project: H×nh 2.8: Menu Project • Add Form: Cho phÐp t¹o mét Form vµo Project • Add MDI Form: Cho phÐp ng−êi lËp tr×nh t¹o MDI Form vµo Project • Add Module: Cho phÐp thªm mét ch−¬ng tr×nh (Program) vµo Program • Add Class Module: Cho phÐp t¹o mét Class Module • Add Property Page: Cho phÐp t¹o mét trangProperty • Add File: Thªm File vµo Project , File ®ã cã thÓ lµ mét Form cña ch−¬ng tr×nh. • Remove Form: Lo¹i bá Form chØ ®Þnh khái ch−¬ng tr×nh Visual Basic hay Project. • Components: LiÖt kª c¸c thµnh phÇn ®ang sö dông trªn phÝm • Project Properties: L iÖt kª c¸c tÝnh chÊ t Giaùo trình VB 15
  16. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr 2.2.6 Kh¶o s¸t Menu Format: H×nh 2.9 Menu Format • Align: Cho phÐp s¾p xÕp c¸c ®èi t−îng theo hµng cét. • Make Same Size: Cho phÐp t¹o c¸c ®èi t−îng cïng kÝch cì. • Horizontal Spacing: Cho phÐp thay ®æi thanh cuèn ngang. • Vertical Spacing: Cho phÐp thay ®æi thanh cuèn däc. • Center In Form: Cho phÐp chän ®èi t−îng n»m ë vÞ trÝ gi÷a cña Form theo chiÒu ngang däc • Order: Cho phÐp chän tÝch cùc cho ®èi t−îng t¹o ra tr−íc sau • Clock Control: V« hiÖu ho¸ c¸c ®iÒu khiÓn trªn Menu Format 2.2.6: Kh¶o s¸t Menu Debug: Step into: (F8) Step Over: (F8) Run To Curser: (Ctrl + F8) Add Watch Quick Watch (Shift + F9) Toggle Breakpoint: (F9) Clear All Breakpoint: (Ctrl + Shifl + F9 ) Giaùo trình VB 16
  17. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr H×nh 2.10 Menu Debug 2.2.7: Kh¶o sat menu Run: H×nh 2.11: Menu Run • Start (F5): • Start With Full Compile: Ch¹y víi sù phiªn dÞch toµn bé nh÷ng g× liªn quan ®Õn Project. • Break: Dõng ch−¬ng tr×nh. • End: Ngõng ch−¬ng tr×nh ®ang khëi ®éng. • Restart: Tho¸t khái tÊt c¶ c¸c ch−¬ng tr×nh ®ang kh¶o s¸t trong Visual Basic 2.2.8: Kh¶o s¸t menu Window: Giaùo trình VB 17
  18. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr H×nh 2.12: Menu Windows Cã chøc n¨ng cho phÐp hiÓn thÞ c¸c Window con theo c¸c chÕ ®é kh¸c nhau còng nh− s¾p xÕp c¸c Icon trong mét th− môc ®−îc më hiÖn hµnh. 2.2.9: Kh¶o s¸t menu Help: H×nh 2.13 Menu Help Giaùo trình VB 18
  19. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr • Menu Help: Cã chøc n¨ng cho phÐp hiÓn thÞ, cung cÊp th«ng tin vÒ lÖnh h−íng dÉn lËp tr×nh, t×m kiÕm vµ th«ng tin vÒ • Content : Cho phÐp ng−êi lËp tr×nh liÖt kª c¸c néi dung VB hç trî cho ng−êi lËp tr×nh • Index: Cho phÐp ng−êi lËp tr×nh gâ vµo lÖnh hay tªn ®èi t−îng, thuéc tÝnh tªn ®èi t−îng hoÆc tra th«ng tin vÒ nã • Search: Trong tr−êng hîp th«ng tin ng−êi sö dông tra cøu Index kh«ng ®−îc t×m thÊy th× cho phÐp truy suÊt më réng th«ng tin t×m kiÕm • Technical Support: Cã chøc n¨ng cung cÊp th«ng tin hç trî cña VB cho ng−êi lËp tr×nh • About Microsoft Visual Basic: Cã chøc n¨ng cung cÊp th«ng tin VB 2.2.10: Thanh c«ng cô Toolbar: Thanh c«ng cô lµ tËp hîp c¸c nót bÊm mang biÓu t−îng chøa trong mét thanh th−êng ®Æt d−íi thanh Menu. C¸c nót nµy ®¶m nhËn c¸c chøc n¨ng th«ng dông trong cÊu tróc Menu cña Visual Basic. Thanh c«ng cô rÊt h÷u Ých, thay v× ph¶i lÇn l−ît chän qua Menu vµ Menu cßn ta nhÊp mét nót bÊm nµo ®ã trong thanh c«ng cô ®Ó gäi mét chøc n¨ng t−¬ng tù trªn Menu Chøc n¨ng thanh nµy chøa c¸c Icon nhá gióp ng−êi lËp tr×nh thùc hiÖn nhanh thay th× ph¶i v× ph¶i vµo c¸c môc cña menu. Ng−êi lËp tr×nh chØ ph¶i di chuyÓn vÞ trÝ cña con trá ®Õn vÞ trÝ cña Icon vµ nã sÏ hiÖn ra H×nh 2.14: Thanh c«ng cô Toollbal Addstandard.EXE: T¹o Project míi, nhËp mòi tªn xuèng b¹n cã thÓ chän c¸c c«ng cô kh¸c Add Form: Thªm mét Form cho Project , nhËp mòi tªn b¹n cã thÓ chén c¸c c«ng cô kh¸c Menu Editor : Dïng ®Ó thiÕt kÕ Menu cho ch−¬ng tr×nh cña biÓu mÉu hiÖn hµnh Open Project : Dïng ®Ó më mét Project cã s½n Save Project : Dïng ®Ó l−u mét Project Giaùo trình VB 19
  20. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr Cut : Dïng ®Ó c¾t bá c¸c c©u lÖnh hoÆc c¸c ®èi t−îng ® chän Copy : Dïng ®Ó sao chÐp mét ®èi t−îng hoÆc c¸c c©u lÖnh ® chän Paste : Dïng ®Ó d¸n c¸c c©u lÖnh hoÆc c¸c ®èi t−îng ® chän Undo : Dïng ®Ó lÊy l¹i hµnh ®éng tr−íc ®ã nÕu cã thÓ Redo: Dïng ®Ó lÊy l¹i hµnh ®éng sau ®ã nÕu cã thÓ Start : Dïng ®Ó ch¹y ch−¬ng tr×nh sau khi b¹n ® thiÕt kÕ hoÆc ch¹y thö Break : Lµm ng−ng ch−¬ng tr×nh ®ang ch¹y End : Cho phÐp chÊm døt ch−¬ng tr×nh ®ang hiÖn hµnh Project Explorer : Dïng ®Ó xem c¸c Project ,c¸c Form b¹n cã thÓ tuú chän Properties Windows : §−a ra cöa xæ ®Ó b¹n x¸c lËp c¸c thuéc tÝnh cho c¸c ®èi t−îng trong hép Toolbox vµ Form Form Layout Windows : Dïng ®Ó ®iÒu khiÓn vÞ trÝ xuÊt hiÖn cña biÓu mu khi b¾t ®Çu ch¹y ch−¬ng tr×nh Objject Browser : Dïng ®Ó më hép tho¹i Objject Browser Giaùo trình VB 20
  21. ¡ ¢ £ ¤ ¥ ¦ § ¨ © ¢ £ £ ¦      §  Tr Toolbox : XuÊt hiÖn hép c«ng cô phÝa bªn tr¸i mµn h×nh Data View Windows : XuÊt hiÖn cöa sæ Data View ®Ó qu¶n lý c¬ së d÷ liÖu Visual Component Manager: XuÊt hiÖn VB Component Manager ®Ó qu¶n lý c¸c ®o¹n m cña øng dông phøc t¹p 2.2.11: Hép c«ng cô Toolbox: Hép c«ng cô lµ b¶ng chøa c¸c ®iÒu khiÓn mµ ta thiÕt kÕ giao diÖn ng−êi sö dông b»ng c¸ch chän c¸c ®iÒu khiÓn tõ hép c«ng cô vµ ®−a chóng vµo biÓu mÉu ¡ ¢ £ ¤ ¥ ¦ ¢  ¤  ¦ ¥ § ¨ © ¥  ¥  ¤  ¡  ¦ ¨ ¥ ¡ ¨ £    ¥    ¡   ¤ ¢ ¡ £   ¤ ¤ ¡ £ ¡ © ¡  ¡  § ¢  ¤  ¡     ¦ ¡  ¨ ¦    ¦ ¡  ¨ ¦  ¢ ¥ ¦  ¦ ¢ ¥ ¦ § ¢  ¤  ¡   ¢ ¦ § ¢  ¤  ¡  ¢ ¥ § ¢  ¤  ¡    ¨  ¥ § ¢ £ ¥  ¨  ¥  ¨ ¤ ¨  §  • Muèn hiÓn thÞ thanh c«ng cô, tõ menu View, chän Toolbox, hoÆc Ên chuét lªn Icon. • Khi hép c«ng cô hiÓn thÞ ta cã thÓ di chuyÓn hép c«ng cô xung quanh mµn h×nh b»ng c¸ch nhÊn trªn thanh tiªu ®Ò cña nã (Tilebar ) gi÷ chuét vµ kÐo ®Õn n¬i ta muèn vµ th¶ chuét. • Muèn ®ãng hép c«ng cô, nhÊn chuét nªn nót ®ãng (n»m trªn gãc ph¶i thanh tiªu ®Ò). 2.2.12 M OÄT SOÁ KHAÙI NIEÄM CÔ BAÛN Giaùo trình VB 21
  22. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Ñoái töôïng (Object): Laø moät thöïc theå ñöôïc ñaëc tröng bôûi moät taäp caùc tính chaát(Properties vaø Method hay Behavier) vaø haønh vi cuûa noù. Thuéc tÝnh (Property) : Lµ bé c¸c th«ng sè mµ ta cã thÓ g¸n cho ®iÒu khiÓn. VÝ dô nh− tªn, chiÒu réng, chiÒu cao. Ta cã thÓ xem toµn bé thuéc tÝnh cña mét ®iÒu khiÓn b»ng cÊch chän vµo nã vµ Ên F4 ®Ó më cöa sæ thuéc tÝnh. Ph−¬ng thøc(Method) : Lµ nh÷ng ph¶n øng c uûa ñoái töôïng leân moâi tröôøng ngoaøi khi coù söï taùc ñoäng töø moâi tröôøng ngoaøi leân noù. Sù kiÖn ( Event) : Lµ nh÷ng quaù trình xuaát hieän trong khi khaû thi chöông trình, maø quaù trình naøy ñaõ ñöôïc xaùc ñònh tröôùc vaø ñöôïc caøi ñaët cho noù caùc haønh vi töông öùng. ThÕ m¹nh cña VisualBasic lµ khi sö dông ®iÒu khiÓn vµ tËn dông kh¶ n¨ng lËp tr×nh cña chóng. Mét ®iÒu khiÓn thùc chÊt lµ mét cöa sæ ®−îc lËp tr×nh s½n bªn trong. Kh«ng cã g× kh¸c gi÷a mét øng dông vµ mét ®iÒu khiÓn. §Ó thi hµnh mét øng dông, ta më mét cöa sæ. øng dông sÏ chiÕm ®iÒu khiÓn trªn cöa sæ ®ã vµ ho¹t ®éng th«ng qua giao diÖn còng nh− nh÷ng chøc n¨ng cña nã. Mét ®iÒu khiÓn còng thùc hiÖn t−¬ng tù nh− thÕ. Mét ®iÒu khiÓn chøa ®ùng mét ch−¬ng tr×nh ®−îc lËp tr×nh s½n vµ ch−¬ng tr×nh nµy cã thÓ tÝch hîp mét c¸ch dÔ dµng vµo øng dông cã sö dông ®iÒu khiÓn. Tr−íc ®©y lËp tr×nh viªn th−êng ph¶I tù x©y dùng toµn bé Module cÇn thiÕt cho ch−¬ng tr×nh. §iÒu nµy cã nghÜa lµ c¸c lËp tr×nh viªn kh¸c còng ph¶I lËp l¹i ch−¬ng tr×nh ®ã. Trong khi ®ã PC, m¸y tÝnh c¸ nh©n ®−îc cÊu t¹o tõ v« sè thµnh phÇn ®−îc cung cÊp bëi nhiÒu nhµ s¶n xuÊt kh¸c nhau, mçi thµnh phÇn cã mét c«ng cô ®Æc biÖt. Kh¸i niÖm ®iÒu khiÓn cña VisualBasic mang ý t−ëng nh− thÕ. Tõng ®iÒu khiÓn cã thÓ ®−îc hiÖu chØnh vµ ®−îc tÝch hîp l¹i víi nhau t¹o thµnh mét øng dông. So víi c¸c ®iÒu khiÓn cã s½n trong hép c«ng cô, mçi ®iÒu khiÓn hiÖu chØnh (custom control), hay mét ®iÒu khiÓn ActiveX lµ mét thµnh phÇn cã kh¶ n¨ng ph¸t huy cao h¬n vµ s©u h¬n c¸c tÝnh n¨ng hiÖn t¹i cña m«i tr−êng. B»ng c¸ch thªm mét ®iÒu khiÓn ActiveX vµo hÖ thèng ta ® më réng n¨ng lùc vµ tiÖn Ých cña m«i tr−êng VisualBasic duy nhÊt mét lËp tr×nh viªn cã quyÒn thªm nh÷ng ®iÒu khiÓn mµ hä thÝch vµo c«ng cô. V× lµ nh÷ng ®iÒu khiÓn ActiveX nªn chóng cã thÓ dïng l¹i mét c¸ch dâ dµng bëi c¸c øng dông ActiveX nh− lµ bé Office , tr×nh diÖn Web Internet Explorer ,v.v C¸c ®iÒu khiÓn nµy ®−îc cung cÊp bëi phÇn mÒm. Chóng cã thÓ lµ mét s¶n phÈm th−¬ng m¹i, hoÆc ®−îc t¶i xuèng miÔn phÝ tõ Internet.  XÐt c¸c thuéc tÝnh mµ ta th−êng dïng cña c¸c ®èi t−îng trong Toolbox Giaùo trình VB 22
  23. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Poiter: Dïng ®Ó ®iÒu khiÓn c¸c ®èi t−îng sau khi ng−êi lËp tr×nh ® t¹o ra chóng nh− nhÊp con trá chuét khi b¹n muè chän, ®Þnh l¹i kÝch cì, di chuyÓn Command Button: T¹o mét nót lÖnh cho phÐp xö lý mét sè thao t¸c nµo ®ã trªn Form khi ta Click t¹i nót. §Ó chän mét nót lÖnh ta cã thÓ click t¹i nót hoÆc nhÊn Enter t¹i nót hay cã thÓ nhÊn Alt+ ký tù nãng. • Ph−¬ng thøc click • Sù kiÖn: MouseDown, KeyDown • C¸c thuéc tÝnh - Height, Font, Backcolor, Caption - Cation: Chøa mét néi dung bÊt kú, néi dung nµy sÏ hiÖn trªn nót nÕu muèn sö dông phÝm nãng ta ®Æt dÊu & tr−íc ký tù nãng(Hot Key) Image: T¹o mét Farme chøa ¶nh, dïng ®Ó hiÓn thÞ h×nh ¶nh, ng−êi sö dông cã thÓ sö dông c¸c tËp tin h×nh ¶nh (Bmp , Dib), ë trongVB hoÆc trong c¸c tËp tin b¹n tù t¹o ®Ó hiÖn thÞ ë trong ®èi t−îng nµy. • C¸c thuéc tÝnh: - Picture: Cho phÐp chon tªn mét tËp tin ¶nh (Bmp, Dib ), - Image: sÏ chøa mét néi dung ¶nh - Strectch: (True/ False) Cho phÐp hoÆc kh«ng cho phÐp kÐo gin khung ¶nh Image Texxtbox: Dïng ®Ó t¹o mét « bªn trong ®Ó ng−êi dïng nhÊp vµo mét néi dung nµo ®ã hoÆc xuÊt hiÖn th«ng tin khi hiÖn ch−¬ng tr×nh • C¸c thuéc tÝnh: - Text: Chøa mét néi dung ®Ó hiÖn trong Textbox. - MultiLine: (True/ False) Cho phÐp hay kh«ng cho phÐp Textbox chøa nhiÒu dßng(xuèng dßng). - ReadOnly: (True/ False) Cho phÐp hay kh«ng cho phÐp néi dung bªn trong Texxtbox lµ “chØ ®äc” hoÆc cã thÓ thay ®æi ®äc ghi ®−îc - ScrollBars: Quy ®Þnh c¸c thanh cuèn trong Texxtbox(chØ cã t¸c dông khi Mutilline = True). 0- None: Kh«ng cã thanh cuèn nµo 1- Horizontal: Cã thanh cuèn ngang 2- Vertical: Cã thanh cuèn däc 3- Both: Cã c¶ hai thanh cuèn - TabIndex: Chøa mét sè nguyªn (0 trë ®i) quy ®Þnh thø tù nhËn con trá. - TabStop: (True/False) cho phÐp hay kh«ng cho phÕp con trá dõng trong - Textbox: Tuy nhiªn ta cã thÓ cho con trá vµo b»ng c¸ch click chuét trong Textbox - MaxxLenght: Chøa mét sè nguyªn quy ®Þnh sè thø tù tèi ®a cã thÓ nhËn vµo Textbox(NÕu = 0 th× kh«ng giíi h¹n). Giaùo trình VB 23
  24. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Lable: Dïng ®Ó ghi chó cho mét ®èi t−îng nµo ®ã, hoÆc thÓ hiÖn mét dßng ch÷ khi ch¹y ch−¬ng tr×nh • C¸c thuéc tÝnh: - Caption: Chøa mét néi dung bÊt kú, néi dung nµy sÏ hiÖn trªn Lable - BackStyle: 0- Transparent: mµu nÒn Èn trªn Control - Opaque: Mµu nÒn hiÖn l¹i trªn Control - FontItalic: (True/ False) cho phÐp hiÖn hoÆc Èn Font ch÷ nghiªng. - FontBold: (True/ False) cho phÐp hiÖn hoÆc Èn Font ch÷ ®Ëm. - FontUnderline: (True/ False) cho phÐp hiÖn hoÆc Èn Font ch÷ nghiªng - FrontStrikethru: (True/False) cho phÐp hoÆc kh«ng cho phÐp hiÖn Font g¹ch ch©n - Fontside: Chøa mét sè nguyªn quy ®Þnh cì ch÷ ®Õn tèi ®a 2160 points. - WwordWrap: (Tue/ False) cho phÐp hay kh«ng cho phÐp Lable më réng kÝch th−íc theo chiÒu däc ®Ó më réng néi dung. - FontName: Quy ®Þnh tªn mét Font ¸p dông cho Lable CheckBox: Cho phÐp t¹o mét mét hép kiÓm tra, cho phÐp chän dÊu X trong hép nÕu chän ®¸nh dÊu th× tr¶ ra gi¸ trÞ 1 cßn kh«ng tr¶ ra gi¸ trÞ 0 • C¸c thuéc tÝnh: - Capton: Chøa mét néi dung hiÖn trªn Checkbox - Value: Dïng quy ®Þnh dÊu trªn Checkbox hoÆc nhËn gi¸ trÞ tr¶ vÒ tõ Checkbox(1 hoÆc 0) 0- Uncheck: Hép CheckBox kh«ng chän(kh«ng ®¸nh dÊu). 1- Checkded: Hép CheckBox ®−îc chon cã ®¸nh dÊu. 2- Grayed: Hép CheckBox cã mµu x¸m. Chó ý : §Ó chän ta click chuét hoÆc nhÊn phÝm SpaceBar, Checkbox kh«ng cã tÝnh lo¹i trõ nhau nghÜa lµ ta cã thÓ chän trªn nhiÒu Checkbox Optionbutton: Còng gièng nh− Checkbox ë trªn nh−ng kh¸c ë chç lµ chØ chon ®−îc mét trong nh÷ng Option(mang tÝnh lo¹i trõ). PictureBoox: Dïng ®Ó to¹ mét hép chøa ¶nh vµ ®Æt h×nh ¶nh lªn Form, còng gièng nh− ®èi t−îng Image ë trªn • C¸c thuéc tÝnh: - Picture: Cho phÐp t¹o tªn mét tËp tin ¶nh (.Bmp, Dib ), Picturebox sÏ chøa néi dung cña ¶nh. - CurrentX: Chøa mét sè (single) lµ täa ®ä gãc tr¸i cña Picture. - CurrrentY: Chøa mét (single) lµ to¹ ®é gãc trªn cña PictureBox Giaùo trình VB 24
  25. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr ComboBox: Lµ mét ®èi t−îng kÕt hîp gi÷a Textbox Vµ Listbox. Trong ®ã ng−êi lËp tr×nh cã thÓ chän mét môc nµo ®ã trong danh s¸ch cã s½n cña nã hay cã thÓ nhËp mét néi dung bÊt kú trong Textbox trªn. Timer: T¹o bé ®Õm thêi gian cã thÓ xö lý thêi gian tr«i qua trong lóc lËp tr×nh ch¹y. Timer thÓ hiÖn ë chÕ ®é “tµng h×nh”. • C¸c thuéc tÝnh: - Enable: (True/ False) cã hoÆc kh«ng cã hiÖu lùc - Interval: Chøa mét gi¸ trÞ sè lµ kho¶ng thêi gian ®Õm tÝnh b»ng MiliSecond (1/1000 gi©y) còng lµ thêi gian lËp l¹i xö lý Chó ý : Ta cã thÓ t¹o nhiÒu Timer trªn Form, c¸c Timer xö lý trªn c¸c kho¶ng thêi gian kh¸c nhau. ViÕt mét ch−¬ng tr×nh xö lý cho Timer b»ng c¸ch Double Click t¹i Timer. Fame: Nã chØ tr×nh bµy mét khung ch÷ nhËt ë trªn Form, th−êng dïng ®Ó chøa c¸c Checkbox hay OptionButton nh− mét nhãm gi¸ trÞ lùa chän. C¸c Checkbox hay Otionbutton nh− mét nhãm gi¸ trÞ lùa chän. C¸c Checkbox hay Optionbutton trong mét Frame hoµn toµn ®éc lËp víi c¸c Check Box, Option kh¸c • C¸c thuéc tÝnh: - Caption: Chøa mét néi dung bÊt kú, néi dung nµy sÏ hiÖn trªn Frame Sö dông: Click t¹i c«ng cô Frame ®Æt vµo trong Form, thùc hiÖn nhiÒu lÇn click chän c«ng cô CheckBox hoÆc OptionButton thuéc vÒ Frame Line: ChØ tr×nh bµy mét ®−êng th¼ng ë trªn From, dïng nã ®Ó trang trÝ cho From thay v× ph¶I gäi ph−¬ng thøc Line . • C¸c thuéc tÝnh: - BorderStyle: Cho phÐp chän mét d¹ng ®−êng (chän 1 trong 7 d¹ng). - BorderWidth: Chøa mét sè nguyªn tõ(1 dÕn 32767 tÝnh b»ng pixel) quy ®Þnh ®é réng cña ®−êng. - BorderColor: cho phÐp chän mét mµu cho ®−êng th¼ng. - X1: Chøa to¹ ®é ngang cña gãc tr¸i - X2: Chøa to¹ ®é ngang cña gãc ph¶i - Y1: Chøa to¹ ®é däc cña gãc trªn - Y2: Chøa to¹ ®é däc cña gãc d−íi Giaùo trình VB 25
  26. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Shape: Gièng nh− ®èi t−îng Line, ®èi t−îng Shape còng ®−îc dïng ®Ó tr×nh bµy From, nã thÓ hiÖn h×nh ch÷ nhËt, h×nh vu«ng, h×nh Ellipse, h×nh trßn tuú theo chóng ta chän. • C¸c thuéc tÝnh: - Shape: Cho phÐp chän mét h×nh vÏ: 1- Square: VÏ h×nh vu«ng 2- Oval: H×nh Ellipse 3- Cricle: VÏ h×nh trßn 4- Rectangle: VÏ h×nh ch÷ nhËt 5- Rounder Rectangle: VÏ h×nh ch÷ nhËt trßn gãc - FillColor: Cho phÐp mét mµu t« nÒn - FillStyle: Cho phÐp chän mét d¹ng t« nÒn 1- Solid: Mçu thuÇn theo Fillcolor 2- TransParent: Mµu theo nÒn cña From 3- Horizontal Line: T« säc ngang 4- Upward Diagonal:T« säc chÐo tõ d−íi vµ tõ tr¸i qua ph¶i (\\\) 5- Downward Diagonal: T« säc trÐo tõ d−íi nªn vµ tõ tr¸i qua ph¶i (///). 6- Cross: T« ®−êng ca r« 7- Diagonal Cross: T« ®−êng ca r« chÐo DriveListBox : Lµ mét CombooBox trong ®ã liÖt kª tÊt c¶ c¸c tªn cã trong hÖ thèng, nã dïng ®Ó chän æ ®Üa dÔ dµng . • C¸c thuéc tÝnh: - Name: Chøa tªn ®Æt cho DriveListbox. - Drive: Chøa mét chuçi lµ æ ®Üa (Volume) ® chän hÆc cµi ®Æt mÆc ®Þnh æ ®Üa lµm viÖc . DirlistBox: Lµ mét Listbox tr×nh bµy cÊu tróc trong æ ®Üa ®ang chän hiÖn thêi, dïng ®Ó chän th− môc. • C¸c thuéc tÝnh: - Name: Chøa tªn ®Æt cho DirListBox - Path: Chøa c¸c th«ng tin vÒ th− môc Fist ListBox: Lµ mét Listbox tr×nh bµy c¸c File trong th− môc nµo ®ã. • C¸c thuéc tÝnh: - Name: Chøa tªn ®Æt cho FileListbox. - FileName: Chøa tªn ® chän. - Path: Chøa c¸c th«ng tin vÒ th− môc hiÖn hµnh Giaùo trình VB 26
  27. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr - Archive: True/ False cho/ kh«ng cho hiÖn c¸c tËp tin cã thuéc tÝnh Archive (thuéc tÝnh th−êng “Normal” vµ thuéc tÝnh chØ ®äc”Read only”) - Hidden:True/ False cho\ kh«ng cho hiÖn c¸c tËp tin cã thuéc tÝnh Hidden (thuéc tÝnh Èn Hidden) vµ thuéc tÝnh hÖ thèng System. - Normal: True/ False: Cho/ kh«ng cho hiÖn c¸c tËp tin cã thuéc tÝnh th−êng. - System: True/ False: Cho/ kh«ng cho hiÖn c¸c tËp tin cã tÝnh hÖ thèng. - Pattern: Chøa mét d¹ng mÉu quy ®Þnh c¸c tËp tin hiÖn trong FileListBox ph¶i tu©n theo d¹ng nµy ( VÝ dô: *.*; exe; *.* .txt). - Multiselect: Quy ®Þnh c¸ch chän nhiÒu tËp tin trong danh s¸ch: 1. None: Kh«ng cho phÐp chän nhiÒu tËp tin 2. Single: Cho phÐp chän nhiÒu tËp tin trong danh s¸ch vµ huû chän lÇn l−ît tõng gi¸ trÞ. 3. Exxtended: Cho phÐp chän nhiÒu tËp tin trong danh s¸ch vµ huû trän mét lÇn c¸c tËp tin d chän. Chó ý: - Chän c¸c tËp tin liªn tôc nhau : §Ì Shift chon tËp tin ®Çu vµ tËp tin cuèi. - Chän xen kÏ : §Ì Ctrl, chän c¸c tËp tin tiÕp theo - Khi Multiselect =1 – Single hoÆc 2- Extended th× thuéc tÝnh Filename chØ chøa tËp tin huû chän hoÆc chän gÇn nhÊt. - Khi FileListbox cã kÝch th−íc nhá kh«ng chøa hÕt c¸c gi¸ trÞ ta sÏ thÊy mét thanh cuén däc hiÖn trªn FileListBox HscrollBox : Thanh cuén ngang cho ta chän mét sè nguyªn khi ta di chuyÓn con ch¹y (tõ gi¸ trÞ Min ®Õn gi¸ trÞ Max) Vscrollbox: Thanh cuén däc cho ta chän mét sè nguyªn khi ta di chuyÓn con ch¹y (tõ gi¸ trÞ Min ®Õn gi¸ trÞ Max) DaTa: Dïng ®Ó kÕt hîp víi c¸c c¬ së d÷ liÖu kh¸c nh− FoxPro,Access, ®Ó lÊy th«ng tin OTL Container:cho phÐp thªm chøc n¨ng lËp tr×nh cña mét ®iÒu khiÓn vµo øng dông LitsBox: Th−êng dïng ®Ó liÖt kª mét danh s¸ch gåm nhiÒu th− môc vµ cho phÐp chän lùa tõ c¸c Table C¸c thuéc tÝnh:  List:Chøa mét hay nhiÒu dßng gi¸ trÞ chän  Text:Chøa gi¸ trÞ tr¶ vÒ khi chän tõ danh s¸ch(chØ mét gi¸ trÞ mµ th«i) ng−êi ta dïng thuéc tÝnh nµy ®Ó nhËn gi¸ trÞ tr¶ vÒ  Sorrted:True/False = Cã /Kh«ng s¾p sÕp thø tù (t¨ng dÇn ) cho c¸c gi¸ trÞ trong danh s¸ch  Mutilselect: Quy ®Þnh c¸ch chän nhiÒu gi¸ trÞ trong danh s¸ch 0-None: Kh«ng cho phÐp chän nhiÒu gi¸ trÞ Giaùo trình VB 27
  28. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 1-Single: Cho phÐp chän nhiÒu gi¸ trÞ trong danh s¸ch vµ huû chän lÇn l−ît tõng gi¸ trÞ 2-Extended: Cho phÐp chän nhiÒu gi¸ trÞ trong danh s¸ch vµ huû bá mét lÇn c¸c gi¸ trÞ ® chän  LangeChange: Chøa gi¸ trÞ (sè nguyªn) cã thÓ thay ®æi lín nhÊt  SmallChange: Chøa gi¸ trÞ (sè nguyªn )cã thÓ thay ®æi nhá nhÊt OLE Container: Cho phÐp chÌn vµo From mét ®èi t−îng (cã thÓ lµ h×nh ¶nh , ©m thanh, ®o¹n phim, tµi liÖu, ®å thÞ ®−îc nhóng Embed hoÆc liªn kÕt Link). • C¸c thuéc tÝnh:  OleTypeAllowed: Quy ®Þnh kiÓu cña ®èi t−îng Ole: 1. Linked: §èi t−îng lµ liªn kÕt 2. Embeded: §èi t−îng lµ nhóng 3. Either: §èi t−îng lµ c¶ hai (Nhóng hoÆc liªn kÕt).  AutoActive: §Þnh chÕ ®é khëi ®éng ®èi t−îng: 1. Manual: Ole sÏ kh«ng tù khëi ®éng ®−îc. 2. GetFocus: Ole ssex khëi ®éng khi Control nhËn con trá. 3. DoubleClick: Ole sÏ khëi ®éng khi Double Click trong Control. 4. Automatic: Ole sÏ tù khëi ®éng khi ch¹y ch−¬ng tr×nh  Display Type: Quy ®Þnh chÕ ®é hiÓn thÞ cña Ole 1. Content: Ole sÏ hiÖn dung cña nã 2. Icon: Ole sÏ hiÖn biÓu t−îng kh«ng cã néi dung.  Size Mode: Quy ®Þnh kÝch cì ®èi t−îng: 1. Clip: Ole sÏ bÞ c¾t theo khung (hiÖn mét phÇn theo kÝch th−íc khung, phÇn cßn l¹i bÞ khuÊt). 2. Stretch: Ole sÏ kÐo gin cho võa khung (to nhá tuú kÝch th−íc khung ). 3. Auto Size: Ole tù ®éng thay ®æi kÝch th−íc ®Ó chøa ®ñ ®èi t−îng 4. Zoom: Ole tù ®éng thay ®æi kÝch th−íc chøa ®èi t−îng vµ c©n ®èi t−îng vÒ d¹ng nguyªn thuû ®Ó xem.  OLEDropAllowed:True / False cho phÐp hay kh«ng cho phÐp thao t¸c Drag vµ Drop (rª vµ th¶) mét Ole kh¸c trªn Ole nµy. Giaùo trình VB 28
  29. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 3. G iao diÖn CUÛA FORM 3.1: Giíi thiÖu vÒ From: Trong VB, mét biÓu mÉu From lµ mét cöa sæ mµ b¹n chuyªn biÖt ho¸ ®Ó t¹o ra mét giao diÖn ng−êi dïng cña ch−¬ng tr×nh. Mét biÓu mÉu cã thÓ chøa c¸c tr×nh ®¬n, nót lÖnh, c¸c lÖnh liÖt kª (List Box) thanh tr−ît (Scrollbar) vµ nh÷ng ®Ò môc kh¸c mµ ta cã thÓ thÊy trong mét ch−¬ng tr×nh chuÈn trªn nÒn Windows Khi khëi ®éng VB sÏ xuÊt hiÖn mét cöa sæ cho ta chän kiÓu ®Ó thiÕt kÕ ch−¬ng tr×nh, gi¸ trÞ mÆc nhiªn lµ kiÓu Standard.EXE . ta Click Open . Hinh 3.1.1 Mµn h×nh chÝnh khi khëi ®éng Windows Cöa sæ khi ta khëi ®éng VB: Mét cöa sæ From míi hiÖn ra trªn mµn h×nh víi tªn mÆc ®Þnh lµ From1. Ng−êi lËp tr×nh sÏ thiÕt kÕ trªn Form1 nµy b»ng c¸ch ®−a vµo c¸c ®iÒu kiÓm lÊy tõ hép c«ng cô ToolBox n»m ë bªn tr¸i mµn h×nh, cöa sæ sÏ cã h×nh d¹ng nh− sau: Cöa sæ khi chän kiÓu thiÕt kÕ Standard.EXE Trong tr−êng hîp nµy ta sÏ khëi t¹o VB råi, sau khi ® thùc hiÖn song mét ch−¬ng tr×nh nµo ®ã. B©y giê ta muèn thiÕt kÕ mét ch−¬ng tr×nh kh¸c, ta vµo Menu File chän New Project . Th× qu¸ tr×nh còng thùc hiÖn hai cöa sæ nh− trªn. Giaùo trình VB 29
  30. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Trong tr−êng hîp ta ® hoµn tÊt ch−¬ng tr×nh ë phÇn nµo ®ã, nÕu ta muèn vµo ®Ó thay ®æi hoÆc thiÕt kÕ thªm ta khëi ®éng VB, vµo Menu File chän Project , chän ch−¬ng tr×nh mµ ta cÇn më. Khi Click chän mµn h×nh kh«ng hiÖn ra biÓu mÉu. (Ta còng cã thÓ vµo Menu File vµ nh×n ë phÝa cuèi nÕu cã tªn cña ch−¬ng tr×nh cÇn më th× ta Click vµo ch−¬ng tr×nh gÇn nhÊt mµ ta muèn thùc hiÖn ). Sau khi ® thùc hiÖn nh− trªn, ®Ó xuÊt hiÖn cöa sæ thiÕt kÕ ta cã thÓ thùc hiÖn theo hai c¸ch sau: Mét lµ ta nhÊn F5 hoÆc lµ dÊu mòi tªn trªn thanh c«ng cô ®Ó ch¹y ch−¬ng tr×nh, khi biÓu mÉu ch−¬ng tr×nh ®ang thùc hiÖn ta ®ãng ch−¬ng tr×nh l¹i . Sau ®ã vµo View chän Object . Hai lµ ta më cöa sæ Project Eplorer, Click chän biÓu mÉu (From) cÇn më trong cöa sæ nµy, sau ®ã Click chän View Object. H×nh 3.1.2 Cöa sæ Form Khi cöa sæ thiÕt kÕ ® xuÊt hiÖn. Hép c«ng cô ToolBox chøa c¸c ®iÒu kiÓm ë bªn trong ta sÏ ®−a c¸c ®iÒu kiÓm vµo Form b»ng b»ng hai c¸ch C¸ch 1: Ta Double Click vµo ®iÒu kiÓm tronh hép c«ng cô mµ ta muèn ®−a vµo Form dÊu ®iÒu kiÓm sÏ xuÊt hiÖn ë gi÷a Form VÝ dô: Gi¶ sö ta chän ®iÒu kiÓm Command , ta Double Click vµo nã. Khi ®ã trªn mµn h×nh nh− sau sÏ xuÊt hiÖn Mét Command 1 NÕu muèn xo¸ ®iÒu kiÓm, ta Click chän nã sau ®ã Click nót ph¶i chuét, sau ®ã ta chän Delete. C¸ch2: Giaùo trình VB 30
  31. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Ta Click chuét tr¸i chän ®iÒu kiÓm trong Toolbox. §−a con trá chuét vµo trong Form lóc nµy con trá cã dÊu +. Ta dïng chuét di chuyÓn dÊu + ®ã ®Õn vÞ trÝ nµo ®ã Vµ Drag kÐo ®Õn khi cã kÝch th−íc nh− ta muèn vµ th¶ nót tr¸i chuét. Sau ®ã ta cã thÓ kÐo ®Õn vÞ trÝ nµo ®ã. HoÆc cã thÓ th−y ®æi kÝch th−íc, còng nh− xo¸ gièng nh− c¸c b−íc trªn. T¹o menu trªn Form: Trªn Form ta di chuyÓn con trá ®Õn c¸c Icon th× lËp tøc mét Windows cã tªn Editor. Ta click chuét tr¸i sÏ hiÖn ra H×nh 3.1.3: WinDows Editor Caption: ChÝnh lµ tªn gäi ®−îc hiÓn thÞ bëi c¸c Menu ®ã Nane: Lµ tªn chÝnh cña VB Chó ý : Th«ng th−êng víi c¸c tªn ng¾n cña Caption ®Òu ®−îc ®Æt chung cho Name  Index: Sè thø tù cña Menu ®ã  Short Cut: Lµ menu cho phÐp lùa chän chÕ ®é truy suÊt cho bµn phÝm t¾t (hot key).  Enabled: Cho phÐp hay kh«ng cho phÐp menu tÝch cùc  Menu: §−îc gäi lµ tr¹ng th¸I tÝch cùc (Active) khi double Click vµo Menu ®ã th× sÏ kh¶ thi ®−îc kh¶ n¨ng t−¬ng øng. Giaùo trình VB 31
  32. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Chó ý: Trong VB nh÷ng Menu nµo kh«ng tÝch cùc (Active) th× më Visible: lµ tÝch cùc cho phÐp Menu nµy cã ®−îc hiÓn thÞ hay kh«ng hiÓn thÞ. 3.2: C¸c tÝnh chÊt vÒ Form:  Name: Cho phÐp ng−êi lËp tr×nh ®Æt tªn cho Form  Appearance (xuÊt hiÖn): ChÕ ®é hiÓn thÞ gåm cã chÕ ®é hai chiÒu, ba chiÒu.  Backcolor (mµu nÒn): HiÓn thÞ tr¹ng th¸I mµu nÒn, gi¸ trÞ cña nã gåm cã Red, Blue, Green vµ c¸c mµu odo chóng ta tù chän trªn Winzard.  BordeStyle: (Khung Form) Quy ®Þnh lo¹i ®−êng viÒn cña Form gåm c¸c lo¹i  Sizable: Cho phÐp thay ®æi khung Form trong lóc ch¹y ch−¬ng tr×nh  None: Kh«ng cho phÐp thay ®æi kÝch th−íc trong lóc ch¹y ch−¬ng tr×nh  Caption: Cho phÐp ng−êi lËp tr×nh ®Æt tªn cho Form  ControlBox (hép ®iÒu khiÓn): cho phÐp hay kh«ng cho phÐp hiÓn thÞ hép ®iÒu khiÓn cña Form.  Enable: Cho phÐp hay kh«ng cho phÐp Form nµy ®−îc hiÓn thÞ (Active).  FillColor: Cho phÐp ng−êi lËp tr×nh chän mµu cña chøc n¨ng View.  Filltyle: Cho phÐp ng−êi lËp tr×nh chän lo¹i chøc n¨ng Fill.  Font: Cho phÐp ng−êi lËp tr×nh chän Font cña Form.  FontTransporent:  ForeColor: Cho phÐp ng−êi lËp tr×nh chän mµu ch÷ trªn Form  Height: Cho phÐp ta chän chiÒu cao cña Form  Width: Cho phÐp ta chän chiÒu réng cña Form  Left: Cho phÐp ta ®Æt lÒ tr¸i cña Form.  Top: cho phÐp ta ®Æt ®Ønh cña Form  Icon: Cho phÐp ta t¹o biÓu cho Form 3.3: Giíi thiÖu vÒ MDI form: 3.3.1: HiÓn thÞ IDE IDE lµ viÕt t¾t cña m«i tr−êng ph¸t triÓn tÝch hîp (Intergrated Dovelopment Environment). IDE lµ n¬i t¹o nh÷ng ch−¬ng tr×nh VisualBasic HiÓn thÞ IDE thÓ hiÖn mét cöa sæ rçng chøa c¸c ®iÓm vµ thanh tiªu ®Ò víi tõ Form1 Giaùo trình VB 32
  33. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr H×nh 3.3.1: Form rçng IDE cña VissualBasic lµ n¬i tËp trung c¸c Menu, thanh c«ng cô vµ cöa sæ ®Ó t¹o ra ch−¬ng tr×nh. Mçi phÇn cña IDE cã c¸c chøc n¨ng ¶nh h−ëng ®Õn ho¹t ®éng lËp tr×nh kh¸c nhau. Thanh Menu cho b¹n t¸c ®éng còng nh− qu¶n lý trùc tiÕp trªn toµn bé øng dông. Thanh c«ng cô cho phÐp truy cËp c¸c chøc n¨ng cña thanh Menu qua c¸c nót cña thanh c«ng cô. C¸c biÓu mÉu Form khèi x©y dùng chÝnh cña c¸c ch−¬ng tr×nh VisualBasic xuÊt hiÖn trong cöa sæ Form. Hép c«ng cô ®Ó thªm c¸c ®iÒu khiÓn vµo c¸c biÓu mÉu cña ®Ò ¸n . Project Explorer hiÓn thÞ c¸c ®Ò ¸n mµ b¹n ®ang lµm còng nh− c¸c phÇn kh¸c cña ®Ò ¸n. Cuèi cïng b¹n bè chÝ xem xÐt mét hoÆc nhiÒu biÓu mÉu trªn mµn h×nh th«ng qua cöa sæ Form Layout. Ta cã thÓ xem IDE cña VisualBasic b»ng hai c¸ch chÝnh MDI hoÆc SDI. KiÓu MDI lµ giao diÖn ®a tµi liÖu (Multiple Document Inter Face) cã nhiÒu cöa sæ lín chøa nhiÒu cöa sæ bªn trong HiÓn thÞ kiÓu MDI cho phÐp tr×nh bµy tÊt c¶ c¸c cöa sæ thµnh phÇn trong IDE. C¸c øng dông nh− Microsoft Excel, Microsoft Word lµ nh÷ng MDI cho phÐp më nhiÒu tµi liÖu cïng mét lóc, mçi tµi liÖu chøa trong cöa sæ riªng. NÕu MDI hiÓn thÞ ë chÕ MDI b¹n cã thÓ quy ®Þnh vÞ trÝ lóc khëi ®éng. KiÓu SDI lµ giao diÖn ®¬n tµi liÖu (Single document interface) ch−¬ng tr×nh chØ cã duy nhÊt mét cöa sæ. H×nh 3.3.2 Cöa sæ MDI Giaùo trình VB 33
  34. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 3.3.2: T×m hiÓu vÒ øng dông MDI:  Khi thiÕt kÕ , ®æi thuéc tÝnh MDIchild thµnh True biÓu mÉu th−êng trë thµnh cöa sæ con trong øng dông MDI  Trong cöa sæ Project Exxplorer, c¸c biÓu mÉu MDI d−îc hiÓn thÞ víi mét biÓu t−îng ®Æc biÖt.  Khi thi hµnh:  C¸c biÓu mÉu con hiÓn thÞ bªn trong vïng ho¹t ®éng cña øng dông, ng−êi sö dông cã thÓ di chuyÓn, co dn c¸c cöa sæ con, nh−ng nh÷ng thay ®æi nµy kh«ng thÓ v−ît khái cöa sæ chÝnh.  Khi cöa sæ con bÞ thu nhá thµnh biÓu t−îng Icon , biÓu t−îng sÏ xuÊt hiÖn bªn trong øng dông thay v× trªn thanh t¸c vô (Taskbar) . Khi cöa sæ chÝnh cña øng dông MDI bÞ thu nhá, toµn bé cöa sæ con còng bÞ thu nhá vµ hiÓn thÞ thµnh mét biÓu t−îng duy nhÊt trªn Takbar.  Khi cöa sæ chÝnh ®−îc phôc håi, cöa sæ chÝnh vµ toµn bé cöa sæ con ®−îc tr¶ vÒ tr¹ng th¸i tr−íc khi chóng bÞ thu nhá.  Khi phãng to cöa sæ con, tiªu ®Ò cña nã ®−îc kÕt hîp víi tiªu ®Ò cña cöa sæ chÝnh vµ hiÓn thÞ trªn thanh tiªu ®Ò cña øng dông.  §æi thuéc tÝnh AutoshowChildrent thµnh true c¸c cöa sæ con sÏ ®−îc hiÓn thÞ tù ®éng khi cöa sæ chÝnh n¹p. Tr¸i l¹i toµn bé cöa sæ con bÞ giÊu nÕu thuéc tÝnh nµy ®æi thµnh False  Menu cña cöa sæ con ®ang lµm viÖc sÏ hiÓn thÞ trªn thanh Menu cña cöa sæ chÝnh ,kh«ng ph¶i trªn cöa sæ con. 3.3.3 øng dông MDI: øng dông MDI cã nhiÒu cöa sæ con nªn viÖc x¸c ®Þnh cöa sæ nµy ®ang ho¹t ®éng rÊt cÇn thiÕt. VÝ dô: Muèn coppy mét chuçi ký tù trªn cöa sæ con vµo Clipboard, nghÜa lµ thñ tôc xö lý xù kiÖn Click trªn môc coppy cña Menu Edit ph¶I gäi hµm Editcoppy Proc. Hµm nµy cÇn biÕt tªn cöa sæ ®ang chøa chuçi ký tù. Thuéc tÝnh ActiveForm cña cöa sæ chÝnh (MDIForm) tr¶ vÒ tªn cöa sæ cßn ®ang focus. L−u ý lµ cöa sæ chÝnh ph¶I ®−îc n¹p vµ hiÓn thÞ khi ta truy cÊp ®Õn thuéc tÝnh nµy . Nõu kh«ng VisualBasic sÏ b¸o lçi . trong mét cöa sæ cã nhiÒu ®iÒu khiÓn , thuéc tÝnh Activecontrol cña biÓu mÉu x¸c ®Þnh ®iÒu khiÓn ®ang cã focus Trong øng dông MDI , nhiÒu Insstance cña biÓu mÉu chia sÎ cïng ®o¹n ch−¬ng tr×nh. V× vËy, khi truy cËp ®Õn mét ®iÒu khiÓn trong mét cöa sæ, ta kh«ng dïng tªn biÓu mÉu ®Ó tham chiÕu ®Õn ®iÒu khiÓn. VÝ dô: §Ó lÊy chiÒu cao cña hép v¨n b¶n , ta dïng Text1.Height thay v× Form1. Text1.Height. Nh− vËy ®o¹n ch−¬ng tr×nh sÏ lÊy cöa sæ hiÖn hµnh, mét c¸ch kh¸c ®Ó lÊy cöa sæ hiÖn hµnh lµ dïng tõ kho¸ Me. Muèn t¹o nhiÒu Instance cña biÓu mÉu dïng tõ kho¸ New víi khai b¸o Dim Qu¶n lý c¸c th«ng tin tr¹ng th¸i cña cöa sæ con. Giaùo trình VB 34
  35. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Tr−íc khi tho¸t khái ch−¬ng tr×nh, ng−êi sö dông ®−îc yªu cÇu l−u l¹i c«ng viÖc. Nh− vËy øng dông ph¶i lu«n theo dâi c¸c thay ®æi cña d÷ liÖu trªn c¸c cöa sæ con kÓ c¶ lÇn gÇn nhÊt. Ta khai b¸o mét biÕn toµn côc (Public) cho mçi cöa sæ con Public booolDirty As Booolean Mçi khi ng−êi sö dông gâ ký tù vµo hép v¨n b¶n Text1, sù kiÖn change cña hép v¨n b¶n ®−îc kÝch ho¹t vµ thñ tôc xö lý sù kiÖn ®æi cê BooolDirty thµnh true: Private Sub Text1_change BoolDirty=True End Sub Khi ng−êi sö dông l−u b»ng c¸ch nhÊn Menu File Save, cê nµy ®æi thµnh False. Sub menuFileSave_Click() FileSave Set the state variable BooolDirty=False End sub 3.3.4N¹p tho¸t biÓu mÉu: Khi n¹p mét cöa sæ con, cöa sæ chÝnh ®−îc n¹p tù ®éng. Trong tr−êng hîp ng−îc l¹i, cöa sæ con kh«ng n¹p tù ®éng. Khi øng dông tho¸t, sù kiÖn QueryUnload cña cöa sæ chÝnh ®−îc gäi tr−íc vµ ®Õn lÇn l−ît c¸c cöa sæ con. NÕu ta kh«ng xö lý nã sÏ gäi sù kiÖn Unload , tõng cöa sæ con lÇn l−ît tho¸t vµ cuèi cïng lµ cöa sæ chÝnh . Bëi v× sù kiÖn QueryUnload ®−îc gäi tr−íc khi cöa sæ tho¸t, ta cã thÓ ®Ò nghÞ ng−êi sö dông l−u tr−íc khi tho¸t. Private sub mnFExit_ Click () ‘ When the user chopses File Exit in an MDI ‘ application, unload the MDI form, invoke ‘ the QueryUnload event for each open child. Unload frmMDI End End sub Private sub Form _QueryUnload (Cancel As Integer_UnloadMode As Integer ) If booolDirty Then ‘ Call routine to query the user and save ‘ file if necessary. FileSave End if End Sub Tuú theo môc ®Ých øng dông mµ ta cã thÓ chén giao diÖn. §Ó chän giao diÖn ta cã thÓ dïng tr×nh t¹o øng dông tù ®éng cña VisualBasic . 3.3.5 C¸c tÝnh chÊt cña form Giaùo trình VB 35
  36. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr  Active Control (quyÒn ®iÒu khiÓn ): TÝnh chÊt nµy ®−îc lÊy vÒ quyÒn ®iÒu khiÓn hay héi tô ®èi t−îng – Focus . §Æt quyÒn ®iÒu khiÓn cho ®èi t−îng chØ ®Þnh VÝ dô: Lable1.Caption= Screen.ActiveControl.Text ( g¸n Lable1 b»ng text cña Screen )  Appearance : TÝnh chÊt nµy ®−îc sö dông chung cho tÊt c¶ cã néi dung tÝnh chÊt gièng nhau. TÝnh chÊt nµy cã hai gi¸ trÞ  Gi¸ trÞ: 1 cho phÐp hiÓn thÞ ®èi t−îng ë d¹ng 3D  Gi¸ trÞ: 0 cho phÐp hiÓn thÞ ®èi t−îng 2D  Backcolor : TÝnh chÊt nµy ¸p dông chung cho c¸c ®èi t−îng , nã cho phÐp chän mµu nÒn cña ®èi t−îng. §Ó chän mµu cho nã ta sang gi¸ trÞ Few cña nã sau ®ã double click ®Ó chän  ForeColor : TÝnh chÊt nµy ¸p dông chung cho c¸c ®èi t−îng, nÕu ®èi t−îng lµ ®èi t−îng ®å ho¹ nh− Button , Lable th× mµu nµy lµ mµu ch÷ cña Caption cña ®èi t−îng. NÕu ®èi t−îng nµy lµ ®èi t−îng hiÓn thÞ nh− Text, Textbox, Listbox, Combobox th× mµu nµy lµ mµu ch÷ cña Text ®ã.  BorderStyle (KiÓu ®−êng biªn) tÝnh chÊt nµy cho phÐp chän kiÓu ®−êng biªn chung cho c¸c ®èi t−îng  Gi¸ trÞ 0 : Kh«ng cã ®−êng biªn  Gi¸ trÞ 1 : Cho phÐp t¹o ra mét ®−êng biªn víi kÝch th−íc cè ®Þnh  Gi¸ trÞ 2 : Cho phÐp t¹o ra ®−êng biªn víi kÝch th−íc cã thÓ thay ®æi ®−îc  Gi¸ trÞ 3: Cho phÐp t¹o ra kÝch th−íc cè ®Þnh nh−ng kh«ng lång vµo c¸c nót Maxmze vµ Minimize  Fillcolor : Cho phÐp trë vÒ m mµu hoÆc ®Æt m mµu ®−îc dïng cho hµnh vi t« mµu (Fill )  Controlbox : Cho phÐp t¹o ra nót Control hay kh«ng  Gi¸ trÞ lµ True : Cho phÐp t¹o  Gi¸ trÞ lµ False : Kh«ng cho phÐp t¹o  Drawmode : cho phÐp lùa chän Mode vÏ ( Mode : c¬ chÕ vÏ )  Drawstyle : cho phÐp chän kiÓu vÏ, chÕ ®é vÏ trong chÕ ®é ®å ho¹  Gi¸ trÞ lµ 0 : cho phÐp vÏ nÐt liÒn ( Solid )  Gi¸ trÞ lµ 1 : cho phÐp vÏ nÐt g¹ch ( Dash )  Gi¸ trÞ lµ 2 : cho phÐp vÏ net chÊm ( Dot )  Gi¸ trÞ lµ 3 : cho phÐp vÏ nÐt ch¸m g¹ch ( Dash – Dot )  Gi¸ trÞ lµ 4 : cho phÐp vÏ nÐt g¹ch – chÊm – chÊm (Dash – Dot –Dot)  Gi¸ trÞ lµ 5 : cho phÐp vÏ víi c¬ chÕ trong suèt so víi mµu nÒn  Drawwith :Cho phÐp ta chän kÝch th−íc, chiÒu réng cña bót vÏ ®¬n vÞ tÝnh b»ng Pixel ( Pixel: ®iÓm ¶nh )  Mause Icon :Cho phÐp t¹o c¸c Icon tuú thÝch cho con trá ®Ó ®Æt gi¸ trÞ mµu Icon ta chuyÓn con trá ®Õn Fill gi¸ trÞ  Mause Pointer: Chøc n¨ng còng gièng nh− Mause Icon nh−ng chØ kh¸c Mause Pinter cho phÐp ®Æt c¸c gi¸ trÞ danh s¸ch liÖt kª cña nã cßn Mause Icon ®Æt c¸c h×nh ¶nh tuú thÝch do ng−êi sö dông t¹o ra. §Ó lùa chän gi¸ trÞ Mause Icon ta Click vµo Fill gi¸ trÞ råi chän gi¸ trÞ t−¬ng øng Giaùo trình VB 36
  37. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr  Negotiate Menus: Cho phÐp hay kh«ng cho phÐp lång Menu vµo Form  Showintaskbar: Cho phÐp trë vÒ hay ®Æt gi¸ trÞ thÓ hiÖn tr¹ng th¸I cña Windows  Gi¸ trÞ 0: hiÓn thÞ b×nh th−êng  Gi¸ trÞ 1: Form ®ã ®−îc hiÓn thÞ nhá nhÊt  Start Up Position: Cho phÐp trë vÒ hoÆc ®Æt gi¸ trÞ thÓ hiÖn c¸c vÞ trÝ b¾t ®Çu cña ®èi t−îng khi nã ®−îc kh¶ thi  Gi¸ trÞ =0 (Manual) Cho phÐp Ên ®Þnh kÝch th−íc trong lóc ng−êi sö dông lËp tr×nh nã  Gi¸ trÞ =1 Cho phÐp hiÓn thÞ ë gãc ph¶i mµn h×nh  Gi¸ trÞ =2 Cho phÐp hiÓn thÞ ë trung t©m mµn h×nh  Gi¸ trÞ =3 cho phÐp hiÓn thÞ ë gãc tr¸i mµn h×nh 4. L Ëp tr×nh mQ nguån trªn Visual Basic 4.1. Khai b¸o biÕn: 4.1.1: BiÕn BiÕn dïng ®Ó chøa d÷ liÖu t¹m thêi cho tÝnh to¸n so s¸nh vµ c¸c ho¹t ®éng kh¸c ta dïng to¸n tö ( = ) ®Ó tÝnh to¸n vµ chøa gi¸ trÞ vµo biÕn. VÝ dô: Applesold = 10 Applesold = Applesold + 1 DÊu b»ng lµ to¸n tö g¸n, kh«ng ph¶i to¸n tö so s¸nh ( = ), gi¸ trÞ 10 ®−îc g¸n cho biÕn Applesold. 4.1.2: Khai b¸o biÕn: Tuú theo ph¹m vi biÕn cÇn sö dông chóng ta cã thÓ dïng c¸c cÊu tróc lÖnh khaùc nhau ®Ó khai b¸o biÕn. Dïng lÖnh Dim: Dim ( tªn biÕn) As ( kiÓu d÷ liÖu ). Dim ( tªn biÕn ) ( kiÓu g¸n chuçi ). VÝ dô: Dim a,b As integer Dim a%, b% BiÕn khai b¸o trong thñ tôc chØ tån t¹i khi thñ tôc thi hµnh. Nã sÏ biÕn mÊt khi thñ tôc chÊm døt. Gi¸ trÞ biÕn trong thñ tôc lµ côc bé ®èi víi thñ tôc ®ã. NghÜa lµ kh«ng thÓ truy cËp biÕn tõ bªn ngoµi thñ tôc. Nhê ®ã ta cã thÓ dïng tªn biÕn côc bé trong thñ tôc kh¸c nhau. KiÓu d÷ liÖu khai b¸o trong Dim cã thÓ lµ kiÓu c¬ b¶n nh− Integer, String hoÆc Currentcy.Ta còng cã thÓ dïng ®èi t−îng cña VB ( Nh− Object, Form, TextBox ) hoÆc cña c¸c øng dông kh¸c. Khai b¸o phÇn Declaration cña mét modul nghÜa lµ biÕn ®ã tån t¹i vµ cã tÇm ho¹t ®éng trong Modul ®ã. Giaùo trình VB 37
  38. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Khai b¸o biÕn víi tõ kh¸o Public nghÜa lµ biÕn ®ã tån t¹i vµ cã tÇm ho¹t ®éng trong toµn bé øng dông. Khai b¸o biÕn côc bé víi tõ kho¸ Static, nghÜa lµ mÆc dï biÕn ®ã biÕn mÊt khi thñ tôc chÊm døt, nh−ng gi¸ trÞ cña nã vÉn ®−îc gi÷ l¹i ®Ó tiÕp tôc ho¹t ®éng khi thñ tôc ®−îc gäi trong lÇn sau. 4.1.3: Khai b¸o ngÇm: NghÜa lµ ta kh«ng cÇn khai b¸o t−êng minh, tr−íc khi sö dông biÕn VÝ dô: Funtion Safe Sqr (num) Temp Val = Abs (mim) Safe Sqr = Sqr (Temval) End Funtion 4.1.4: Khai b¸o t−êng minh : §Ó tr¸nh nh÷ng lçi ch−¬ng tr×nh x¶y ra do nhËp sai tªn biÕn, chóng ta cã thÓ sö dông chÕ ®é khai b¸o t−êng minh. Víi chÕ ®é nµy, mçi biÕn sö dông cÇn ph¶I ®−îc khai b¸o tr−íc. Nh÷ng biÕn nµo ch−a khai b¸o, VisualBasic sÏ b¸o lçi khi thùc thi ch−¬ng tr×nh. Chóng ta cã thÓ sö dông mét trong hai c¸ch d−íi ®©y ®Ó sö dông chÕ ®é khai b¸o biÕn t−êng minh. C¸ch1: Chän Tools chän Option, chän Tab Edtor vµ ®¸nh dÊu vµo tuú chän Require Variable Declaration.Tõ thêi ®iÓm nµy c¸c mµn h×nh líp hay th− viÖn ®−îc t¹o ra sÏ mÆc nhiªn cã s½n dßng lÖnh Option Explicit trong phÇn Decrlarations víi c¸c mµn h×nh giao tiÕp (Form), líp class hay th− viÖn (Module) ® ®−îc t¹o tr−íc ®ã, chóng ta sÏ tù thªm vµo dßng lÖnh nµy nh− c¸ch 2. C¸ch 2: Trong cöa sæ ®Æt dßng lÖnh sau ®©y Option Explicit ë ®Çu phÇn declarations cña mµn h×nh giao tiÕp (Form), líp (Class) hay th− viÖn Module. TÇm ho¹t ®éng cña biÕn: Private Public Thñ tôc BiÕn chØ tån t¹i vµ ho¹t ®éng trong thñ Kh«ng cã tôc Modul BiÕn chØ tån t¹i vµ ho¹t ®éng trong BiÕn tån t¹i vµ ho¹t ®éng Modul trªn Modul Giaùo trình VB 38
  39. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 4.1.5: Khai biÕn Static: KiÓu d÷ liÖu KÝch th−íc Integer 2 byte -32,768 -> 32,767 Long (Long integer) 4 byte -2,147,483,648 -> 2,147,483,647 & Single (Single – precision, 4 byte -3.402823E38 -> -1.401298E –45 floating - point ) Víi gi¸ trÞ ©m; 1.401298E – 45 -> Double (double-precision, 8 byte - 1.79769313486232 E308-> floating-point) - 4.94065645841247E – 324 Víi c¸c gi¸ trÞ ©m: 4.94065645841247E – 324 # 1.79769313486232 E308 Víi c¸c gi¸ trÞ d−¬ng Currency 8 byte - 922,337,203,685,477.5808 -> 922,337,203,685,477.5808. # String 1 byte mçi 0 ->65,500 byte character Varriant + Dïng ®Ó biÓu diÔn c¸c gi¸ trÞ sè ( víi tÇm vùc double ) hay c¸c ký tù  §Ó khai b¸o tÊt c¶ c¸c biÕn côc bé trong mét thñ tôc Static, ta ®Æt tõ kho¸ Static vµo thñ tôc.  Static Function Runningtotal ( mim ) VB sÏ hiÓu lµ tÊt c¶ biÕn khai b¸o trong thñ tôc nµy ®Òu lµ Static, lµ cho chóng ®−îc khai b¸o lµ Private, lµ Dim hoÆc thËm chÝ lµ khai b¸o ngÇm.  Tõ kh¸o Static cã thÓ ®Æt ë ®Çu thñ tôc Sub hoÆc Funtion , kÓ c¶ thñ tôc xö lý sù kiÖn hoÆc c¸c hµm Private. 4.1.6 C¸c to¸n tö cë së: 4.1.6.1 To¸n tö g¸n: §©y lµ to¸n tö cë së cña hÇu hÕt c¸c ng«n ng÷ lËp tr×nh. To¸n tö dïng ®Ó g¸n gi¸ trÞ cho c¸c biÕn cã kiÓu d÷ liÖu c¬ së trong VisualBasic lµ dÊu (=), có ph¸p chung lÖnh g¸n cã d¹ng sau: = BiÓu thøc ë bªn ph¶i cña có ph¸p trªn cã thÓ lµ mét gi¸ trÞ h»ng, mét biÕn hay mét biÓu thøc tÝnh to¸n. Khi ®ã VisualBasic sÏ thùc hiÖn viÖc tÝnh gi¸ trÞ cña biÓu thøc tr−íc råi sau ®ã míi g¸n gi¸ trÞ cã ®−îc cho biÕn. Giaùo trình VB 39
  40. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr VÝ dô: Dßng lÖnh g¸n sau ®©y sÏ t¨ng gi¸ trÞ biÕn k lªn thªm mét (k=k+1). Th«ng th−êng, gi¸ trÞ cña biÓu thøc vµ biÕn trong có ph¸p lÖnh g¸n ph¶i cïng kiÓu d÷ liÖu, tuy nhiªn chóng ta vÉn cã thÓ g¸n biÓu thøc sè vµo mét biÕn kiÓu chuçi. Trong tr−êng hîp nµy, VisualBasic sÏ tù ®éng ®æi gi¸ trÞ biÓu thøc th¸nh chuçi sau ®ã míi g¸n vµo biÕn Víi c¸c biÕn cã kiÓu d÷ liÖu tæng qu¸t, ®Ó g¸n gi¸ trÞ cho biÕn chóng ta ph¶i dïng lÖnh Set theo có ph¸p d−íi ®©y: Set = 4.1.6.2. To¸n tö tÝnh to¸n : Nh÷ng to¸n tö tr×nh bµy trong phÇn nµy lµ nh÷ng to¸n tö c¬ së liªn quan ®Õn c¸c gi¸ trÞ sè, bao gåm sè nguyªn vµ sè thùc  C¸c to¸n tö sè nguyªn : + : Céng (céng hai to¸n h¹ng ) - : Trõ (Trõ hai to¸n h¹ng) *: Nh©n (Dïng ®Ó nh©n hai to¸n h¹ng) \ : Chia (chia nguyªn bá phÇn thËp ph©n) VÝ dô 1: X=5\2 th× X sÏ nhËn gi¸ trÞ lµ 2 / : Chia lµm trßn VÝ dô 2 : Dim x as Double X=3/2 ^ : Luü thõa (Dïng ®Ó tÝnh luü thõa) MOD : Chia lÊy phÇn d−  C¸c to¸n tö sè thùc + : Céng (céng hai to¸n h¹ng ) - : Trõ (Trõ hai to¸n h¹ng) *: Nh©n (Dïng ®Ó nh©n hai to¸n h¹ng) / : Chia (chia hai to¸n h¹ng) ^ : Luü thõa ( Dïng ®Ó tÝnh luü thõa) 4.1.6.3.To¸n tö nèi chuçi & : §©y lµ to¸n tö c¬ së dïng ®Ó nèi c¸c d÷ liÖu l¹i víi nhau Giaùo trình VB 40
  41. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr VÝ dô :Trong dßng lÖnh d−íi ®©y: S = ”Viasua” & ”Basic” BiÕn chuçi S sÏ cã gi¸ trÞ lµ “VisuaBasic” T−¬ng tù nh− lÖnh g¸n chuçi víi c¸c biÓu thøc sè, Visuabasic sÏ tù ®éng thùc hiÖn viÖc chuyÓn d÷ liÖu chuçi thµnh sè tr−íc råi sau ®ã míi nèi víi dßng tiÕp theo S=S & 1 =>Gi¸ trÞ cña biÕn S sau lÖnh g¸n sÏ lµ “VisualBasic 1” 4.1.6.4 To¸n tö so s¸nh Nh− mäi ng«n ng÷ lËp tr×nh kh¸c ,VisualBasic còng sö dông c¸c to¸n tö so s¸nh nh− : KÝ hiÖu ý NghÜa VÝ dô = So s¸nh b»ng A=B So s¸nh kh¸c A So s¸nh lín h¬n A>B >= So s¸nh lín h¬n hay b»ng A=B Gi¸ trÞ kÕt qu¶ cña mét biÓu thøc so s¸nh sÏ thuéc kiÓu luËn ý ( True hay False ). Khi cÇn kÕt nèi c¸c biÓu thøc so s¸nh l¹i víi nhau chóng ta cã thÓ dïng c¸c to¸n tö luËn lý And, Or. 4.2 TËp lÖnh c¬ b¶n cña VisualBasic: 4.2.1 KiÓu d÷ liÖu: KiÓm so¸t néi dung cña d÷ liÖu, VisualBasic dïng kiÓu Variant nh− lµ kiÓu mÆc ®Þnh. Ngoµi ra, mét sè kiÓu d÷ liÖu kh¸c cho phÐp tèi −u ho¸ vÒ tèc ®é vµ kÝch cì ch−¬ng tr×nh, khi dïng Variant ta kh«ng ph¶I chuyÓn ®æi gi÷a c¸c kiÓu d÷ liÖu,VB tù lµm viÖc ®ã.  KiÓu sè: Integer, Long, Double vµ currrencey kiÓu sè chøa Ýt vïng nhí h¬n kiÓu Variant. TÊt c¶ biÕn kiÓu sè cã thÓ ®−îc g¸n cho nhau vµ biÕn Variant VisualBasic lµm trßn thay v× chÆt bá phÇn thËp phÇn tr−íc khi g¸n nã cho sè Integer KiÓu Integer tèn Ýt nhÊt vïng d÷ liÖu, nã th−êng dïng lµm biÕn ®Õm trong vßng lÆp ForNext. KiÓu Singe, double, Currrency cho c¸c sè thËp ph©n. Currency hç trî bèn ch÷ sè thËp ph©n vµ m−êi n¨m ch÷ sè phÇn nguyªn.  KiÓu String MÆc ®Þnh biÕn hay tham sè kiÓu chuçi cã chiÒu dµi thay ®æi nã cã thÓ t¨ng gi¶m tuú theo ta g¸n d÷ liÖu. Nh−ng ta cã thÓ khai b¸o chuçi cã chiÒu dµi cè ®Þnh.  KiÓu Boolean: Lµ kiÓu cã hai gi¸ trÞ Yes/ No, True/ False, Yes/ No, On/ Off. Giaùo trình VB 41
  42. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr  KiÓu Date: Khi c¸c kiÓu d÷ liÖu kh¸c ®−îc chuyÓn sang Date, gi¸ trÞ ®øng tr−íc lµ ngµy, gi¸ trÞ ®øng sau dÊu chÊm lµ giê. Nöa ®ªm lµ 0, nöa ngµy lµ 0,5. Dêu ©m tr−íc thÓ hiÖn ngµy tr−íc VÝ dô: Click : cmd Exprole Date Dim d Date As Date If Is Date ( text Date text ) Then. Date = CV Date ( Text. date. Text ) Msg Box “ Day = “ & Day (d Date ) & - “Month= “ Month ( d Date) & - “ Year = “Year ( d Date ) Else Msg Box “ that isn’t a valid date. Pleasetry again.” End if.  KiÓu Variant: Cã thÓ chøa nhiÒu lo¹i d÷ liÖu chuçi sè thËm chÝ m¶ng. Ta kh«ng cÇn chuyÓn ®æi d÷ liÖu, Visual Basic lµm viÖc ®ã mét c¸ch tù ®éng .  KiÓu m¶ng Array: M¶ng lµ mét s©u c¸c biÕn cã cïng tªn vµ cïng kiÓu d÷ liÖu. Dïng Array lµm ch−¬ng tr×nh ®¬n gi¶n vµ rót gän v× ta cã thÓ dïng vßng lÆp m¶ng cã biÕn trªn vµ biÕn d−íi vµ c¸c thµnh phÇn trong m¶ng lµ liªn tôc gi÷a hai biÕn Cã 2 lo¹i biÕn m¶ng: M¶ng cã chiÒu dµi cè ®Þnh vµ m¶ng ®éng cã chiÒu dµi thay ®æi lóc thi hµnh m¶ng cã chiÒu dµi cè ®Þnh cã thÓ ®−îc khai b¸o Public trong øng dông, Private trong Modul hoÆc Private trong thñ tôc. 4.2.2 If .Then CP1: Mét dßng lÖnh If Then CP2: Haidßng lÖnh: If Then Else End If CP3: Nh ieàu doøng leänh If Then Else If Then Else End if Giaùo trình VB 42
  43. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr §iÒu kiÖn lµ mét so sanh hay mét biÓu thøc mang gi¸ trÞ sè. VisualBasic th«ng dÞch gi¸ trÞ thµnh True / False ( 0 lµ False, gi¸ trÞ kh¸c 0 lµ True ). NÕu ®iÒu kiÖn lµ True, Visual Basic thi hµnh tÊt c¶ dßng lÖnh sau tõ kho¸ Then. VÝ dô : If any Date Case Case Else End Else Mçi danh s¸ch biÓu thøc chøa mét hoÆc nhiÒu gi¸ trÞ. C¸c gi¸ trÞ c¸ch nhau b»ng dÊu phÈy. Mçi khèi lÖnh cã thÓ chøa tõ 0 ®Õn nhiÒu dßng lÖnh. NÕu cã h¬n mét Case tho¶ ®iÒu kiÖn th× khèi lÖnh cña Case ®Çu tiªn ®−îc thi hµnh. Case Else kh«ng nhÊt thiÕt ph¶i cã, dïng trong tr−êng hîp cßn l¹i cña c¸c Case tr−íc. 4.2.4 For .Next ( vßng lÆp ): BiÕt tr−íc sè lÇn lÆp. Ta dïng biÕn ®Õm t¨ng dÇn hoÆc gi¶m dÇn trong vßng lÆp. For = To (C¸c lÖnh kh¶ thi) 4.2.5: Do While ( vßng lÆp ): Thi hµnh mét khèi lÖnh víi sè lÇn kh«ng ®Þnh tr−íc, trong ®ã mét biÓu thøc ®iÒu kiÖn dïng so s¸nh ®Ó quyÕt ®Þnh vßng lÆp cã tiÕp tôc hay kh«ng . §iÒu kiÖn ph¶I quy vÒ False (0) hoÆc true ( kh¸c 0). KiÓu1: LÆp trong khi ®iÒu kiÖn True Do While ( c¸c ph¸t biÓu kh¶ thi ) hay ( khèi lÖnh) KiÓu 2: LÆp trong khi ®iÒu kiÖn lµ False Do until C¸c ph¸t biÓu kh¶ thi Loop Giaùo trình VB 43
  44. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 4.2.6: Ph¸t biÓu g¸n: = Gi¸ trÞ . = gi¸ trÞ . = 4.3 : C¸c hµm c¬ b¶n cña VisualBasic:  Thñ tôc: Khi lËp tr×nh ta th−êng gÆp nh÷ng ®o¹n ch−¬ng tr×nh lÆp ®i lÆp l¹i nhiÒu lÇn ë nh÷ng chç kh¸c nhau. §Ó ch−¬ng tr×nh ®ì phøc t¹p, c¸c ®o¹n nµy ®−îc thay thÕ b»ng nh÷ng ch−¬ng tr×nh con t−¬ng øng, khi cÇn ta chØ cÇn gäi nã ra mµ kh«ng cÇn viÕt l¹i c¶ ®o¹n . MÆc kh¸c, ®èi víi nh÷ng ch−¬ng tr×nh lín vµ phøc t¹p. ViÖc xem xÐt tæng quan còng nh− viÖc gì rèi, hiÖu chØnh sÏ rÊt khã kh¨n.ViÖc lËp c¸c ch−¬ng tr×nh con sÏ chia ch−¬ng tr×nh ra tõng khèi , tõng Modul. §iÒu nµy gióp cho chóng ta kiÓm tra, gì rèi vµ ®iÒu khiÓn rÔ rµng. CÊu tróc cña mét thñ tôc cã d¹ng nh− sau: Sub ’ C¸c lÖnh ’ End sub NÕu b¹n muèn dïng thñ tôc nµy trong toµn bé ch−¬ng tr×nh th× b¹n dïng thªm, tõ kho¸ Public tr−íc tõ kho¸ Sub, cßn nÕu ta chØ muèn dïng trong Form chøa nã th× b¹n thªm tõ kho¸ Private tr−íc tõ kho¸ Sub.  Hµm: Hµm còng t−¬ng tù nh− thñ tôc, chØ kh¸c lµ ta dïng hµm khi muèn nhËn l¹i mét kÕt qu¶ tr¶ l¹i cña hµm, cÊu tróc hµm nh− sau: Funtion ( tham sè As kiÓu ) As ’ c¸c lÖnh ‘ Tªn hµm = gi¸ trÞ tr¶ vÒ End Function 4.3.1 Hµm Abs ( Number) Hµm nµy tr¶ vÒ mét sè gi¸ trÞ tuyÖt ®èi cña Number 4.3.2 Hµm Sin ( Number as Double) TÝnh sin cña mét gãc Giaùo trình VB 44
  45. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 4.3.3 Hµm Cos ( Number As Double ) TÝnh Cos cña mét gãc 4.3.4 Hµm Tan ( Number As Double ) TÝnh hµm tang cña mét gãc. 4. 3.5 Hµm Atn ( Number As Double ) TÝnh hµm Arctang cña mét gãc 4. 3.6 Hµm Int ( Number) Tr¶ vÒ phÇn nguyªn cña sè nÕu lµ sè d−¬ng. Cßn nÕu lµ sè ©m th× tr¶ vÒ phÇn nguyªn cã gi¸ trÞ nhá h¬n phÇn nguyªn mét ®¬n vÞ. 4. 3.7 Hµm Fix ( Number) Hµm tr¶ vÒ phÇn nguyªn cña sè 4.3.8 Hµm Sqn ( Number) Hµm tr¶ vÒ mét sè nguyªn NÕu sè > 0 sÏ tr¶ vÒ gi¸ trÞ lµ 1 NÕu sè < 0 sÏ tr¶ vÒ gi¸ trÞ lµ - 1 NÕu sè = 0 sÏ tr¶ vÒ gi¸ trÞ lµ 0 4.3.9 Hµm Sqr ( Number) TÝnh c¨n bËc hai cña mét sè 4.3.10 Hµm Exp ( Number) TÝnh e mò cña sè 4.3.11 Hµm Rnd ( Number) Hµm nµy tr¶ l¹i mét sè thùc ngÉu nhiªn 4.3.14 Hµm Day ( BiÕn ) Tr¶ vÒ sè ghi ngµy cña biÕn b¹n nhËp vµo 4.3.15 Hµm Month ( BiÕn ) Tr¶ vÒ sè ghi th¸ng b¹n nhËp vµo 4.3.16 Hµm Year ( BiÕn ) Tr¶ vÒ sè ghi n¨m cña biÕn b¹n cÇn nhËp vµo 4.3.17 Hµm Now Tr¶ vÒ ngµy th¸ng n¨m vµ thêi gian hiÖn t¹i 4.3.18 Hµm Weekday (biÕn) Cho biÕt thø mÊy trong tuÇn Giaùo trình VB 45
  46. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 4.3.19 Hµm Hour ( thêi gian ) Cho biÕt giê øng víi biÕn 4.3.20 Hµm Minute ( thêi gian ) Cho biÕt phót øng víi biÕn 4.3.21 Hµm Second ( thêi gian) Cho biÕt gi©y øng víi biÕn 4.3.22 Hµm Replace ( chuçi, chuçi cÇn t×m, chuçi thay thÕ, vÞ trÝ thay thÕ, sè lÇn thay thÕ) Thay thÕ chuçi nµy b»ng mét chuçi kh¸c. 4.3.23 Hµm Val ( string ) Tr¶ vÒ mét sè thùc víi chuçi String. String ph¶I lµ mét chuçi goomfg c¸c ký tù hîp lÖ. Gi¸ trÞ cña hµm lµ 0 nÕu chuçi cã ký tù ®Çu lµ ký tù . Gi¸ trÞ hµm lµ 1 nÕu chuçi ®ã toµn lµ c¸c ký tù sè NÕu c¸c ký tù sè viÕt c¸ch nhau th× hµm nµy sÏ c¾t bá c¸c kho¶ng tr¾ng vµ cho tr¶ vÒ gi¸ trÞ b»ng víi gi¸ trÞ nµy. 4.3.24 Hµm Str ( Number) Hµm nµy tr¶ vÒ mét chuçi ký tù. Chuçi nµy lu«n cã mét kÝ tù ®Çu ghi dÊu trong tr−êng hîp sè ©m hoÆc mét kho¶ng trèng trong tr−¬ng hîp sè d−¬ng. 4.3.25 Hµm Qbcolor ( color ) Hµm cho mµu cña mét ®èi t−îng nµo ®ã 4.3.26 Hµm RGB (red , green, blue) Chän mµu bÊt kú qua tû lÖ ba mµu chuÈn Red, Green, Blue 4.3.27 Hµm Asc (String) Tr¶ vÒ m Ascii cña ký tù String 4.3.28 Hµm Chr ( CharCode) Hµm tr¶ vÒ mét ký tù t−¬ng øng víi mét m Ascii nµo ®ã 4.3.29 Hµm Len (Expression) Cho biÕt chiÒu dµi cña chuçi 4.3.30 Hµm Ltrim (String) Hµm nµy tr¶ vÒ mét chuçi sau khi c¾t bá c¸c kho¶ng trèng bªn tr¸i cña chuçi Giaùo trình VB 46
  47. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 4.3.31 Hµm Rtrim (String) Hµm nµy tr¶ vÒ mét chuçi sau khi c¾t bá c¸c kho¶ng trèng bªn ph¶i cña chuçi 4.3.32 Hµm Trim (String) Hµm nµy tr¶ vÒ mét chuçi sau khi c¾t bá c¸c kho¶ng trèng bªn ph¶i vµ bªn tr¸i cña chuçi 4.3.33 Hµm Left (String,n) Tr¶ vÒ mét chuçi ký tù ®−îc c¾t tõ n ký tù (kÓ c¶ ký tù tr¾ng) bªn tr¸i cña chuçi 4.3.34 Hµm Right (String, n) Tr¶ vÒ mét chuçi ký tù ®−îc c¾t tõ n ký tù (kÓ c¶ ký tù tr¾ng) bªn ph¶i cña chuçi 4.3.35 Hµm Mid (String, n,[ Legth]) Hµm nµy tr¶ vÒ mét chuçi ,chuçi nµy ®−îc lÊy tõ chuçi String b¾t ®Çu tõ vÞ trÝ n víi chiÒu dµi length 4.3.36 Hµm Space (n) Hµm tr¶ vÒ mét chuçi gåm n kho¶ng tr¾ng 4.3.37 Hµm String(n, ký tù) Tr¶ vÒ mét chuçi gåm ký tù n gièng nhau 4.3.38 Hµm Instr (Start, S1, S2, Compare) Dïng ®Ó t×m mét chuçi con n»m trong chuçi mÑ hay kh«ng, nÕu cã th× n»m ë vÞ trÝ mÊy Start :VÞ trÝ b¾t ®Çu t×m S1 vµ S2 lµ chuçi mÑ vµ chuçi con Compare cã gi¸ trÞ : 0: So s¸nh chÝnh s¸c tõng ký tù 1: So s¸nh kh«ng ph©n biÖt ch÷ hoa hay ch÷ th−êng 2: ChØ dïng trong khi lËp tr×nh cho Microsift Acsess 4.3.39 Hµm Ucase §æi thµnh ch÷ hoa 4.3.40 Hµm Lcase §æi thµnh ch÷ th−êng 4.3.41 Hµm Format (Value, Format) Hµm nµy dïng ®Ó ®Þnh d¹ng 4.4 Mét sè vÝ dô minh ho¹ cho c¸c hµm Giaùo trình VB 47
  48. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 4.4.1 ThiÕt lËp mét Form khi ch¹y ch−¬ng tr×nh sÏ xuÊt hiÖn yªu cÇu nhËp Password nhu sau: H×nh 4.4.1 §Ó thùc hiÖn ch−¬ng tr×nh khi viÕt Code cho ch−¬ng tr×nh sÏ ¸p dung hµm Len Ch−¬ng tr×nh sÏ ®−îc viÕt m nguån nh− sau Private Sub Command1_Click() If ((Text1.Text = "NGUYEN NGOC QUANG") And (Text2.Text = 0904307746) And Len(Text1.Text) = 17) Then Picture1.Visible = True MsgBox "YOU ARE VIP MEMBER !" Else MsgBox "I DON'T KNOW YOU " End If End Sub Private Sub Form_Load() Picture1.Visible = False End Sub 4.4.2 ViÕt mét ch−¬ng tr×nh nhËp mét ký tù vµ in ra mQ Ascii cña ký tù ®ã Trong bµi nay ta ¸p dông hµm Str(Asc) Giaùo trình VB 48
  49. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr H×nh 4.4.2 Ta viÕt Code cho ch−¬ng tr×nh nh− sau : Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Text2.Text = Str(Asc(Text1.Text)) Text1.Text = "" End Sub 4.4.3 ViÕt mét ch−¬ng tr×nh thay ®æi cì ch÷ ,mµu nÒn , mµu ch÷ Trong bµi nay ta sö dung hµm Qbcolor vµ c¸c thuéc tÝnh Max Min cho Vscrollbar,Hscrollbar Ch−¬ng tr×nh cã giao diÖn nh− sau : H×nh 4.4.3 Giaùo trình VB 49
  50. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Ta viÕt Code cho ch−¬ng tr×nh nh− sau : Private Sub Cmdketthuc_Click() End End Sub Private Sub VScroll1_Change() Txtfc = VScroll1.Value TxtT.ForeColor = QBColor(VScroll1.Value) End Sub Private Sub VScroll2_Change() Txtbc = VScroll2.Value TxtT.BackColor = QBColor(VScroll2.Value) End Sub Private Sub VScroll3_Change() Txtfs = VScroll3.Value TxtT.FontSize = VScroll3.Value End Sub Private Sub form_load() VScroll1.Min = 15 VScroll1.Max = 0 VScroll1.Value = 5 Txtfc = VScroll1.Value VScroll2.Min = 15 VScroll2.Max = 0 VScroll2.Value = 6 Txtbc = VScroll2.Value VScroll3.Min = 80 VScroll3.Max = 0 VScroll3.Value = 10 Txtfs = VScroll3.Value End Sub 5. LËP TR×NH h−íng ®èi t−îng 5.1. giíi thiÖu vÒ ®èi t−îng Tõ ®Çu quyÓn s¸ch ®Õn giê chóng ta chØ sö dông biÕn ®Ó chøa nh÷ng d÷ liÖu t¹m thêi trong øng dông, ch¼ng h¹n nh− nh÷ng gi¸ trÞ do ng−êi sö dông nhËp vµo qua giao diÖn. Tuy nhiªn ®©y chØ lµ phÇn nhá cña VisualBasic. Vb6 thùc chÊt lµ mét c«ng cô lËp tr×nh h−íng ®èi t−îng rÊt m¹nh B¹n cã thÓ cho r»ng kü thuËt nµy v−ît qu¸ kh¶ n¨ng mét ng−êi míi míi häc lËp tr×nh VB. Tuy nhiªn, kh«ng h¼n nh− vËy. LËp tr×nh h−íng ®èi t−îng ( Object Oriented Programming – OOP ) gióp lËp tr×nh dÔ dµng h¬n. Giaùo trình VB 50
  51. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr C¸c vÝ dô ta dïng tr−íc ®©y ®−îc lËp tr×nh theo kiÓu lËp tr×nh cæ ®iÓn. §iÒu nµy kh«ng cã g× sai bëi v× ®©y lµ nh÷ng ch−¬ng tr×nh nhá vµ viÖc sö dông OOP cho chóng còng kh«ng phï hîp. Víi kiÓu lËp tr×nh cæ ®iÓn, cßn gäi lµ ph¸t triÓn phÇn mÒm theo cÊu tróc ( Structured Software Development ), ta ph¶i x¸c ®Þnh phÇn mÒm còng nh− c¸ch thøc ®Ó xö lý d÷ liÖu trong øng dông. Mét giao diÖn ng−êi sö dông ®−îc cung cÊp ®Ó hiÓn thÞ vµ nhËp liÖu tõ ng−êi sö dông, sau ®ã c¸c hµm vµ thñ tôc cßn ®−îc x©y dùng ®Ó xö lý d÷ liÖu. §iÒu nµy cã vÎ ®¬n gi¶n. §Ó gi¶i quyÕt mét vÊn ®Ò lín, øng dông chia thµnh nhiÒu vÊn ®Ò lín, øng dông chia thµnh nhiÒu vÊn ®Ò nhá ®Ó gi¶i quyÕt trong c¸c hµm, thñ tôc. OOP h¬i kh¸c mét chót. Víi lËp tr×nh cã cÊu tróc, c¸ch thøc x©y dùng øng dông, c¸ch chóng kÕt hîp ë møc ch−¬ng tr×nh rÊt thùc tÕ víi cuéc sèng. LÊy mét øng dung tÝnh l−¬ng lµm vÝ dô. Khi nh©n viªn ®−îc nhËn vµo ®Ó lµm viÖc, c¸c th«ng tin chi tiÕt cña nh©n viªn ®ã sÏ ®−îc nhËp vµo hÖ thèng tÝnh l−¬ng. Sö dông kü thuËt lËp tr×nh cã cÊu tróc, ta sÏ dïng mét biÓu mÉu ®Ó chøa nh÷ng th«ng tin nh©n viªn vµ viÕt ch−¬ng tr×nh copy tÊt c¶ nh÷ng th«ng tin ® nhËp vµo biÓu mÉu ®ã vµo c¬ së d÷ liÖu chøa ë ®©u ®ã trªn m¹ng c«ng ty. §Ó t¹o ra phiÕu tr¶ l−¬ng ta cÇn ph¶I cã mét biÓu mÉu in tr¶ l−¬ng cho phÐp ng−êi sö dông ch−¬ng tr×nh chän mét nh©n viªn tr¶ l−¬ng, råi viÕt ch−¬ng tr×nh ®Ó thu nhËp tÊt c¶ th«ng tin tõ c¬ së d÷ liÖu vµ ®Þnh d¹ng nã vµ ®−a ra m¸y in. Ta cã thÓ thÊy r»ng, gi¶i ph¸p nµy nÆng vÒ kü thuËt vµ nghiªng vÒ xö lý m¸y h¬n lµ c¸ch thùc hiÖn trong thùc tÕ cuéc sèng. LËp tr×nh h−íng ®èi t−îng sÏ lµm cho mäi viÖc trë nªn ®¬n gi¶n h¬n nhiÒu. Víi OOP, ta viÕt mét ch−¬ng tr×nh dùa trªn c¸c ®èi t−îng cña thùc tÕ cuéc sèng. VÝ dô nÕu ta ®ang viÕt mét ch−¬ng tr×nh øng dông tÝnh l−¬ng ®èi t−ong mµ ta cÇn lµm viÖc sÏ lµ phßng ban vµ nh©n viÖc. Mçi ®èi t−îng cã cac thuéc tÝnh :vÝ dô mét nh©n viªn cã tªn vµ sè;mét phßng ban cã vÞ trÝ vµ tr−ëng phßng.Thªm vµo ®ã,cã mét sè ph−¬ng thøc ®Ó phßng ph¸t l−¬ng øng dông cho cac ®èi t−îng trªn – mçi th¸ng mét lÇn,nã quyÕt ®Þnh ph−¬ng thøc ph¸t l−¬ng cho c¸c ®èi t−îng nh©n viªn .lËp tr×nh OOP còng t−¬ng tù nh− thÕ ta quyÕt ®Þnh ®èi t−îng naß lµ cÇn thiÕt, ®èi t−îng cã nh÷ng thuéc tÝnh nµo , vµ ta sÏ ¸p dông nh÷ng ph−¬ng thøc cho ®èi t−îng ®ã . Ta cã thÓ thÊy r»ng; ®©y lµ mét ph−¬ng thøc hÕt søc gÇn gòi víi nh÷ng vÊn ®Ò cña thùc tÕ cuéc sèng mµ ta th−¬ng xuyªn gÆp ph¶i . nh©n viªn ®−îc xem lµ ®èi t−îng trong mét øng dông ,vµ phßng ban lµ ®èi t−îng cã liªn quan víi nh©n viªn . Víi lËp tr×nh cã cÊu tróc, ta cã xu h−íng xem d÷ liÖu vµ cach thøc sö lý d÷ liÖu lµ hai phÇn t¸ch biÖt nhau ,hoµn toµn kh¸c víi ®èi t−îng vµ c¸ch xö lý trong thùc tÕ cuéc sèng mµ ta vÉn th−êng lµm .Vãi OOP ,ta ®ãng d÷ liÖu vµ c¸c chøc n¨ng xö lý d÷ liÖu trong mét ®èi t−îng (Object) gièng hÖt víi ®èi t−îng trong thùc tÕ cuéc sèng Vãi lËp tr×nh cã cÊu tróc cã thÓ xem d÷ liÖu vµ c¸ch thøc sö lý d÷ liÖu lµ hai phÇn t¸ch biÖt nhau hoµn toµn kh¸c víi c¸c ®èi tîng vµ c¸ch sö lý trong thùc tÕ cuéc sèng mµ ta vÉn th−êng lµm. Víi OPP ta ®ãng gãi d÷ liÖu vµ c¸c chøc n¨ng sö lý d÷ liÖu trong mét ®èi tîng (Object) . B»ng c¸ch chia øng dông thµnh nhiÒu ®èi t−îng. Nã gióp t¹o ra nh÷ng ch−¬ng tr×nh ®Ó ®äc ch−¬ng tr×nh vµ dÔ b¶o tr×. 5.1.1 §èi t−îng trong Visual Basic Giaùo trình VB 51
  52. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Khi ta quyÕt ®Þnh ®Æt mét hép v¨n b¶n vµo biÓu mÉu ta ph¶i gäi mét thñ tôc con ®Ó t¹o hép v¨n b¶n, mét thñ tôc con kh¸c ®Ó ®Æt v¨n b¶n vµo vÞ trÝ råi gäi mét thñ tôc con kh¸c n÷a ®Ó ®Þnh gi¸ trÞ khëi ®éng Nh÷ng g× ta cÇn lµm lµ kÐo vµ th¶ mét ®èi t−îng (hay mét ®iÒu khiÓn ) ch¼ng h¹n nh− th¶ hé v¨n b¶n vµo biÓu mÉu råi dïng c¸c thuéc tÝnh ®Ó söa ®æi c¸ch thÓ hiÖn cña chóng. Khi ng−êi sö dông nhËp d÷ liÖu vµo hép v¨n b¶n, hép v¨n b¶n sÏ th«ng b¸o cho ta biÕt c¸c sù kiÖn Change, vµ sù kiÖn Keypress Ngoµi c¸c ®èi t−îng hay ®iÒu khiÓn ®−îc cung cÊp s½n, Visual Basic cßn cho phÐp lËp tr×nh viªn t¹o ra c¸c ®èi t−îng th«ng qua c¬ chÕ Modun líp (Class Module). Trong M«- dun ta ®Þnh nghÜa c¸c thuéc tÝnh vµ ph−¬ng thøc cña mét ®èi t−îng. Sau khi hoµn tÊt, ®Ó sö dông ®èi t−îng tr−íc hÕt, ta t¹o ra ®èi t−îng vµ gäi c¸c hµm / thñ tôc trong m«-®un líp C¸c ®èi t−îng nµy cã mét sè ®Æc tÝnh chung : Tõng ®èi t−îng ph¶i cã chøc n¨ng tæng qu¸t, ®−îc ®Þnh nghÜa võa ®ñ ®Ó hiÓu nh−ng kh¸ mÒm dÎo ®Ó cã thÓ sö dông ®−îc : nh−ng cho phÐp ph¸t triÓn thªm tuú theo yªu cÇu . VÝ Dô : mét nót lÖnh ph¶i cã chøc n¨ng chung lµ nhÊn vµo ®Ó thi hµnh mét c«ng viÖc g× ®ã. Tuy nhiªn c¸ch thÓ hiÖn vµ ho¹t ®éng cña nã trong tõng tr−êng hîp cã thÓ thay ®æi chót Ýt tuú theo c¸ch ta cµi thuéc tÝnh vµ viÕt code choi ph−¬ng thøc ®Ó ph¶n víi sù kiÖn • §èi t−îng giao tiÕp víi bªn ngoµi th«ng qua thuéc tÝnh ph−¬ng thøc vµ sù kiÖn ®−îc ®Þnh nghÜa tríc cho nã. Tæ hîp cña 3 kh¸i niÖm nµy gäi lµ giao diÖn (interface). §ã lµ nh÷ng yÕu tè cÇn biÕt vÒ mét ®èi t−îng ®Ó sö dông chóng • Cã thÓ sö dông nhiÒu ®èi tîng trong mét ®Ò ¸n, ta còng cã nhiÒu thÓ hiÖn kh¸c nhau cña mét kiÓu ®èi t−îng • Ng−êi sö dông ®èi t−îng kh«ng quan t©m ®Õn c¸ch lËp tr×nh bªn trong ®èi t−îng. Bëi v× ng−êi sö dông chØ thÊy ®èi t−îng ®iÒu khiÓn, ta cã thÓ thay ®æi ho¹t ®éng bªn trong cña ®èi tîng sao cho nh÷ng thay ®æi nµy kh«ng ¶nh h−ëng ®Õn øng dông ®ang dïng ®èi t−îng 5.1.1.2 Mét sè ®èi t−îng c¬ b¶n  Keydow: §èi t−îng nµy xuÊt hiÖn vµ thi hµnh khi cã mét phÝm bÊt kú nhÊn xuèng  KeyUp: §èi t−îng nµy xuÊt hiÖn vµ thi hµnh khi ta nh¶ phim nhÊn cña lÇn thi hµnh ch−¬ng tr×nh tr−íc  GotFocus : §èi t−îng nµy xuÊt hiÖn vµ thi hµnh khi cã sù héi tô cña c¸c ®iÒu kiÖn ®−îc nhËp tõ bµn phÝm  MouseDown: §èi t−îng nµy xuÊt hiÖn vµ thi hµnh khi ta nhÊn chuét xuãng c¸c ®èi t−îng  MouseUp: §èi t−îng nµy xuÊt hiÖn vµ thi hµnh khi ta nh¶ chuét ra sau khi ® thi hµnh ch−¬ng tr×nh tr−íc ®ã 5.1.2 M«-§un Líp Khu«n mÉu ®Ó t¹o ®èi t−îng lµ Mo-®un líp. Sau nµy m«- dun líp cßn ®−îc dïng ®Ó t¹o ®iÒu khiÓn ActiveX, mét kü thuËt cao h¬n cña lËp tr×nh h−íng ®èi t−îng Giaùo trình VB 52
  53. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Trong b−íc lËp tr×nh c¨n b¶n víi VB ta dïng m« - ®un ®Ó chøa c¸c hµm hay thñ tôc. Tuú theo tÇm ho¹t ®éng cña hµm / thñ tôc nµy ta cã thÓ gäi chóng trùc tiÕp tõ m«- ®un Nh−ng m«- ®un líp th× kh«ng bao giê ®îc gäi trùc tiÕp. §Ó sö dông mét líp, ta ph¶i t¹o ®èi t−îng tõ líp th«ng qua lÖnh New ë ®©y ®èi t−îng ®−îc t¹o tõ líp MyClass, cßn biÕn ®èi tîng MyObject cung cÊp mét tham chiÕu ®Õn ®èi t−îng Dim MyObject as new MyClass Dßng lÖnh trªn t¹o mét ®èi t−îng gäi lµ MyObject theo m« t¶ cña líp MyClass. Hµnh ®éng nµy gäi lµ t¹o mét instance tõ líp Trong cöa sæ Properties ta cã thÓ ph©n biÖt tªn líp vµ tªn ®èi t−îng : Combo1 lµ tªn ®èi t−îng trong khi combobox lµ tªn líp Ta cã thÓ t¹o ra v« sè instance tõ mét líp .Mçi instace cã thÓ kh¸c nhau mét chót tuú theo c¸ch ta quy ®Þnh thuéc tÝnh vµ sö dông ph−¬ng thøc 5.1.2.1 Thuéc tÝnh vµ ph−¬ng thøc cña líp Giaùo trình VB 53
  54. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Bªn trong mét líp ta cã thñ tôc ph¬ng thøc vµ thñ tôc thuéc tÝnh . Quy ®Þnh mét thuéc tÝnh nghÜa lµ ta ®ang gäi hµm xö lý sù kiÖn Property Let Trong Visual Basic 6phiªn b¶n Professional vµ Enterprice hç trî tr×nh x©y dùng líp (Class Builder) gióp lËp tr×nh dÔ dµng víi líp .Nã cung cÊp mét lo¹t c¸c hép tho¹i h−íng dÉn ta tõng b−íc ®Ó t¹o líp VÝ dô mÉu – thiÕt kÕ líp cã chøc n¨ng di chuyÓn hép trªn mµn h×nh 1. T¹o ®Ò ¸n míi , KiÓu Standard EXE 2. Tõ Menu Project chän Add Class Module . Mét hép tho¹i xuÊt hiÖn 3. Chän Class Module vµ nhÊn Open. Cöa sæ Code sÏ hiÓn thÞ. NÕu nh×n vµo cöa sæ Project Expoler, ta sÏ thÊy mét líp míi xuÊt hiÖn 4. V× ta muèn t¹o mét líp Box, nªn ta ®æi tªn Class1 sao cho gîi nhí ClsBox. Côm tõ “ cls” thÓ hiÖn ®©y lµ líp nhê ®ã , ch−¬ng tr×nh trë nªn dÔ ®äc h¬n. §Ó thùc hiÖn ®iÒu nµy , t×m líp class1 trong cöa sæ Properties, ®æi thuéc tÝnh Name cña nã thµnh clsBox. 5.1.2.1.1. Thuéc tÝnh cña líp – Public vµ Private Líp Box cã 4 thuéc tÝnh lµ to¹ ®é gãc tr¸i trªn ( X, Y) va chiÒu cao (Height) vµ chiÒu réng (Width). B©y giê ta cÇn khai b¸o thuéc tÝnh trªn public vµ Private. Khi mét thuéc tÝnh ®−îc khai b¸o lµ Public trong mét líp th× nã sÏ kh«ng ®−îc truy cËp bëi bÊt kú ®o¹n ch−¬ng tr×nh nµo kh¸c So s¸nh khai b¸o cña mét thuéc tÝnh Public. BiÕn Public trong mét líp gièng nh− mét biÕn Public bÊt kú nµo kh¸c, chØ cã ®iÒu lµ khi ta xö lý nã trong ch−¬ng tr×nh th× gièng nh− ta ®ang xö lý víi mét thuéc tÝnh. VÝ dô NÕu ta khai b¸o thuéc tÝnh X lµ mét biÕn Public, sau ®ã khai b¸o mét ®èi t−îng gäi lµ Mybox dùa trªn líp nµy ta cã dßng lÖnh sau MyBox.x =1000 Tham chiÕu ®Õn X t−¬ng tù nh− ta xö lý víi mét thuéc tÝnh th«ng th−êng trªn c¸c ®èi t−îng hoÆc ®iÒu khiÓn bÊt kú kh¸c. Nh−ng nh÷ng g× chóng ta lµm lµ cho phÐp ng−êi sö dông ®èi t−îng chóng ta ®æi X thµnh gi¸ trÞ mµ hä mong muèn. B©y gi¬ ta sÏ khai b¸o X lµ thuéc tÝnh Public nã còng t−¬ng tù. Nh−ng nã còng kh«ng gièng h¼n. §èi víi thuéc tÝnh Public mçi khi ®æi gi¸ trÞ mét ®o¹n ch−¬ng tr×nh bªn trong sÏ thi hµnh. Trong ®o¹n ch−¬ng tr×nh nµy ta cã thÓ quyÕt ®Þnh mét ®o¹n ch−¬ng tr×nh nµo mµ ng−êi sö dông chØ . Thuéc tÝnh lu«n cã mét ddoanju ch−¬ng tr×nh ch¹y bªn trong mçi khi nã ®−îc truy cËp. Dïng thuéc tÝnh thay cho biÕn còng h¹n chÕ kh¶ n¨ng sai sãt v× gi¸ trÞ truyÒn vµo líp ®−îc kiÓm nghiÖm nhê ®o¹n ch−¬ng tr×nh kiÓm tra bªn trong líp. Trong thùc tÕ thuéc tÝnh h÷u dông h¬n biÕn v× ®«I khi ta cÇn mét xö lý h¬n lµ chØ g¸n gi¸ trÞ VÝ dô 1. Ta khai b¸o biÕn ®Ó chøa gi¸ trÞ thuéc tÝnh Option Explicit Giaùo trình VB 54
  55. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Private mvarX as Integer BiÕn nµy cã tÇm ho¹t ®éng bªn trong m« - ®un líp. 2. Thªm ch−¬ng tr×nh vµo thuéc tÝnh X Public Property Let X ( ByVal vData As Integer) mvarX = v Data End Property Pub lic property Get X () As Integer X = mvarX End Property §o¹n ch−¬ng tr×nh nµy kh«ng thi hµnh trùc tiÕp trõ khi nã ®−îc gäi th«ng qua thuéc tÝnh ®èi t−îng Dim Mybox As New clsBox My Box.X = 100 Khi ta g¸n gi¸ trÞ 100 cho thuéc tÝnh X, thùc chÊt ta ®ang gäi thñ tôc Property Let X New _ Position = Mybox.X NghÜa lµ thñ tôc Property Get X thi hµnh Public Property Get X () As Integer X=mvarX End Property Thñ tôc Property Let ®−îc gäi khi ®æi gi¸ trÞ thuéc tÝnh. Gi¸ trÞ ®æi sÏ ®−îc chøa vµo mét biÕn côc bªn trong líp . Thñ tôc Property Get ®−îc gäi khi cÇn ®äc gi¸ trÞ thuéc tÝnh. Gi¸ trÞ ®−îc chøa trong biÕn côc bé ®−îc tr¶ vÒ Property Get. Tuy hai thñ tôc thuéc tÝnh nµy chØ lµm viÖc víi c¸c d÷ liÖu c¬ b¶n nh− Variant, String, Integer, vv §èi víi thuéc tÝnh chøa ®èi t−îng, thay v× dïng Property Let, ta dïng Property Set VÝ dô Public Property Set Font ( ByVal New_Font As StdFont) Set mvarFont = New_Font New Property §Ó thuéc tÝnh Font cña ®èi t−îng MyOject tõ øng dông ta cho nã ®èi t−îng Font MyFont. Tuy nhiªn ®Ó ®¶m b¶o VisualBasic dïng thñ tôc Property Set tr−íc thuéc tÝnh : Dim myFont As New StdFont ‘ StdFont is the VB class name ‘ for a Font object myFont .Name = “Courier” myFont .Bold = True Set myobject.Font = myFont ‘ class the Giaùo trình VB 55
  56. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr ‘ Property Set procedure T−¬ng tù ta hoµn tÊt c¸c thuéc tÝnh cßn l¹i cña líp ClsBox 3. Trong phÇn General Declarations, thªm, c¸c biÕn côc bé Option Explicit Private mvarY As Integer Private mvarWidth AS Integer Private mvarHeight AS Integer 4. Thªm c¸c thñ tôc tiÕp theo Public Propety Let Y (ByVal vData As Integer ) mvarY = vData End Property Public Property Get Y As Integer Y = mvarY End Property Public Propety Let Y (ByVal vData As Integer ) MvarWidth = vData End Property Public Property Get Width As Integer Width = mvar Width End Property Public Propety Let Height (ByVal vData As Integer ) Mvar Hieght = vData End Property Public Property Get Height As Integer Width = mvar Height End Property 5. L−u m« - ®un thµnh tËp tin clsBox.cls 6. §Õn ®©y, ta cÇn hai ph−¬ng thøc n÷a lµ vÏ hép (DrawBox ) vµ xo¸ hép (ClearBox ). C¶ hai ph−¬ng thøc cã mét ph−¬ng thøc truyÒn lµ ®èi t−îng ®Ó vÏ hép lªn. Nã cã thÓ lµ biÓu mÉu, hép h×nh,vv 5.1.2.1.2 ph−¬ng thøc cña líp VÝ dô 1. Thªm ®o¹n ch−¬ng tr×nh sau vµo m« - ®un líp Giaùo trình VB 56
  57. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Public Sub DrawBox ( Canvas As Object ) Canvas.Line (mvarX, mvarY ) - ( mvarX + mvar Width, _ mvarY + mvarHeight) , , B End sub §o¹n ch−¬ng tr×nh nµy sö dông ph−¬ng thøc Line cña ®èi t−îng Canvar 2. KÕ ®Õn ta thªm ClearBox vµo Líp Public Sub ClearBox ( Canvas As Object) Canvas.Line (Canvas.Line (mvarX, mvarY ) - ( mvarX + mvar Width, _ mvarY + mvarHeight) , Canvas.backcolor , B 3. L−u m« - ®un víi tªn clsBox.cls V× hai thñ tôc nµy sÏ ®−îc dïng lµm ph−¬ng thøc cña ®èi t−îng nªn chóng ®−îc khai b¸o Public, nghÜa lµ chóng cã thÓ ®−îc gäi tõ bªn ngoµi m« - ®un . 5.1.2.2 T¹o instance cho líp VÝ dô mÉu – T¹o ho¹t ®éng cho ®èi t−îng hép 1. NÕu b¹n ®ang më ®Ò ¸n trong vÝ dô tr−íc, chØ cÇn nhÊn ®óp chuét lªn biÓu mÉu ®Ó më cöa sæ Code .NÕu kh«ng t¹o ®Ò ¸n míi kiÓu stand EXE .Tõ menu Project chän Add Class M odule; sau ®ã chän Tab Existing trong hép tho¹i vµ chän clsBox.cls. 2. T×m sù kiÖn Click trong danh s¸ch vµ ®−a ®o¹n ch−¬ng tr×nh sau vµo: Dim A_ Box As New clsBox BiÕn ®èi t−îng A_Box sÏ gi÷ mét Instance cña líp .Tõ kho¸ New rÊt quan träng ,nÕu thiÕu nã ,VB sÏ cho r»ng ta muèn t¹o mét b¶n sao cña ®èi t−îng clsBox hiÖn hµnh .Khi tham chiÕu ®Õn nã, ta sÏ gÆp lçi . 3. §−a vµo ®o¹n ch−¬ng tr×nh sö dông ®èi t−îng : Private Sub Form_Click() Dim A_Box As New clsBox Dim nindex As integer Width A_Box .x=0 .y=0 .width=1000 .Height=1000 For nIndex .DrawBox Me Next End Width End sub Giaùo trình VB 57
  58. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 4. Thi hµnh ch−¬ng tr×nh nhÊn chuét vµo biÓu mÉu ta sÏ thÊy hép tr−îc däc theo biÓu mÉu. 5.1.2.2.1. KiÓm tra gi¸ trÞ thuéc tÝnh Trong thñ tôc thuéc tÝnh Property Let X , nÕu ta chuyÒn vµo chuçi ký tù “ Hello Word “ , tr×nh biªn dÞch sÏ b¸o lçi Public Property Let X ( ByVal vData As Integer ) mvarX = vData End property Tuy nhiªn nÕu ta chuyÒn sè -7983, hép ch¾c ch¾n sÏ kh«ng hiÓn thÞ trªn biÓu mÉu. Ta cã thÓ cÊm ®iÒu nµy b»ng c¸ch Public Property Let X ( ByVal vData As Integer ) IF vData >0 then mvarX = vData End property §èi t−îng sÏ bá qua gi¸ trÞ ©m truyÒn vµo. 5.1.2.1.3 Thuéc tÝnh chØ ®−îc ®äc ( Read – Only ) §èi víi thuéc tÝnh chØ ®−îc ®äc, ta kh«ng thÓ thay ®æi gi¸ trÞ thuéc tÝnh, muèn vËy ta chØ cÇn lo¹i bá gi¸ trÞ thñ tôc Property Let trong m« - ®un líp 5.1.3 tham sè tuú chän Ta cã thÓ sö dông tham sè tuú chän trong c¸c ph−¬ng thøc sau VÝ dô 1. Dõng ch−¬ng tr×nh, trong cöa sæ Project Exxplorer , nhÊn ®óp chuét nªn clsBox ®Ó më cöa sæ Code 2. T×m ph−¬ng thøc ClearBox , ®¸nh dÊu khèi thñ tôc råi Ên Delete xo¸ nã ®i 3. Söa ph−¬ng thøc DrawBox ®Ó thªm vµo tham sè tuú chän mµu Public Sub DrawBox ( Canvas As Object ,_Optional 1 color As Variant) If Is MissLng( 1color ) Then Canvas.Line (mvarX, mvarY ) – ( mvarX + mvar Width, _ mvarY + mvarHeight) , , B Else Canvas.Line (mvarX, mvarY ) – ( mvarX + mvar Width, _ mvarY + mvarHeight) , 1color , B End if End sub 4. §Õn ®©y ch−¬ng tr×nh ch−a thÓ biªn dÞch, v× vÉn cßn dßng lÖnh tham chiÕu ®Õn ph−¬ng thøc ClearBox ClearBox Me Xo¸ dßng nµy vµ thay thÕ dßng lÖnh DrawBox Me, Me.Backcolor Giaùo trình VB 58
  59. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 5. Thi hµnh dßng lÖnh. Kh«ng cã thay ®æi trong kÕt qu¶ Tõ kho¸ Optional cho biÕt tham sè phÝa sau nã kh«ng nhÊt thiÕt lµ ph¶i truyÒn khi gäi ph−¬ng thøc. §Ó biÕt ®−îc khi nµo cã tham sè ®−îc truyÒn, ta dïng hµm IsMissing. Hµm nµy tr¶ vÒ gi¸ trÞ True/ False. Khi cã hµm truyÒn ta gäi hµm Line cã chØ ®Þnh mµu. ThËn träng MÆc dï tham sè chØ ®Þnh cã tÝnh linh ho¹t , gióp ta gi¶m sè dßng ch−¬ng tr×nh nh−ng nã còng cho ta r¾c rèi kÌm theo Mét trong nh÷ng lý do ®Ó truyÒn tõ lËp tr×nh theo cÊu tróc sang lËp tr×nh h−íng ®èi t−îng ta lµm cho ch−¬ng tr×nh dÔ ®äc, dÔ hiÓu Tham sè tuú chän cung cÊp tÝnh n¨ng t¸I sö dông ch−¬ng tr×nh. 5.1.4 sù kiÖn cña líp §Þnh nghÜa Sù kiÖn cho líp ® cã trong VB5. Nã vÉn h÷u dông víi VB6. Ch¼ng h¹n ta muèn mçi lÇn hép ®−îc vÏ trªn mµn h×nh, sù kiÖn Draw g©y ra ho¹t ®éng cËp nhËt trªn ch−¬ng tr×nh VÝ dô 1. §Þnh nghÜa sù kiÖn Draw . Mét trong nh÷ng th«ng tin cËp nhËt nhÊt lµ to¹ ®é (x,y) cña hép. Më cöa sæ Code vµ thªm dßng lÖnh sau General Declarations Public Event Draw (X as Integer, Y as Integer ) Tuy nhiªn dßng lÖnh nµy ch−a thÓ hiÖn lóc nµo th× sù kiÖn ®−îc kÝch ho¹t. 2. Ta muèn sù kiÖn Draw ®−îc sinh ra mçi khi hép ®−îc vÏ trªn biÓu mÉu. Ta t×m ph−¬ng thøc DrawBox vµ thªm dßng lÖnh in ®Ëm Public Sub DrawBox ( Canvas As Object ,_Optional 1 color As Variant) If Is MissLng( 1color ) Then Canvas.Line (mvarX, mvarY ) – ( mvarX + mvar Width, _ mvarY + mvarHeight) , , B Else Canvas.Line (mvarX, mvarY ) – ( mvarX + mvar Width, _ mvarY + mvarHeight) , 1color , B End if RaiseEvent Draw( mvarX, mvarY) End sub 3. T×m thñ tôc sö lý sù kiÖn Click cña biÓu mÉu. T×m vµ xo¸ dßng lÖnh t¹o ®èi t−îng A_Box vµ thªm mét dßng vµo phÇn GeneralDeclarations Private withevents A_Box As clsBox Private sub Form _click() ‘ remove the line here Giaùo trình VB 59
  60. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr Dim nIndex As Integer With A_Box 4. Thªm mét dßng vµo sù kiÖn Form_load Private sub Form _click() Set A_Box = New clsBox End sub 5. Chän A_Box tõ danh s¸ch trong cöa sæ Code. Chän Draw trong danh s¸ch c¸c sù kiÖn 6. Trong sù kiÖn nµy ta dïng Print ®Ó in ra to¹ ®é cña hép Public Sub A_Boxx_Draw ( X As Integer, Y As Integer ) Debug. Print “ The box just got drawn at “ _ & / & “, “ & Y End sub 7. Thi hµnh ch−¬ng tr×nh, nhÊn chuét trªn biÓu mÉu ta thÊy hép tr−ît trªn mµn h×nh, vµ cöa sæ Immediate vµ c¸c dßng v¨n b¶n. Ta dïng ph−¬ng thøc RaisEvent ®Ó yªu cÇu VB ph¸t ra sù kiÖn Draw §Ó cã thÓ sö lý sù kiÖn cña mét ®èi t−îng t¹o ra, ta cÇn khai b¸o ®èi t−îng h¬i kh¸c mét chót. 5. 2.biÕn ®èi t−îng Víi biÕn ®èi t−îng, ta cã thÓ • T¹o ®iÒu khiÓn míi trong lóc hiÖn hµnh • Coppy ®iÒu khiÓn ®Ó sinh ra mét instance míi cña ®iÒu khiÓn hiÖn hµnh • T¹o b¶n sao biÓu mÉu víi cïng tªn cïng ®iÒu khiÓn vµ ch−¬ng tr×nh • BiÕn ®èi t−îng cung cÊp c¸c kh¶ n¨ng x©y dùng c¸c thñ tôc tæng qu¸t ®Ó xö lý víi nh÷ng ®iÒu khiÓn nhÊt ®Þnh 5.2.1 t¹o ®iÒu khiÓn lóc hiÖn hµnh C¸ch ®¬n gi¶n nhÊt lµ t¹o mét m¶ng ®iÒu khiÓn vµo lóc thiÕt kÕ. NÕu ta ®Þnh thuéc tÝnh Index cña ®iÒu khiÓn ®Çu tiªn lµ 0 lóc thiÕt kÕ ta cã thªm ®iÒu khiÓn. T−¬ng tù biÕn m¶ng ta cã thÓ më réng vµ rót gän m¶ng ®iÒu khiÓn. VÝ dô Thö t¹o mét dy nót lÖnh trªn biÓu mÉu. 1. T¹o ®Ò Ên míi vµ vÏ mét nót lÖnh lªn biÓu mÉu 2. §æi thuéc tÝnh Index thµnh 0 khi Êy mét m¶ng ®iÒu khiÓn cã mét phÇn tö ®−îc t¹o ra 3. §−a ®o¹n ch−¬ng tr×nh sau vµo thñ tôc Click cña nót lÖnh Private sub command1_Click(Index As Integer ) Static sNextOperation As String Dim nIndex As Integer For nIndex =1 to 5 Giaùo trình VB 60
  61. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr If sNextOperation = “Unload” then Unload Command1(nIndex) .Top = Command1 ( n Index - 1).Top – Command1 ( nIndex - 1).Height .Caption = nIndex Visible=True End width End if Next If sNextOperation = “Unload” Then SnextOperation = “LOAD” Else NextOperation = “Unlooad” End if End sub 4. Thi hµnh ®o¹n ch−¬ng tr×nh vµ nhÊn nót lÖnh vµi lÇn Mçi lÇn nhÊn 5 nót lÖnh ®−îc t¹o hoÆc xo¸ 5. L−u vµo ®Üa víi tªn NewCtrl.vbp Vßng lÆp For Next t¹o hoÆc xo¸ nót lÖnh tuú theo néi dung biÕn sNext Operation. . Tr−íc hÕt néi dung cña SnextOperation ®−îc kiÓm tra ®Ó xem cÇn Looad hay UnLoad c¸c phÇn tö . Çn ®Çu sNext Operation ch−a ®−îc g¸n nã r¬i vµo phÇn Else nghÜa lµ Load Bëi mÆc ®Þnh ®iÒu khiÓn míi t¹o lóc thi hµnh xuÊt hiÖn t¹i cïng vÞ trÝ víi ®iÒu khiÓn gèc vµ kh«ng hiÓn thÞ. Do ®ã ta cã thÓ ®æi vÞ trÝ vµ ®iÒu chØnh kÝch cì mµ kh«ng ®Ó ng−êi sö dông thÊy .Ta chØ cho chóng hiÓn thÞ sau khi ® cã vÞ trÝ míi 5.2.2 sù kiÖn cña m¶ng ®iÒu khiÓn MÆc dï hiÓn thÞ kh¸c nhau 6 phÇn tö gåm mét b¶n gèc vµ mét b¶n coppy vÉn chia sÎ mét thñ tôc xö lý xù kiÖn, v× nhÊn vµo mét nót bÊt kú chóng ®Òu ®¸p øng nh− nhau. VÝ dô 1. Më ®Ò ¸n NewCtrl.vbp vµ chän sù kiÖn Click trªn nót lÖnh. 2. Thªm ®o¹n ch−¬ng tr×nh sau vµo Private sub command1_click( Index As Integer) Dim nIndex As Integer Select case Index Case=0 For nIndex =1 To 5 If sNextOperation = “ Unload” Then Unload Command1 “nIndex “ Else Load Command1 ( nIndex) With Command1 ( nIndex) .Top = Command1 ( n Index - 1).Top +Command1 ( nIndex - 1).Height Giaùo trình VB 61
  62. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr .Caption = nIndex Visible= true End width End if Next If sNextOperation = “Unload” Then SnextOperation = “LOAD” Else sNextOperation = “Unlooad” End if Case 1, 2, 3, 4, 5 Msg Box “ You presses Button “ & nIndex End Select End sub 3.Thi hµnh ch−¬ng tr×nh NhÊn chuét trªn tõng nót lÖnh, mét th«ng ®iÖp xuÊt hiÖn cho biÕt thø tù nót nhÊn 5.2.3 Qu¶n lý ®iÒu khiÓn nh− biÕn ®èi t−îng Kh«ng chØ dïng biÕn ®èi t−îng nh− m¶ng ®iÒu khiÓn ta cßn cã thÓ truyÒn biÕn ®èi t−îng vµ m¶ng ®èi t−îng vµo thñ tôc hay hµm 5.2.3.1 Hµm kiÓm tra hép v¨n b¶n Hµm nµy sÏ tù ®éng biÕn kiÓu d÷ liÖu mµ mçi hép v¨n b¶n cÇn còng nh− chiÒu dµi tèi ®a cña d÷ liÖu VÝ dô 1. T¹o mét ®Ò ¸n míi vµ vÏ mét biÓu mÉu gåm c¸c ®iÒu khiÓn nh− sau 2. ThiÕt lËp thuéc tÝnh cho hép v¨n b¶n nh− sau M« t¶ Thuéc tÝnh Gi¸ TrÞ Hép “ alphabetic only” Name Txt Validate ( ChØ nhËn ch÷) Index 0 Tag N12 Name Txt Validate Hép “ Number Only “ Index 1 ( ChØ nhËn sè ) Tag N5 M« t¶ Thuéc tÝnh Gi¸ TrÞ Hép “ Anything “ Name Txt Validate Giaùo trình VB 62
  63. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr ( NhËn mäi thø) Index 2 Tag *4 3. ViÕt ch−¬ng tr×nh Option Explicit Private sub ValidateKeyPress ( TxtControl As TextBox, _ nKeyAsci As Integer) Dim sMaxLength As string Dim sKey As string * 1 If nKeyAscii 126 then Eexxit Sub sMax.Hieght = Rights (txtControl.Tag,_ Len(txt Control.Tag) -1) If Len ( TxtControl.Text) >= Val ( sMaxLenght ) Then Beep nKey.Ascii =0 Exit Sub End if sKey = UCase (Chr$ (nkey Ascii)) Select case Let$( TxtControl.Tag, 1) Case “A” If Asc (sKey) 90 Then Beep nKey.Ascii =0 Exit Sub End if Case “N” If Asc (sKey) 57 Then Beep nKey.Ascii =0 Exit Sub End if End select End sub Private sub TxtValidate_KeyPress ( Index As Integer,_ KeyAscii As Integer) ValidatedatekeyPress TxtValidate ( Index ) KeyAscii End sub 4. Thi hµnh ch−¬ng tr×nh Giaùo trình VB 63
  64. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr ValidateKeyPress lµ thñ tôc ë møc biÓu mÉu vµ ®−îc khai b¸o trong phÇn General. nKeyascii lµ m phÝm nhÊn. V× tõ kho¸ ByVal kh«ng ®−îc nªu ra, nªn tham sè ®−îc truyÒn b»ng tham chiÕu. §æi KeyAscii vÒ 0 trong sù kiÖn CasePress lµ t¾t phÝm nhÊn. Thuéc tÝnh Tab ®−îc dïng nh− mét nhn riªng ®a n¨ng cho c¸c ®iÒu khiÓn. Nã cho biÕt kiÓy d÷ liÖu ®−îc cho phÐp trong mçi hép vawn b¶n Ta cã thÓ ®æi kiÓu d÷ liÖu cña mét hép v¨n b¶n b»ng c¸ch ®æi thuéc tÝnh Tab trong cöa sæ Properties. Giai ®o¹n ®Çu tiªn, ch−¬ng tr×nh kiÓm tra nKeyascii cho c¸c ký tù ®Æc biÖt( nh− Bksp hay c¸c phÝm bÊm ®Þnh h−íng). NÕu chóng ®−îc nhÊn phÝm ®ã sÏ bá qua If nKeyascii 126 then Eixt Sub Dßng lÖnh kÕ lÊy gi¸ trÞ tõ thuéc tÝnh Tab ®−a vµo biÕn sMaxLenght Sau ®ã kiÓm tra chiÒu dµi tèi ®a If Len ( TxtControl.Text) >= Val ( sMaxLenght ) Then Beep nKey.Ascii =0 Exit Sub End if Select Case so s¸nh phÝm ký tù víi kiÓu d÷ liÖu trong thuéc tÝnh Tab Hµm Chr$ chuyÓn m ký tù nKeyascii thµnh chuçi ký tù Hµm Asc lµm ng−îc l¹i tr¶ vÒ m ký tù ASCII. 5.2.4 Khai b¸o biÕn ®èi t−îng Ta cã thÓ khai b¸o mét biÕn ®èi t−îng mét c¸ch t−êng minh b»ng c¸ch cung cÊp mét kiÓu d÷ liÖu mµ VB nhËn ra Dim TxtControl As TextBox Ch−¬ng tr×nh sÏ hiÖu qu¶ dÔ gì rèi vµ sÏ ch¹y nhanh h¬n Dim ct1Control As Control Tham sè hµm vµ thñ tôc cã thÓ khai b¸o theo kiÓu nµy nã chã phÐp ta truyÒn mét ®iÒu khiÓn bÊt kú. Sau ®ã dïng dßng lÖnh TypeOf ®Ó kiÓm tra kiÓu ®iÒu khiÓn liªn quan ®Õn mét ®èi t−îng NÕu khai b¸o t−êng minh VB kiÓm tra thuéc tÝnh cña ®èi t−îng ngay lóc biªn dÞch. NÕu khai b¸o Èn (kh«ng t−êng minh) VB chØ kiÓm tra thuéc tÝnh lóc thi hµnh 5.2.4.1 KiÓu biÕn ®èi t−îng Danh s¸ch c¸c kiÓu ®èi t−îng mµ VB cã thÓ nhËn ra CheckBox ComboBox CommandButton MDIForm Data DirrListBox DriveListBox FileListBox Grid Frame HscrollBar Image Lable Line ListBox Menu OptionButton OLE PictureBox Shape TextBox Timer VscrollBar Form Giaùo trình VB 64
  65. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr §©y lµ ®èi t−îng chuÈn chóng lµ tªn líp vµ ®−îc ®Æt kÕ bªn tªn ®iÒu khiªntrong cöa sæ Properties 5.3 tËp hîp ( Collection ) Mét biÓu mÉu trong øng dông cã mét tËp hîp c¸c ®iÒu khiÓn néi t¹i. Trong lóc thi hµnh, ta cã thÓ dïng tËp hîp ®Ó truy cËp ®Õn ®iÒu khiÓn trªn biÓu mÉu. Khi thªm hoÆc xo¸ mét ®iÒu khiÓn trªn biÓu mÉu, VB tù ®éng qu¶n lý viÖc thªm hay xo¸ ®iÒu khiÓn trªn tËp hîp Truy cËp phÇn tö trong tËp hîp t−¬ng tù nh− truy cËp phÇn tö trong m¶ng th«ng th−êng. TËp hîp rÊt tiÖn lîi cho c¸c biÓu maauxnhaapj liÖu. Kh¸c víi m¶ng ®iÒu khiÓn tËp hîp kh«ng hì trî c¸c ®iÒu khiÓn. Tuy nhiªn tõng ®iÒu khiÓn trong tËp hîp ®Òu cã nh÷ng thuéc tÝnh, ph−¬ng thøc vµ sù kiÖn 5.3.1 THUéC TÝNH CONTROLS Thuéc tÝnh Control cña biÓu mÉu chØ ®−îc truy cËp th«ng tin qua ch−¬ng tr×nh, nã thùc chÊt lµ mét m¶ng c¸c biÕn ®èi t−îng. Trong ®ã mçi phÇn tö cña m¶ng lµ mét ®iÒu khiÓn ®¬n: phÇn tö sè 0 lµ ®iÒu khiÓn ®Çu tiªn trªn biÓu mÉu, phÇn tö sè 1 lµ ®iÒu khiÓn thø hai . Sè thø tù trong m¶ng ®−îc g¸n tù ®én. NÕu cã 2 hép v¨n b¶n trªn biÓu mÉu, ta cã thÓ ®æi thuéc tÝnh Text cña tõng ®iÒu khiÓn sau. Form1.Controls(0).Text = “ Control 0 ” Form1.Controls(1).Text = “ Control 1 ” Có ph¸p .Controls( ). = 5.3.2 x¸c ®Þnh ®iÒu khiÓn trªn biÓu mÉu M¶ng Control cã mét thuéc tÝnh gäi lµ Count, x¸c ®Þnh sè ®iÒu khiÓn trªn biÓu mÉu. L−u ý r¾ng m¶ng ®−îc ®¸nh sè thø tù tõ 0. NÕu Count lµ 3 nghÜa lµ c¸c phÇn tö sÏ ®−îc ®¸nh lµ 0, 1, 2 Ta cã thÓ dïng TypeOf ®Ó xö lý víi nhãm ®iÒu khiÓn, mÆc dï kh«ng chØ ra chÝnh x¸c mét phÇn tö nh−ng ta cã thÓ x¸c ®Þnh c¸c ®iÒu khiÓn cïng kiÓu. For nControlNo = 0 To Form1.Controls.Count – 1 If Type Of Form1.Controls(nControlNo) If TextBox then . lenh End If Next Ta duyÖt qua tõng phÇn tö trªn Form1 tõ 0 ®Õn phÇn tö cuèi cïng, Count – 1. Víi tõng ®iÒu khiÓn ta dïng TypeOf ®Ó kiÓm tra xem nã cã ph¶I lµ hép v¨n b¶n hay kh«ng. Tuy nhiªn ta cã thÓ lµm theo c¸ch kh¸c For Each objControl Is Form1.Controls If Type ObjControls Is Text1Box Then : End If Next Giaùo trình VB 65
  66. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr 5.4 BiÓu MÉu MDI BiÓu mÉu MDI cho phÐp nhãm c¸c biÓu mÉu vµ chøc n¨ng trong mét cöa sæ lín. Tuy nhiªn biÓu mÉu MDI cã mét sè nh−îc ®iÓm : chØ cã vµi ®iÒu khiÓn ®−îc vÏ trªn biÓu mÉu MDI. §ã lµ ®iÒu khiÓn ®Þnh giê (timer) vµ hép h×nh. Trong phiªn b¶n Professional vµ Enterpirse ta cã thÓ vÏ thªm thanh tr¹ng th¸I vµ thanh c«ng cô. 5.4.1 BiÓu Méu con ( child form ) Thuéc tÝnh MDIChild cña mét biÓu mÉu lµ mé gi¸ trÞ True/ False cho biÕt biÓu mÉu cã ph¶I lµ biÓu mÉu con trong mét biÓu mÉu MDI hay kh«ng. Bëi v× VB chØ cho phÐp tßn t¹i mét biÓu mÉu MDI trong øng dông, biÓu mÉu con tù ®éng nhËn ®Þnh cöa sæ cha( Paren) vµ khi thi hµnh nã chØ ®−îc ho¹t ®éng trong cöa sæ cha Vµo lóc thiÕt kÕ kh«ng thÓ nhËn biÕt cöa sæ ®éc lËp víi cöa sæ con vµ chØ kh¸c nhau ë chç thuéc tÝnh M§IChild thuéc tÝnh nµy kh«ng ®−îc g¸n vµo lóc thi hµnh nÕu kh«ng sÏ b¸o lçi khi thi hµnh ch−¬ng tr×nh 5.4.2 T¹o Intance cña biÓu mÉu Sö dông biÕn ®ãi t−îng ®Ó t¹o ra nh÷ng b¶n sao cña mét biÓu mu. Tõng b¶n sao cã c¸c ®iÒu khiÓn vµ Menu nh− nhau nh−ng cã nh÷ng d÷ liÖu kh¸c nhau . MÆc dï ch−¬ng tr×nh còng nh− tªn biÕn vµ tªn ®iÒu khiÓn nh− nhau nh−ng d÷ liÖu ®−îc chøa ë nh÷ng n¬i kh¸c nhau trong bé nhí 5.4.3 x¸c ®Þnh biÓu mÉu V× ta cã thÓ t¹o ra 10 biÓu mÉu ®ång nhÊt cã cïng tªn nªn viÖc x¸c ®Þnh cöa sæ lµ ®iÒu cÇn thiÕt. Tõ kho¸ Me cho phÐp ta tham chiÕu ®Õn cöa sæ hiÖn hµnh lµ cöa sæ ®ang cã Focus hay nãi c¸ch kh¸c lµ cöa sæ nhËn ®−îc mäi phÝm nhÊn hay click chuét bÊt kú Ta cã thÓ dïng : Activeform.txtEmployee.text = “peter” Nh−ng Me lµ c¸ch th«ng dông nhÊt 6. C¸c bµi øng dông cña Form 6.1 TÝnh Tæng Cña DQy Sè Víi yªu cÇu cña ®Ò bµi nh− sau: 1. S=1+2+3+ +N 2. S=1+3+5+ +(2N-1) 3. S=1+4+9+ +N 2 4. S=1+1/2+1/3+ +1/N 5. N!=1x2x3x xN Khi ch¹y ch−¬ng tr×nh xuÊt hiÖn mét biÓu mÉucã tªn lµ : FRMTongCuaCacDaySo nh− trong h×nh d−íi : Giaùo trình VB 66
  67. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr H×nh 6.1 H−íng DÉn : §Ó thiÕt kÕ ch−¬ng tr×nh nµy b¹n lÇn l−ît lµm theo c¸c b−íc sau: 1. Më mét dù ¸n míi 2. L−u tËp tin Dù ¸n víi tªn TongCacDaySo.VBP vµ tËp tin biÓu mu víi tªn TongC©cDaySo.Frm 3. ThiÕt kÕ BiÓu mÉu theo nh− b¶ng m« t¶ d−íi ®©y §èi T−îng Thuéc TÝnh Gi¸ TrÞ Form Name FRMTongcacdayso Caption TÝnh Tæng C¸c D·y Sè Label Name lblNhan Caption Tinh Tæng C¸c D·y Sè Label Name Caption Label Name Caption Text Box Name TXTSoN Tetx (§Ó Trèng) Text Box Name TXTKQ Tetx (§Ó Trèng) Giaùo trình VB 67
  68. ¥  © ¡ £  ¢ £ ¢  ¤  £  ¦  ¢ §    ¨  Tr CommandButton Name CmdOK Caption &OK CommandButton Name Cmdthoat Caption &Thoat Option Button Name Opt1 Caption S=1+2+3+ +N Option Button Name Opt2 Caption S=1+3+5+ +(2N-1) Option Button Name Opt3 Caption S=1+4+9+ +N*N Option Button Name Opt4 Caption S=1+1/2+1/3+ +1/N Option Button Name Opt5 Caption S=1x2x3x xN 4.L−u Dù ¸n .Sau ®ã ta viÕt Code cho c¸c nót lÖnh • ViÕt LÖnh cho nót OK Private Sub CmdOK_Click() N = Val(txtsoN.Text) TxtKQ.Text = " " If Opt1.Value = True Then S = 0 For i = 1 To N S = S + i Next i TxtKQ.Text = S End If If Opt2.Value = True Then S = 0 For i = 1 To N S = S + (2 * i - 1) Next i TxtKQ.Text = S End If If Opt3.Value = True Then S = 0 For i = 1 To n S = S + i * i Next i TxtKQ.Text = S Giaùo trình VB 68