Visual basic 6

Chia sẻ: Son Cung | Ngày: | Loại File: PDF | Số trang:222

6
2.940
lượt xem
2.205
download

Visual basic 6

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu giảng dạy lập trình trong môi trường window. Ngôn ngữ Visual Basic 6.0.Giới thiệu về Visual Basic Visual Basic (Visual Basic) là sản phẩm của Microsoft, một thành phần phần của bộ Visual Studio. Chức năng: Là một ngôn ngữ lập trình dùng để xây dựng các ứng dụng chạy...

Chủ đề:
Lưu

Nội dung Text: Visual basic 6

  1. Chương M t - Hoan nghênh ñ n v i VB6 Chào m ng b n ñ n v i Visual Basic 6 Dùng VB6 là cách nhanh và t t nh t ñ l p trình cho Microsoft Windows. Cho dù b n là chuyên nghi p hay m i m ñ i v i chương trình Windows, VB6 s cung c p cho b n m t b công c hoàn ch nh ñ ñơn gi n hóa vi c tri n khai l p trình ng d ng cho MSWindows. Visual Basic là gì? Ph n "Visual" ñ c p ñ n phương phàp ñư c s d ng ñ t o giao di n ñ h a ngư i dùng (Graphical User Interface hay vi t t c là GUI) . Có s n nh ng b ph n hình nh, g i là controls, b n tha h s p ñ t v trí và quy t ñ nh các ñ c tính c a chúng trên m t khung màn hình, g i là form. N u b n ñã t ng s d ng chương trình v ch ng h n như Paint, b n ñã có s n các k năng c n thi t ñ t o m t GUI cho VB6. Ph n "Basic" ñ c p ñ n ngôn ng BASIC (Beginners All-Purpose Symbolic Instruction Code), m t ngôn ng l p trình ñơn gi n, d h c, ñư c ch ra cho các khoa h c gia (nh ng ngư i không có thì gi ñ h c l p trình ñi n toán) dùng. Visual Basic ñã ñư c ra t MSBasic, do Bill Gates vi t t th i dùng cho máy tính 8 bits 8080 hay Z80. Hi n nay nó ch a ñ n hàng trăm câu l nh (commands), hàm (functions) và t khóa (keywords). R t nhi u commands, functions liên h tr c ti p ñ n MSWindows GUI. Nh ng ngư i m i b t ñ u có th vi t chương trình b ng cách h c ch m t vài commands, functions và keywords. Kh năng c a ngôn ng này cho phép nh ng ngư i chuyê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. Ngư i mang l i ph n "Visual" cho VB là ông Alan Cooper. Ông ñã gói môi trư ng ho t ñ ng c a Basic trong m t ph m vi d hi u, d dùng, không c n ph i chú ý ñ n s tinh x o c a MSWindows, nhưng v n dùng các ch c năng c a MSWindows m t cách hi u qu . Do ñó, nhi u ngư i xem ông Alan Cooper là cha già c a Visual Basic. Visual Basic còn có hai d ng khác: Visual 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, .v.v.. 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 hóa 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à t o m t ti n ích nh cho riêng b n, trong m t nhóm làm vi c c a b n, trong m t công ty l n, hay c n phân b chương trình ng d ng r ng rãi trê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. Các n b n Visual Basic 6 Có ba n b n VB6: Learning, Professional và Enterprise. Chúng ta hãy gát qua n b n Learning. B n có th dùng n b n Professional hay Enterprise. n b n Professional cung c p ñ y ñ nh ng gì b n c n ñ h c và tri n khai m t chương trình VB6, nh t là các control ActiveX, nh ng b ph n l p trình ti n ch và 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. Ngoài ñĩa compact chính cho VB6, tài li u ñính kèm g m có sách Visual Studio Professional Features và hai ñĩa CD Microsoft Developer Network (MSDN). n b n Enterprise là 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 ñ t VB6 ð cài ñ t VB6, máy tính c a b n c n ph i có m t ñĩa CD-ROM (CD drive) . B n c n ít nh t 32 MB RAM, 2 GB hard disk và CPU Pentium II. Khi b VB6 CD vào CD drive, nó s t kh i ñ ng ñ display menu cho b n ch n nh ng th gì c n Setup, hãy click Install Visual Basic 6.0 ñ cài VB6. 1
  2. Ngo i tr các file h ñi u hành (Operating System) trong thư m c (folder) \Os, các file trong ñĩa compact ñ u không b nén. Vì th , b n có th s d ng chúng tr c ti p t ñĩa. Ví d , có nhi u công c và thành ph n trong folder \Tools v n có th ñư c cài ñ t tr c ti p t CD-ROM. Ngoài ra, b n có th ch y Setup khi nào c n thi t. Ví d , b n có th ch y Setup ñ cài ñ t l i Visual Basic trong folder khác, ho c ñ cài ñ t thêm b t các ph n c a VB6. N u vì lý do gì h th ng không install các ñĩa compact MSDN (b n s khám phá ra ñi u n y khi th y Help không có m t lúc ch y VB6), b n có th cài ñ t chúng tr c ti p t ñĩa s 1 c a b MSDN. ð b xung và xóa các thành ph n VB: 1. B ñĩa compact vào CD drive. 2. N u menu không t ñ ng hi n lên thì ch y chương trình Setup có s n tong folder g c trên ñĩa compact. 3. Ch n nút Custom trong h p tho i (dialog) Microsoft Visual Basic 6.0 Setup. 4. Ch n hay xóa các thành ph n b ng cách check hay uncheck các h p danh sách Options c a dialog Custom. 5. Th c hi n các ch d n Setup trên màn hình. Ghi chú: Trong lúc cà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 cho t ñ ng cài ñ t Graphics, t c là Default (không có nói gì) thì cài ñ t Graphics. Integrated Development Environment (IDE) c a VB6 Khi kh i ñ ng VB6 b n s th y m ra nhi u c a s (windows), scrollbars, v.v.. và n m ch ng lên là New Project dialog. ñây VB6 cho b n ch n m t trong nhi u lo i công trình. Ch n Standard EXE. M t lát sau trên mà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: 2
  3. IDE c a VB6 bao g m các y u t sau: Menu Bar Ch a ñ y ñ các commands mà b n s d ng ñ làm vi c v i VB6, k c các menu ñ truy c p các ch c năng ñ c bi t dà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 nhi m ý ñ ch y các chương trình l i ích cho vi c l p trình. Trong Add-Ins Manager dialog b n ch n m t Add-In r i check m t hay nhi u h p trong khung Load behavior: Toolbars (Debug, Edit, form Editor, Standard) 3
  4. Các toolbars có hình các icons cho phép b n click ñ th c hi n công vi c tương ñương v i dùng m t menu command, nhưng nhanh và ti n hơn. B n dùng menu command View | Toolbars (click lên menu command View cho popupmenu hi n ra r i click command con Toolbars) ñ làm cho các toolbars hi n ra hay bi n m t ñi. B n có th thay ñ i v trí m t toolbar b ng cách n m vào hai g ch vertical n m bên trái toolbar r i d i toolbar ñi ch khác (n m ñây nghĩa là ñ pointer c a mouse lên ch ch m ñ trong hình phía dư i r i b m xu ng và gi nút bên trái c a mouse, trong khi kéo pointer ñi nơi khác). Ngoài ra b n cũng có th s a ñ i các toolbars theo ý thích b ng cách dùng Menu command View | Toolbars | Customize... Toolbox ðây là h p ñ ngh v i các công c , g i là controls, mà b n có th ñ t lên các form trong lúc thi t k (design). N u Toolbox bi n m t, b n có th display nó tr l i b ng cách dùng menu command View | Toolbox. B n có th khi n toolbox display nhi u controls hơn b ng cách ch n Components... t context menu (ch n Toolbox r i b m nút ph i c a mouse ñ display context menu) hay dùng menu command Project | Components. Ngoài vi c trình bày Toolbox m c ñ nh, b n có th t o cách trình bày khác b ng cách ch n Add Tab... t context menu và b sung các control cho tab t k t qu . Project Explorer S li t kê các forms và các modules trong project hi n hành c a b n. M t project là s t p h p các files mà b n s d ng ñ t o m t trình ng d ng. T c là, trong VB6, khi nói vi t m t program có nghĩa là tri n khai m t project. Properties window 4
  5. Li t kê các ñ c tính c a các forms ho c controls ñư c ch n. M t property là m t ñ c tính c a m t object ch ng h n như size, caption, ho c color. Khi b n s a ñ i m t property b n s th y hi u qu ngay l p t c, thí d thay ñ i property Font c a m t Label s th y Label y ñư c display b ng Font ch m i. Khi b n ch n m t Property c a control hay form trong Properties window, phía bên ph i ch value c a property có th display ba ch m (. . .) hay m t tam giác ch a xu ng. B m vào ñó ñ display m t dialog cho b n ch n value. Thí d dư i ñây là dialog ñ ch n màu cho property ForeColor c a control Label1. Form Layout B n dùng form Layout ñ ch nh v trí c a các forms khi form hi n ra l n ñ u lúc chương trình ch y. Dùng context command Resolution Guides ñ th y n u dùng m t màn nh v i ñ m n (resolution) t hơn, thí d như 640 X 480, thì nó s nh như th nào. Form Designer Dùng ñ thi t k giao di n l p trình. B n b sung các controls, các ñ h a (graphics), các hình nh và m t form ñ t o s ma sát mà b n mu n. M i form trong trình ng d ng c a b n có designer form riêng c a nó. Khi b n maximise m t form designer, nó chi m c khu làm vi c. Mu n làm cho nó tr l i c bình thư ng và ñ ng th i ñ th y các form designers khác, click nút Restore Window góc bên ph i, phía trên. Immediate Window Dùng ñ g r i (debug) trình ng d ng c a b n. B n có th display d ki n trong khi ch y chương trình ng d ng. Khi chương trình ñang t m ng ng m t break point, b n có th thay ñ i giá tr các variables hay ch y m t dòng chương trình. View Code button Click lên nút n y ñ xem code c a m t form mà b n ñã ch n. Window c a code gi ng như dư i ñây: 5
  6. Trong Code window b n có th ch n display t t c Sub c a code cùng m t lúc như trong hình hay display m i l n ch m t Sub b ng cách click button có hình ba dòng n m góc bên trái phía dư i. View form button Click lên nút n y ñ xem form c a m t form mà b n ñã ch n. Ghi chú: Nhi u windows trong IDE như Toolbars, Toolbox, Project Explorer .v.v..có th trôi lình bình (floating) hay ñ u b n (docked). B n có th thay ñ i v trí chúng b ng cách n m vào Title Bar c a window r i d i ñi. Dĩ nhiên b n cũng có th m r ng hay làm nh m t window b ng cách d i m t c nh vertical hay horizontal c a nó. Khi ñ m t window lên trên m t window khác chúng có th tìm cách dính nhau. Trong hình dư i ñây, Properties Window và Form Layout ñã ñư c kéo ra ngoài cho floating. Nh n tr giúp trong khi ñang làm vi c Trong khi l p trình b n có th c n tìm hi u các thông tin liên quan ñ n các commands, functions .v.v.. c a VB6. B n có th kh i ñ ng Microsoft Developer Network | MSDN Library Visual Studio 6.0 t nút Start, hay click Help | Contents t Menu Bar c a VB6, hay ch n m t keyword (highlight keyword) r i n F1 ñ ñ c Help. N i dung Help bao g m nhi u ñ c ñi m ñư c thi t k ñ th c hi n vi c tìm ki m thông tin d dàng hơn. B n có th d a trên Contents ñ ñ c tài li u như m t quy n sách, Index ñ ñ c nh ng ño n có nh c ñ n m t keyword hay Search ñ tìm m t tài li u nhanh hơn. Ví d , vi c g r i thông tin b t ngu n t nhi u ñ c tính khác nhau ph thu c vào lo i ñ án mà b n ñang làm vi c. Các liên k t ñư c 6
  7. mô t trong ph n n y th c hi n vi c tìm ki m d dàng hơn. Ngoài ra, b n cũng có th click See Also dư i tiêu ñ c a ch ñi m ñ xem các tiêu ñ c a các ch ñi m mà b n có th ñi ñ n ho c liên h ñ n nhi u thông tin. Context Sensitive Help (tr giúp trong ñúng tình hu ng) Nhi u ph n c a VB6 là context sensitive, có nghĩa là lúc b i r i ch c n n nút F1 ho c highlight keyword r i nh n F1 là ñư c thông tin nh ng gì liên h tr c ti p v i tình hu ng hi n gi c a b n. B n có th nh n F1 t b t kỳ ph n context sensitive nào c a giao di n VB6 ñ display thông tin Help v ph n ñó. Các ph n context sensitive là: • Các Windows c a VB6 như Properties, Code .v.v.. • Các control trong Toolbox. • Các Object trên m t form ho c Object tài li u. • Các ñ c tính trong Window Properties. • Các keywords c a VB6 • Các thông báo l i (error messages) Ngoài ra, trong Help thư ng có Example. B n click lên ch Example ñ display m t thí d minh h a cách dùng m t function hay property. Microsoft on the Web Web site c a Microsoft ch a nhi u thông tin c p nh t cho nh ng ngư i l p trình VB6. Trang ch Visual Basic ñ t t i URL http://www.microsoft.com/vbasic/. Thông tin có s n t i ñ a ch n y bao g m: • C p nh t các ñ c tính m i, các phiên b n s n ph m, các s n ph m liên h , các thuy t trình (seminar) và các ho t ñ ng (event) ñ c bi t. • Thông tin b sung trên các ñ c tính VB6 ch a trong các bài vi t g i là White Papers, các mách nư c (tips) và các trình tr giáo, ngu n ñào t o. • S n ph m m i t i xu ng (download) bao g m s c p nh t ñ n các file chương trình, các c p nh t tr giúp, các trình ñi u khi n, và các file liên h khác c a VB6. ð truy c p Web site c a Microsoft, t menu Help ch n Microsoft on the Web r i ch n menu con tùy thích như dư i ñây. 7
  8. Ghi chú: M t s n i dung trên Web site c a Microsoft ñư c t i ưu hóa dành cho Microsoft Internet Explorer và không th display ñ y ñ trong m t b trình duy t (browser) khác. Do ñó b n nên ch dùng Internet Explorer làm browser trên máy b n mà thôi. Chương Hai- Vi t chương trình ñ u tiên B n ñang làm quen v i môi trư ng tri n khai l p trình (Integrated Development Environment - IDE) c a MS VB6 và r t nóng ru t mu n vi t nh ng dòng mã ñ u tiên ñ chào m ng th gi i. Ta th ôn l i m t s v n ñ mà có l b n ñã bi t r i. M t chương trình Visual Basic g m có ph n mã l p trình và các hình nh (visual components). B n có th thi t k ph n hình nh b ng cách dùng nh ng ñ ngh (Controls hay Objects) t Túi ñ ngh (Toolbox) n m bên trái. N u b n không th y cái Túi ñ ngh thì dùng m nh l nh Menu View|Toolbox ñ b t nó hi n ra. Khi b n b t ñ u thi t k m t chương trình b ng cách ch n Standard EXE, môi trư ng tri n khai l p trình (IDE) cho b n s n m t Form tên là Form1. B n có th ñ i tên (Name) nó trong cái c a s Propeties n m phía dư i bên ph i (trong hình dư i ñây ta edit Name property c a Form1 thành ra frmMainForm). B n cũng có th s a ñ t a (Title) c a form ra cái gì có ý nghĩa hơn b ng cách ñ i Caption c a form cũng trong c a s Propeties (trong hình dư i ñây ta edit Caption property c a form thành ra "Chi tiet cua ban toi"). 8
  9. S p ñ t các v t d ng lên Form Mu n ñ t m t Control lên Form, click hình cái Control trong Toolbox r i Drag (b m nút trái c a con chu t r i kéo cho thành hình ch nh t trư c khi buông nút trái ra) con chu t trên Form v thành c c a Control. Nh ng Controls b n s dùng thư ng nh t t Toolbox là Label (nhãn), Textbox (h p ñ ñánh ch vào) và CommandButton (nút b m m nh l nh). Trong hình trên ta có ba Label và ba Textbox. Mu n s a ch Label1 ra "Ten" thì edit Property Caption. Còn Textbox không dùng Property Caption mà dùng Property Text. Ta cũng có th thay ñ i các Property Caption và Text trong khi ch y chương trình (at run-time). Trong lúc thi t k (design time) b n có th s a ñ i ki u ch c a nh ng Controls b ng cách edit Property Font c a chúng trong c a s Properties (click bên ph i c a Property Font trong Properties Window, IDE s pop-up cái Font dialog ñ b n l a ch n nh ng ñ c tính c a Font như trong hình dư i ñây). N u b n th y b c mình t i sao cái c ch t có (default size) c a các Control hơi nh , b n có th gi i quy t b ng cách s a c ch c a chính Form cho nó l n hơn. Vì khi m t Control ñư c ñ t lên m t Form, nó th a k c ch c a Form. ð s p x p cho m t s Control th ng hàng v i nhau b n ch n c nhóm r i dùng m nh l nh Menu Format|Align|Lefts .v.v..N u b n chưa bi t cách ch n m t nhóm Control thì có hai cách. Cách th nh t b n ñè nút Shift trong khi click các Control b n mu n ch n. Cái Control mà b n ch n sau cùng s là cái chu n ñ các Control khác s làm gi ng theo. Cách th hai là Drag cho s i dây thun (rubber band) b c chung quanh các Control. Trong trư ng h p các Control n y n m trong m t container, thí d như m t khung (Frame) hay PictureBox, thì b n ph i click Form trư c, r i ñè nút Ctrl trong khi Drag rubber band bao các Control. 9
  10. Ch a m i th c am td án VB T i ñây b n ñ ý th y trong c a s bên ph i, phía trên, g i là Project Explorer, có hình gi ng như m t cái cây (tree) cho th y ta có m t Form trong m t Project (d án). Project là m t cách ti n d ng ñ ta s p x p nh ng gì c n thi t cho m t d án. Thư ng thì m t d án có nhi u Form và có th c n nh ng th khác. M i Form s ñư c ch a vào ñĩa dư i d ng "frmMainForm.frm". B n save m t form b ng menu command File | Save formfilename.frm. N u trong Form1 có ch a hình nh (thí d b n dùng Properties Window ñ ch n m t icon hình gương m t cư i làm icon cho frmMainForm) thì các hình nh c a frmMainForm s ñu c t ñ ng ch a trong h sơ "frmMainForm.frx". Lưu ý là không nh t thi t tên c a h sơ (file) mà b n ph i cho bi t khi ch a (save) ph i gi ng như tên c a Form mà b n dùng trong chương trình. Tuy nhiên b n nên dùng cùng m t tên cho c hai ñ sau n y d tìm h sơ n u có th t l c. Theo qui ư c thông thư ng, các Form ñư c ñ t tên b t ñ u b ng "frm", thí d như "frmMainForm". Khi b n save m t Project thì có nghĩa là save t t c h sơ dùng cho d án, k c các Form và m t h sơ cho chính Project, thí d như "MyFirstProg.vbp" ("vbp" là vi t t t ch Visual Basic Project). B n save Vb6 project b ng menu command File | Save Project. À, mu n ñ i tên Project, b n click lên hàng trên cùng bên ph i trong c a s Project Explorer (Project1 (Project1.vbp)), r i edit tên c a Project trong c a s Properties phía dư i. B n nên ch a t t c nh ng h sơ dùng cho cùng m t Project trong cùng m t t p (Folder/Directory). B n có th dùng Notepad ñ m ra xem chơi, coi trong "frmMainForm.frm" có gì. B n s th y trong y g m có hai ph n: ph n ñ u là di n t các Control n m trong Form, ph n còn l i là mã l p trình mà b n vi t. B n cũng s chú ý là các properties mà b n ñã s a cho các Control ñ u ñư c ghi l i trong ph n ñ u nói trên. VB d a vào ph n di n t các Control ñ thi t l p l i (reconstruct) hình nh c a Form. 10
  11. Sau n y, khi ñã lão luy n VB, b n có th dùng m t chương trình t ñ ng ch (generate) ra nh ng hàng di n t các Control cho m t Form. ðó là k thu t dùng trong các Wizards c a VB ñ ch m t s chương trình kh i ñ u cho chúng ta t các b ng k m (Template). Thêm mã l p trình ñ x lý m t s c H u h t l p trình trong Visual Basic là vi t mã ñ x lý các s c (Event). Thí d mu n ch m d t chương trình, ngư i s d ng s click nút "Xuat". ð th c hi n ñi u n y trong khi tri n khai chương trình b n doubleClick (click liên ti p 2 l n) nút "Xuat". VB IDE s vi t s n cho b n cái v c a m t Subroutine: Private Sub cmdXuat_Click() End ' B n ch vi t thêm dòng n y ñ k t thúc chương trình End Sub ð ý là tên (Name) c a nút Xuat là "cmdXuat" ("cmd" là vi t t t ch CommandButton), VB g n thêm d u g ch dư i và Event Click ñ làm thành tên cmdXuat_Click c a Sub, chương trình nh s ñư c x lý khi ngư i s d ng click nút Xuat. Chương trình nh hay Subroutine n y còn ñư c g i là Event Handler cho Event Click. Hàng ch xanh lá cây là dùng ñ gi i thích cho l p trình viên (g i là Comment), VB s hoàn toàn không chú ý ñ n nó khi x lý Sub cmdXuat_Click. Comment có nghĩa là chú thích. Trong VB chú thích b t ñ u b ng d u single quote '. Khi VB th y d u n y là nó b qua nh ng gì còn l i trên dòng mã. 11
  12. Là L p trình viên chuyên nghi p b n nên t p thói quen dùng Comment m i nơi ñ giúp ngư i khác và chính b n hi u chương trình c a mình. Nên nh là ti n phí t n ñ b o trì m t chương trình thì ít nh t là tương ñương v i s ti n b ra l n ñ u ñ tri n khai. B o trì có nghĩa là thăm vi ng l i chương trình ñ s a l i (fix bug) và thêm các ñ c ñi m cho hay hơn (enhancement). Nói chung h b n làm ñi u gì bí hi m hay c c c thì làm ơn gi i thích rõ ràng. N u mu n c t m t dòng mã VB ra làm hai dòng thì ch m d t dòng th nh t b ng d u g ch dư i _. Ti p theo, b n doubleClick nút "Viet vao dia" và vi t nh ng hàng mã sau: Private Sub cmdViet_Click() Open "myFriends.txt" For Output As #2 ' M m t h sơ ñ vi t ra và g i là c ng s 2 ' Vi t vào c ng s 2: Tên, ð a ch và Tu i, ngăn cách nhau b ng d u ch m ph y Print #2, txtTen & ";" & txtDiachi & ";" & txtTuoi Close #2 ' ðóng c ng s 2 End Sub Trong Sub cmdViet_Click, trư c h t ta m m t h sơ tên là "myFriends.txt" và g i nó là c ng s 2. Sau khi m h sơ ñ vi t ra ta ráp Tên, ð a ch và Tu i l i, ngăn cách b ng d u ch m ph y (;) ñ ñánh d u nh sau n y ta mu n g riêng ba th ra tr l i. D u "&" là operator ñ ráp (concatenate) hai dòng ch (text string) l i v i nhau. Print #2 có nghĩa là vi t ra c ng s 2, t c là h sơ "myFriends.txt". Th chúng ta vi t ra c ng 2 là Tên, ð a ch và Tu i (txtTen & ";" & txtDiachi & ";" & txtTuoi). Nh ng r c r i c a vi c m m t h sơ Cái c ng s 2 trên là ta t ch n (arbitrary). Th t ra mu n g i c ng s m y cũng ñư c, mi n là chưa có ph n nào khác trong cùng chương trình n y ñang dùng c ng s y. ðây là m t cách VB làm vi c cho ti n thay vì g i nguyên m t cái tên h sơ dài. N u mu n ch c ch n không trùng s c ng v i ch nào khác, ta có th làm như sau: fileNo = freefile R i thay th s 2 b ng ch fileNo trong Sub cmdViet_Click. freeFile là m t Function (chương trình nh dùng ñ tính ra m t th gì) nh VB c p phát cho m t con s ñ i di n h sơ chưa ai dùng. Ch Output trong câu ( Open "myFriends.txt" For Output As #2 ) dùng ñây ñ nói t CPU (Central Processing Unit) ta mu n "vi t ra" m t h sơ. Khi m m t h sơ ñ vi t ra ki u n y thì n u h sơ chưa có nó s ñư c d ng nên (created). N u h sơ ñã có r i thì nó s b xoá b (delete) và ñ ng th i m t h sơ tr ng và m i s ñư c d ng nên. ð ng t chuyên môn là "vi t ch ng lên" (overwrite). N u ta m m t h sơ ñ "ñ c vào" thì dùng ch "Input" thay vì "Output". Còn n u "vi t thêm" vào m t h sơ có s n (ch không overwrite h sơ y) thì dùng ch "Append" thay vì "Output". Trong trư ng h p y b n ph i ki m xem h sơ "myFriends.txt" ñã có s n chưa. B n có th vi t như sau: If Dir("myFriends.txt") "" then ' N u h sơ "myFriends.txt" hi n h u Open "myFriends.txt" For Append As #2 ' M m t h sơ ñ vi t thêm và g i là c ng s 2 Else Open "myFriends.txt" For Output As #2 ' M m t h sơ ñ vi t ra và g i là c ng s 2 End If Function Dir("myFriends.txt") dùng trên s cho ta tên c a h sơ n u h sơ hi n h u, ngư c l i nó s cho m t dòng ch tr ng (empty string), bi u hi u là "". T i ñây, n u lanh ý b n s h i h sơ "myFriends.txt" n m folder nào. Câu tr l i là không bi t ch c. N u b n chưa ch a (save) chương trình vào dĩa (vì m i vi t) thì nó n m folder c a VB6.EXE. Còn như ñã ch a chương trình r i thì có l nó n m folder c a chương trình b n. Mu n h sơ "myFriends.txt" luôn luôn ñi cùng v i chương trình, b n có th làm như sau: 12
  13. MyLocalFolder = App.path ' L y folder c a chương trình x lý c a b n If Right(MyLocalFolder,1) "\" then ' N u ch cu i cùng không ph i là backslash MyLocalFolder = MyLocalFolder & "\" ' thì g n thêm m t backslash cu i End If ' M m t h sơ v i tên có folder (full pathname) ñ vi t ra và g i là c ng s 2 Open MyLocalFolder & "myFriends.txt" For Output As #2 Cu i cùng ta ñóng h sơ l i b ng câu Close #2.. T rày VB có th c p s 2 ñ làm c ng cho ch khác trong chương trình. Default Property c a m t Control "txtTen" ñư c dùng ñây là vi t t t cho "txtTen.text", vì Default Property c a m t TextBox là text c a nó. Default Property c a m t Control là Property ñư c VB dùng khi b n ch cho tên c a Control mà thôi. Trong khi ñó Default Property c a Label là Caption. Vì txtTen ñư c dùng như txtTen.txt ñ nói ñ n m t dòng ch , nên trong chương trình ta nh c ñ n nó y như m t variable (mã s ) dùng cho m t string. Do ñó v i qui ư c dùng ba ch ñ u "txt" cho tên c a m t Textbox giúp ta nh n di n ngay nó không ph i là m t string variable bình thư ng. Hãy lưu ý s khác bi t khi g i m t Sub trong hai trư ng h p sau: Call CheckmyTextbox (txtDiachi) ' txtDiachi ñư c xem là Textbox tr n v n CheckmyTextbox txtDiachi ' txtDiachi ñư c xem là txtDiachi.text, m t dòng ch Th t các Control trên m t Form Trong chương trình n y ta mu n ngư i x d ng cho vào d ki n theo th t "Tên, ð a ch , Tu i". Khi m i vào, ta mu n cái d u ch p t t (cursor ) n m trong txtTen ngay ñ ngư i x d ng kh i m t công click vào Textbox y khi mu n mang cursor tr l i ñó. Ta nói là txtTen có cái Focus. Sau khi ngư i x d ng ñã cho tên vào r i, cô s ñánh nút Tab ñ di chuy n cursor qua Control ti p theo, mà ta mu n là txtDiachi. ð s p th t các Control cho s di chuy n c a cursor khi ngư i x d ng ñánh nút Tab ta edit Property TabIndex c a các Control. TabIndex b t ñ u b ng s 0. Nhi u khi ngư i x d ng thích dùng nút Enter thay vì Tab ñ di chuy n Cursor qua Control ti p theo, b n có th làm như sau cho Textbox txtTen: Private Sub txtTen_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then ' N u nút b m là Enter SendKeys "{TAB}" ' gi m o g i nút Tab KeyAscii = 0 ' Nu t tr ng nút Enter ñ Windows không còn lo cho nó End If End Sub Cho các Textbox khác như txtDiachi, txtTuoi b n cũng làm tương t như v y. Khi b n doubleClick txtTen l n ñ u ñ vi t mã, VB cho b n Private Sub txtTen_Change(). B n ph i click cái Combobox bên ph i, phía trên c a Code Window, cho nó m ra và ch n Event KeyPress. 13
  14. N u b n mu n chương trình mình còn chuyên nghi p hơn, b n cho phép ngư i x d ng b m nút Alt+o (b m nút Alt xu ng trong khi b m nút o) ñ mang Cursor v txtTuoi hay Alt+d ñ mang Cursor v txtDiachi. Mu n th b n ph i thêm vào d u "&" phía trư c các ch T, D và o trong Caption c a các label lblTen, lblDiachi và lblTuoi. K ñó b n ph i cho giá tr TabIndex c a lblTen, txtTen, lblDiachi, txtDiachi, lblTuoi, txtTuoi liên ti p là 0,1,2,3,4,5. Khi ngư i x d ng ñánh Alt+o, VB s mang Cursor v nhãn lblTuoi, nhưng vì không có ch cho nó ñáp trong label nên nó ph i ñáp vào Control k ñó, t c là txtTuoi. Khi ta ñã cho TabIndex c a các Control nh ng giá tr k trên thì khi Form hi n ra Cursor s n m trong TextBox txtTen vì m c d u lblTen có TabIndex nh nh t(0), nó không ph i là ch Cursor ñáp lên ñư c, nên Cursor ph i ñáp lên textbox có TabIndex value k ñó, t c là 1. N u b n không mu n Cursor ng ng l i m t TextBox nào thì edit Property TabStop c a TextBox ñó cho b ng False. Trong trư ng h p y ngư i s d ng v n có th click vào TextBox và s a dòng ch ñó ñư c như thư ng. N u b n th t s không mu n cho phép ngư i s d ng s a gì TextBox thì edit Property Enabled b ng False hay Property Locked b ng True. Khi Enabled c a m t TextBox b ng False thì TextBox tr nên m ñi. Nhân ti n ta edit thêm d u "&" phía trư c các ch X và V trong Caption các CommandButton "Xuat" và "Viet vao dia". Sau n y ngư i s d ng có th b m Alt-X coi như tương ñương v i click nút "Xuat". N u nh trong Form b n có nhi u Textbox quá, ñ i nút Enter ra nút Tab cho t ng Textbox m t thì m t công quá. B n có th làm m t cái chung cho c Form. T c là nói r ng b n không c n bi t nút Enter v a m i ñư c ñánh TextBox nào, b n c nh m m t ñ i nó ra nút Tab. Trư c h t b n ph i ch n (select) Form r i edit Property KeyPreview c a nó thành True. B n làm vi c n y ñ d n Form gi t cái nút ngư i s d ng ñánh (keystroke) trư c khi TextBox th y. Form s tráo nút Enter thành Tab r i l ng l ng trao cho TextBox. B n có th thay th t t c các KeyPress event handler c a các TextBox b ng ño n mã như sau: Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then ' N u nút b m là Enter SendKeys "{TAB}" ' gi m o g i nút Tab KeyAscii = 0 ' Nu t tr ng nút Enter ñ Windows không còn lo cho nó End If End Sub Khi b n doubleClick lên b t c ch nào trên Form không có Control n m, l n ñ u ñ vi t mã, VB cho b n Private Sub Form_Load(). B n ph i click cái Combobox bên ph i, phía trên c a Code Window, cho nó m ra và ch n Event KeyPress. ðem ra trình làng ð làm thành m t h sơ áp d ng EXE, b n dùng m nh l nh Menu File|Make MyFirstProg.exe. Cho thêm chút hương v c a cu c ñ i tôi click Form r i edit Property Icon, ch n cho nó t folder: 14
  15. D:\Program Files\Microsoft Visual Studio\Common\Graphics\Icons\Misc m t icon hình gương m t cư i. R i b m m nh l nh Menu File|Save Project. Khi dùng Explorer ñ xem các h sơ c a MyFirstProg.vbp b n s th y như dư i ñây: ðáng l tôi dùng m t folder khác thay vì VB98 ñ ch a d án MyFirstProg.vbp. H sơ MyFirstProg.vbw là Workspace (ch làm vi c) dành cho VB, ta không nên ñ ng t i. B n có th làm m t Shortcut cho MyFirstProg.exe v i cái icon hình gương m t cư i ñ t lên Desktop ñ ch y bên ngoài IDE c a VB. Có l b n mu n Download h sơ:MyFirstProg.zip, nén chung t t c các h sơ nói trên trong d án MyFirstProg.vbp. Bây gi ngay trong VB IDE b n có th ch y chương trình b ng cách dùng m nh l nh Menu Run|Start hay b m F5. B n cũng có th Click lên d u tam giác ch v bên ph i (nút Play c a cassette) n m trong toolbar ngay phía dư i VB menu. Cách nén các files trong m t folder thành m t zip file duy nh t ð g i nhi u files b ng cách ñính kèm (attach) m t Email trên Internet ta c n ph i nén các files y thành m t file duy nh t, g i là Zip file. Trư c h t, trong Window Explorer b n ch n nh ng files b n mu n Zip chung l i. B n ch n nhi u files b ng cách ñè nút Ctrl trong khi click lên tên t ng file m t. N u b n ñè lên nút Shift, thay vì nút Ctrl, thì c m i lúc b n click, Window Explorer s select c m t d c tên các files n m gi a tên hai files b n click m i nh t. Ngoài ra b n cũng có th dùng Menu Command Edit | Select All, hay Ctrl+A ñ select t t c các files trong m t folder. ðây là trư ng h p b n s dùng khi Zip t t c c các files trong m t VB6 project ñ g i qua Th y/Cô. Sau khi ñã select các file r i, b n right click lên các file y ñ context menu pop-up. Ch n Add to Zip. N u b n không th y pop-up command Add to Zip thì là b n chưa install chương trình Winzip. Trong trư ng h p y, download Winzip t Internet và install. 15
  16. Bây gi b n th kh i ñ ng VB6, ñi d o quanh nó ñ th bi t các ph n c a VB6 IDE, và th làm theo như bài n y. N u có th c m c gì thì h i Tutor c a b n. Chương Ba - Form và các Controls thông thư ng H u h t các chương trình VB6 ñ u có ít nh t m t Form. Khi ta ch y chương trình, Form n y s hi n ra trư c h t ñ ta ra l nh nó làm chuy n gì. Cái Form tr ng không ch làm ñư c gì nhi u, nên ta ñ t lên Form nh ng controls như Textbox(h p ñ ñánh ch vào), Label(nhãn), Commandbutton(nút b m m nh l nh), .v.v.. Các controls cho ta enter các d ki n ñ chương trình dùng x lý, và các controls cũng hi n th (display) k t qu cho chúng ta xem. S p ñ t controls lên Form Ta hãy b t ñ u thi t k m t chương trình m i (New Project) b ng cách ch n Standard EXE, môi trư ng tri n khai l p trình (IDE) cho b n s n m t Form tên là Form1. Mu n ñ t m t Control lên Form, click hình cái Control trong Toolbox r i Drag (b m nút trái c a con chu t r i kéo cho thành hình ch nh t trư c khi buông nút trái ra) con chu t trên Form v thành c c a Control. M t cách khác ñ ñ t m t control lên Form là doubleclick cái Control trong Toolbox, m t hình control s hi n ra trên Form. K ñó b n d i control ñi ñ n ch mình mu n và resize nó. N u b t c lúc nào b n không th y Túi ñ ngh (Toolbox) n m bên trái, b n có th dùng m nh l nh Menu View|Toolbox ñ b t nó hi n ra. Có m t cách khác là click lên toolbox icon trên toolbar chính c a VB6. Nên nh r ng Toolbox cũng là m t window như các window khác. Khi nó hi n lên r i b n có th n m (b m nút trái c a con chu t và gi như v y ch không buông ra) title nó ñ d i ñi nơi khác. B n có th ñóng nó b ng cách click lên d u x góc ph i phía trên. N u right click trên Toolbox, nó s display context sensitive menu, trong ñó có property dockable (có th ñ u b n) . N u m t window là 16
  17. dockable, sau khi b n d i nó ñi kh i vi trí docked bình thư ng c a nó, b n có th dock nó l i như c b ng cách double click lên title c a nó. Resize và di chuy n control Khi b n select m t control (click lên nó), chung quanh control s hi n ra resize handle, 8 nút ñen d c theo chu vi c a control. Click lên các nút ñen c a resize handle, b n có th resize control. Có m t cách khác ñ resize control là dùng Shift + ArrowKey. B m nút Shift trong khi b m m t arrow key, control s l n ra hay thu h p theo chi u c a ArrowKey. Lưu ý: M t s control có kích thư c t i thi u, b n không th làm cho nó nh hơn ñư c. Thí d như Combobox, nó ph i cao ñ ñ display m t hàng text. Tương t như th , b m nút Ctrl trong khi b m m t arrow key, control s di chuy n theo chi u c a ArrowKey. Ngoài ra, nên nh r ng trong lúc chương trình ch y (at run-time), trong code ta có th thay ñ i kích thư c và v trí các controls d dàng, th m chí có th làm cho chúng hi n ra hay bi n m t b ng cách s a ñ i value các property left, top, width, height và visible c a các controls. Alignment Grid ð giúp b n s p ñ t ngay ng n các controls trên m t form, VB6 cho b n Alignment Grid. Nó là nh ng d u ñen c a các hàng d c và xuôi trên form. B n có th làm cho các d u ñen c a grid trên form bi n m t b ng cách dùng menu command Tools | Options ñ display Option Dialog, k ñó ch n Tag General và clear checkbox "Show Grid": 17
  18. B n cũng có th nhân d p n y thay ñ i kho ng cách chi u r ng (Width) và chi u cao (Height) c a các ch m ñen c a grid. Kích thư c nh nh t c a Width hay Height là 24. Hãy so sánh hai trư ng h p form có và không có Show Grid như dư i ñây: Control Locking M t khi b n ñã s p ñ t kích thư c và v trí c a các control trên form r i, r t d ta tình c thay ñ i các ñ c tính y vì vô ý click lên m t control. Do ñó VB6 cho ta Menu command Format | Lock Controls ñ khóa chúng l i. Sau khi khóa, cái hình ng khóa trên menu b chìm xu ng. N u sau n y b n mu n thay ñ i kích thư c ho c v trí c a chúng thì nh dùng Menu command Format | Lock Controls l i. Sau khi m khóa, cái hình ng khóa trên menu hi n ra bình thư ng. Cài ñ t các Properties c a Form Nhi u property c a m t form nh hư ng ñ n di n m o v t lý (physical appearance) c a nó. Property Caption s quy t ñ nh text ñư c hi u th trong title. N u Property BorderStyle c a form không ph i là Sizable thì User không th resize form at run-time. Property Icon quy t ñ nh hình icon ñu c dùng trong title c a form, nh t là khi form thu nh (minimized). N u b n không mu n cho phép User minimize hay maximize form thì set value c a property MinButton, MaxButton ra False. N u property ControlBox là False thì form s không có nút minize, maximize hay close (x) trên góc ph i c a nó, ñ ng th i form cũng không display c icon bên góc trái title như trong hình dư i ñây: 18
  19. V trí ñ u tiên (top,left) c a form có th ñư c thay ñ i trong design time b ng cách di chuy n hình nh c a nó trong window Form Layout: Property WindowState xác ñ nh Form s có kích thư c bình thư ng (normal=0), hay minimized (=1), maximized =(2). Lưu ý là property Font c a Form s ñư c các control n m trên nó th a k . T c là khi b n ñ t m t control lên form, property Font c a control y s t ñ ng tr nên gi ng y như c a form. Vài Event thông d ng c a Form Nhìn t m t phương di n, Form cũng gi ng như Control. Ta có th instantiate m t form nhi u l n ñ có nhi u form tương t nhau. Trong thí d dư i ñây, ta instantiate Form2 hai l n ñ có MyForm và YourForm: Private Sub CmdCreateForms_Click() Dim MyForm, YourForm Set MyForm = New Form2 MyForm.Caption = "This is My Form" MyForm.Show MyForm.Move 1000, 1000 Set YourForm = New Form2 YourForm.Caption = "YOUR FORM IS HERE" YourForm.Show YourForm.Move 2000, 2000 End Sub M t Form cũng có nhi u Events r t h u d ng. • F orm_Initialize: Event n y xãy ra trư c nh t và ch m t l n thôi khi ta instantiate form ñ u tiên. Ta dùng Form_Initialize event ñ th c hi n nh ng gì c n ph i làm chung cho t t c các instances c a form n y. • F orm_Load: Event n y xãy ra m i l n ta instantiate m t form. N u ta ch dùng m t instance duy nh t c a m t form trong chương trình thì Form_Load coi như tương ñương v i Form_Initialize. Ta dùng Form_Load event ñ initialise variables, controls v.v. cho instance n y. Bên trong Form_Load b n không th dùng Setfocus cho m t control nào trên form vì form chưa 19
Đồng bộ tài khoản