1. Trang chủ
  2. » Công Nghệ Thông Tin

Tự học visual basic phần 1

88 158 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 88
Dung lượng 2,75 MB

Nội dung

T H C VISUAL BASIC 6.0 - PH N I M CL C Ch ng M t - Hoan nghênh đ n v i VB6 Ch ng Hai- Vi t ch Ch ng Ba – Form Controls thông th Ch ng B n - Vi t Code 43 Ch ng N m - Các lo i d ki n .55 Ch ng Sáu - Dùng d ki n .67 Ch ng B y - Dùng List Controls 78 ng trình đ u tiên 15 ng 27 T H C VISUAL BASIC 6.0 - PH N I Ch ng M t - Hoan nghênh đ n v i VB6 Chào m ng b n đ n v i Visual Basic Dùng VB6 cách nhanh t t nh t đ l p trình cho Microsoft Windows Cho dù b n 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 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 GUI) Có s n nh ng b ph n hình nh, g i controls, b n tha h s p đ t v trí quy t đ nh đ c tính c a chúng m t khung hình, g i 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 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 cho khoa h c gia (nh ng ng i gi đ h c l p trình n toán) dùng Visual Basic đ c t MSBasic, Bill Gates vi t t th i dùng cho máy tính bits 8080 hay Z80 Hi n ch a đ n hàng tr m câu l nh (commands), hàm (functions) 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 keywords Kh n ng c a ngôn ng cho phép nh ng ng i chuyên nghi p hoàn thành b t k u nh s d ng ngôn ng l p trình MSWindows khác Ng i mang l i ph n "Visual" cho VB ông Alan Cooper Ông gói môi tr ng ho t đ ng c a Basic m t ph m vi d hi u, d dùng, không c n ph i ý đ n s tinh x o c a MSWindows, nh ng v n dùng ch c n ng c a MSWindows m t cách hi u qu Do đó, nhi u ng i xem ông Alan Cooper cha già c a Visual Basic Visual Basic có hai d ng khác: Visual Basic for Application (VBA) VBScript VBA ngôn ng n m phía sau ch ng trình Word, Excel, MSAccess, MSProject, v.v g i Macros Dùng VBA T H C VISUAL BASIC 6.0 - PH N I MSOffice, ta có th làm t ng ch c n ng b ng cách t ch ng trình đ ng hóa VBScript đ c dùng cho Internet Operating System Dù cho m c đích c a b n t o m t ti n ích nh cho riêng b n, m t nhóm làm vi c c a b n, m t công ty l n, hay c n phân b ch ng trình ng d ng r ng rãi th gi i qua Internet, VB6 c ng s có công c l p trình mà b n c n thi t Các n b n Visual Basic Có ba n b n VB6: Learning, Professional Enterprise Chúng ta 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 b n c n đ h c tri n khai m t ch ng trình VB6, nh t control ActiveX, nh ng b ph n l p trình ti n ch r t h u d ng cho ch ng trình ng d ng (application programs) c a b n t ng lai Ngoài đ a compact cho VB6, tài li u đính kèm g m có sách Visual Studio Professional Features hai đ a CD Microsoft Developer Network (MSDN) n b n Enterprise n b n Professional c ng thêm 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 nh t 32 MB RAM, GB hard disk CPU Pentium II Khi b VB6 CD vào CD drive, s t kh i đ ng đ display menu cho b n ch n nh ng th c n Setup, click Install Visual Basic 6.0 đ cài VB6 Ngo i tr file h u hành (Operating System) th m c (folder) \Os, file đ 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 thành ph n 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 c n thi t Ví d , b n có th ch y T H C VISUAL BASIC 6.0 - PH N I Setup đ cài đ t l i Visual Basic folder khác, ho c đ cài đ t thêm b t ph n c a VB6 N u lý h th ng không install đ a compact MSDN (b n s khám phá u n y th y Help m t lúc ch y VB6), b n có th cài đ t chúng tr c ti p t đ a s c a b MSDN b xung xóa thành ph n VB: B đ a compact vào CD drive N u menu không t đ ng hi n lên ch y ch ng trình Setup có s n tong folder g c đ a compact Ch n nút Custom h p tho i (dialog) Microsoft Visual Basic 6.0 Setup Ch n hay xóa thành ph n b ng cách check hay uncheck h p danh sách Options c a dialog Custom Th c hi n ch d n Setup 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 l Microsoft cho t đ ng cài đ t Graphics, t c Default (không có nói gì) cài đ t Graphics Integrated Development Environment (IDE) c a VB6 Khi kh i đ ng VB6 b n s th y m nhi u c a s (windows), scrollbars, v.v n m ch ng lên New Project dialog VB6 cho b n ch n m t nhi u lo i công trình T H C VISUAL BASIC 6.0 - PH N I Ch n Standard EXE M t lát sau nh s hi n 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: T H C VISUAL BASIC 6.0 - PH N I IDE c a VB6 bao g m y u t sau: Menu Bar Ch a đ y đ commands mà b n s d ng đ làm vi c v i VB6, k c menu đ truy c p 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 nhi m ý đ ch y 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 khung Load behavior: Toolbars (Debug, Edit, form Editor, Standard) Các toolbars có hình 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 ti n h n B n dùng menu command View | Toolbars (click lên menu command View cho popupmenu hi n r i click command Toolbars) đ làm cho toolbars hi n hay bi n m t 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 ch khác (n m ngh a đ pointer c a mouse lên ch T H C VISUAL BASIC 6.0 - PH N I ch m đ hình phía d i r i b m xu ng gi nút bên trái c a mouse, kéo pointer n i khác) Ngoài b n c ng có th s a đ i toolbars theo ý thích b ng cách dùng Menu command View | Toolbars | Customize Toolbox ây h p đ ngh v i công c , g i controls, mà b n có th đ t lên form lúc thi t k (design) N u Toolbox bi n m t, b n có th display tr l i b ng cách dùng menu command View | Toolbox B n T H C VISUAL BASIC 6.0 - PH N I có th 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 b sung control cho tab t k t qu Project Explorer S li t kê forms modules project hi n hành c a b n M t project s t p h p files mà b n s d ng đ t o m t trình ng d ng T c là, VB6, nói vi t m t program có ngh a tri n khai m t project Properties window Li t kê đ c tính c a forms ho c controls đ c ch n M t property 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 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 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 T H C VISUAL BASIC 6.0 - PH N I dialog cho b n ch n value Thí d d i 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 forms form hi n 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 nh v i đ m n (resolution) t h n, thí d nh 640 X 480, s nh nh th T H C VISUAL BASIC 6.0 - PH N I 10 Form Designer Dùng đ thi t k giao di n l p trình B n b sung controls, đ h a (graphics), hình nh m t form đ t o s ma sát mà b n mu n M i form trình ng d ng c a b n có designer form riêng c a Khi b n maximise m t form designer, chi m c khu làm vi c Mu n làm cho tr l i c bình th ng đ ng th i đ th y form designers khác, click nút Restore Window góc bên ph i, phía 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 ch y ch ng trình ng d ng Khi ch ng trình t m ng ng m t break point, b n có th thay đ i giá tr 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: T H C VISUAL BASIC 6.0 - PH N I 74 Trong thí d sau đây, ta create m t Array of Labels tên lblClass m t Array of Textboxes tên txtClassMark Trong Sub Form_Load ta generate Captions c a Labels Private Sub Form_Load() Dim i As Integer For i = To ' Label Index starts at 0, but Class number starts at lblClass(i) = "Mark of Class " & CStr(i + 1) Next End Sub Sub CmdCalculateTotal_Click() ' Three classes, each has up to students Dim myStudentMarks(1 To 3, To 5) As Integer Dim TotalMark As Integer Dim ClassMark As Integer Dim i As Integer ' Use as ArrayIndex for Class Dim j As Integer ' Use as ArrayIndex for StudentMark ' Students' marks of first class myStudentMarks(1, 1) = myStudentMarks(1, 2) = myStudentMarks(1, 3) = myStudentMarks(1, 4) = myStudentMarks(1, 5) = ' Students' marks of second class myStudentMarks(2, 1) = myStudentMarks(2, 2) = myStudentMarks(2, 3) = ' Students' marks third class myStudentMarks(3, 1) = myStudentMarks(3, 2) = myStudentMarks(3, 3) = myStudentMarks(3, 4) = For i = To ClassMark = ' Intialise ClassMark of class i to ' Now go through each Student in Class i For j = To ClassMark = ClassMark + myStudentMarks(i, j) ' Accumulate ClassMark of class i TotalMark = TotalMark + myStudentMarks(i, j) Next ' Display ClassMark of class i Note that txtClassMark Index starts at 0, NOT txtClassMark(i - 1).Text = CStr(ClassMark) Next txtTotal.Text = CStr(TotalMark) ' Display TotalMark End Sub Ghi chú: N u b n có m t Array of Textboxes g m ch có Textboxes, r i sau b n Delete m t Textbox mu n dùng Textbox l i làm Textbox nh t, b n v n ph i refer (nh c đ n nó) b ng cách dùng Index (thí d : txtClassMark(0) ), dù r ng bây gi Textbox nh t mang tên y N u b n mu n d p v Index b n ph i vào Properties Window đ Delete Index value c a ArrayTextbox N u b n không l u T H C VISUAL BASIC 6.0 - PH N I 75 ý m n y có b n s b t tóc không hi u t i dùng tên mà VB6 v n nh t đ nh r ng Textbox b n nói đ n không hi n h u, VB6 c n Index value c a Textbox Th nh tho ng, Declare Array b n không bi t rõ s c n Elements cho m i dimension Trong tr ng h p y b n có th dùng Dynamic Arrays Declare m t Array nh sau: Private myStudentMarks() As Integer Vì b n không đ m t s gi a hai d u ngo c đ n nên VB6 bi t b n mu n dùng Dynamic Array dimension c a có th s thay đ i t ng lai Khi mu n thay đ i dimension c a Dynamic Array b n dùng ReDim keyword: ReDim myStudentMarks(10) ReDim Preserve myStudentMarks(10) C hai statements đ u đ i dimension c a Array myStudentMarks thành 11 (t Element đ n Element 10), nh ng statement th nhì ch Preserve gi nguyên values c a Elements c a Array Khi làm vi c v i Array th nh tho ng b n c n bi t Elements th p nh t cao nh t b ng cách dùng LBound UBound Private MyArray(10 to 20) As String LowestNum = LBound(MyArray) ' LBound returns 10 HighestNum = UBound(MyArray) ' UBound returns 20 Private YourArray( to 5, 10 to 15) As Integer LowestNumOfFirstDimension = LBound(YourArray,1) ' LBound returns HighestNumOfSecondDimension = UBound(YourArray,2) ' UBound returns 15 T H C VISUAL BASIC 6.0 - PH N I 76 Ngoài n u dùng Dynamic Array, b n có th assign m t Array n y cho m t Array khác, thay ph i dùng FOR LOOP đ copy t ng Array Element MyArray = HisArray Data Type c a b n B n có th gom m nh Data c a m t v t thành m t nhóm đ t tên cho lo i Data Type y nh sau: Type EmployeeRec ' EmployeeRec as name of this new Data Type Firstname As String Surname As String Salary As Single DateOfBirth As Date End Type ' Now declare a variable of the new data type Dim MyEmployee As EmployeeRec MyEmployee.Firstname = "David" MyEmployee.Surname = "Smith" MyEmployee.Salary = 25000 MyEmployee.DateOfBirth = #14/6/1963# Trong Software Engineering, ng i ta g i lo i Data Type n y Structured Data Type đ phân bi t v i lo i Simple Data Type nh Integer, Boolean, Single v.v B n đ ý cách nói đ n m t m nh data, MyEmployee.Firstname, gi ng nh Property Firstname c a m t control tên MyEmployee Có m t cách vi t khác đ tránh typing nhi u l n ch MyEmployee b ng cách dùng keyword With nh sau: With MyEmployee Firstname = "David" Surname = "Smith" Salary = 25000 DateOfBirth = #14/6/1963# End With M c d u đ nh ngh a dùng Structured Data Type cách n y r t ti n l i, nh ng sau n y ta có th dùng Class đ đ t đ c m t m c tiêu mà h u hi u h n n a Trong Class ch ng nh ng ta đ nh ngh a nh ng m nh data mà đ cách x lý chúng n a T H C VISUAL BASIC 6.0 - PH N I 77 T H C VISUAL BASIC 6.0 - PH N I Ch 78 ng B y - Dùng List Controls Có hai lo i List controls dùng VB6 Ðó Listbox Combobox C hai đ u display m t s hàng đ ta có th l a ch n Listbox chi m m t khung ch nh t, n u chi u ngang nh có không display đ y đ m t hàng, n u chi u dài không đ đ display t t c m i hàng Listbox t đ ng cho ta m t vertical scroll bar đ cho bi t có nhi u hàng b che ta có th xem hàng y b ng cách dùng vertical scroll bar Combobox th ng th ng ch display m t hàng, nh ng ta có th ch n display b t c hàng khác Combobox gi ng nh m t t p h p c a m t Textbox n m phía m t Listbox n m phía d i Listbox có r t nhi u công d ng r t uy n chuy n Trong ch ta s h c qua áp d ng sau c a Listbox: ng n y • Display nhi u s l a ch n đ User selects b ng cách click hay drag-drop • Nh ng cách dùng Property Sorted • Cách dùng Multiselect • Dùng đ display Events • Dùng đ Search hay process text • Cách dùng Itemdata song song v i Items c a List • Dùng làm Queue T H C VISUAL BASIC 6.0 - PH N I 79 Listbox Display nhi u s l a ch n Ta b t đ u vi t m t ch ng trình g m có m t Listbox tên lstNames n m m t Form Trong lstNames ta đánh vào tên c a b y ng i, m i l n xu ng hàng nh đánh Ctrl-Enter, thay ch Enter, n u không VB6 t ng ta đánh xong nên close property List Các tên n y nh ng hàng s hi n Listbox ta b t đ u ch y program Ngoài lstNames ta cho thêm m t Label v i Caption STUDENTS đ trang hoàng, m t Label khác tên lblName M i User click lên hàng tên ta mu n display hàng tên y lblName Sau ta cho vào m t CommandButton tên CmdExit đ cho User ph ng ti n Stop program Ta s có ch ng trình nh sau: Private Sub lstNames_Click() ' Assign the selected line of Listbox lstNames to Caption of Label lblName lblName.Caption = lstNames.List(lstNames.ListIndex) ' or = lstNames.text End Sub Private Sub CmdExit_Click() End End Sub T H C VISUAL BASIC 6.0 - PH N I 80 Gi s ta click vào tên John Smith Listbox, ta s th y tên y c ng đu c display Label lblName Trong thí d n y, Listbox lstNames có hàng ( Items) Con s Items n y Property ListCount c a Listbox Các Items c a Listbox đ c đ m t đ n ListCount-1 Trong tr ng h p n y t đ n Khi User click lên m t hàng, Listbox s generate Event lstNames_Click Lúc b y gi ta có th bi t đ c User v a m i Click hàng b ng cách h i Property ListIndex c a lstNames, s có value t đ n ListCount1 Lúc program m i ch y, ch a Click lên Item c a Listbox ListIndex = -1 Nh ng Items Listbox đ c xem nh m t Array c a String Array n y đ c g i List Do đó, ta nói đ n Item th nh t c a Listbox lstNames b ng cách vi t lstNames.List(0) , t ng t nh v y, Item cu i lstNames.List( lstNames.ListCount-1) Ta có th nói đ n item v a đ c Clicked b ng hai cách: ho c lstNames.List(lstNames.ListIndex), ho c lstNames.text Save content c a Listbox Bây gi đ l u tr content c a lstNames, ta thêm m t CommandButton tên CmdSave Ta s vi t code đ User click nút CmdSave program s m m t Output text file vi t m i items c a lstNames vào đó: Private Sub CmdSave_Click() Dim i, FileName, FileNumber ' Obtain Folder where this program's EXE file resides T H C VISUAL BASIC 6.0 - PH N I 81 FileName = App.Path ' Make sure FileName ends with a backslash If Right(FileName, 1) "\" Then FileName = FileName & "\" FileName = FileName & "MyList.txt" ' name output text file MyList.txt ' Obtain an available filenumber from the operating system FileNumber = FreeFile ' Open the FileName as an output file , using FileNumber as FileHandle Open FileName For Output As FileNumber ' Now iterate through each item of lstNames For i = To lstNames.ListCount - ' Write the List item to file Make sure you use symbol # in front of FileNumber Print #FileNumber, lstNames.List(i) Next Close FileNumber ' Close the output file End Sub App m t Object đ c bi t đ i di n cho program ch y ta dùng Property Path đ bi t lúc program ch y execute module EXE c a n m đâu Lý th ng th ng ta đ files liên h c n thi t cho program l n qu n ho c folder c a program hay m t subfolder, ch ng h n nh data, logs, v.v App có m t s Properties khác c ng r t h u d ng nh PrevInstance, Title, Revision v.v N u m i started m t program mà th y App.PrevInstance = True lúc b y gi c ng có m t copy khác c a program ch y N u c n ta End program n y đ tránh ch y copies c a program m t lúc App.Title App.Revision cho ta tin t c v Title Revision c a program ch y Ð vi t m t Text file ta c n ph i Open mode Output tuyên b t tr s dùng m t s (FileNumber) đ đ i di n File thay dùng FileName Ð tránh dùng m t FileNumber hi n h u, t t nh t ta h i xin Operating System cung c p cho m t s ch a dùng b ng cách g i Function FreeFile Con s FileNumber n y đu c g i FileHandle (Handle tay c m) Sau ta Close FileNumber s n y tr nên FREE Operating System s có th dùng l i Do b n ph i tránh g i FreeFile liên ti p hai l n, OS s cho b n m t s T c là, sau g i FreeFile ph i dùng b ng cách Open m t File r i m i g i FreeFile l n k đ có m t s khác Ð ý cách dùng ch Input, Output cho files relative (t ng đ i) v i v trí c a program (nó n m memory c a computer) Do t T H C VISUAL BASIC 6.0 - PH N I 82 memory vi t hard disk nói Output Ng c l i đ c t m t Text file n m hard disk vào memory cho program ta g i Input Load m t Text file vào Listbox Trong n y, thay đánh Items c a Listbox vào Property List c a lstNames ta có th populate (làm đ y) lstNames b ng cách đ c Items t m t Text file Ta th thêm m t CommandButton tên CmdLoad Ta s vi t code đ User click nút CmdLoad program s m m t Input text file đ c t ng hàng đ b vào lstNames: Private Sub CmdLoad_Click() Dim i, FileName, FileNumber, anItem ' Obtain Folder where this program's EXE file resides FileName = App.Path ' Make sure FileName ends with a backslash If Right(FileName, 1) "\" Then FileName = FileName & "\" FileName = FileName & "MyList.txt" ' Obtain an available filenumber from the operating system FileNumber = FreeFile ' Open the FileName as an input file , using FileNumber as FileHandle Open FileName For Input As FileNumber lstNames.Clear ' Clear the Listbox first ' Now read each line until reaching End-Of-File, i.e no more data Do While NOT EOF(FileNumber) Line Input #FileNumber, anItem ' Read a line from the Text file into variable anItem lstNames.AddItem anItem ' Add this item to the bottom of lstNames Loop Close FileNumber ' Close the input file End Sub Ð đ c t m t Text file ta c n ph i Open mode Input Tr c populate lstNames ta c n ph i delete t t c m i items có s n bên Ð th c hi n vi c ta dùng method Clear c a Listbox Sau ta dùng method AddItem đ cho thêm t ng hàng vào Listbox By default, n u ta không nói nhét vào ch hàng AddItem nhét Item m i vào d i chót c a Listbox N u mu n nhét hàng m i vào tr vi t: c item th (ListIndex = 4), ta lstNames.AddItem newItemString, ' newItemString contains "Ross Close", for example ' To insert a new Item at the beginning of the Listbox, write: lstNames.AddItem newItemString, Nh m i l n b n Add m t Item vào Listbox ListCount c a Listbox increment by T H C VISUAL BASIC 6.0 - PH N I 83 Mu n delete m t item t Listbox ta dùng method RemoveItem, thí d nh mu n delete item th ba (ListIndex=2) c a lstNames, ta vi t: lstNames.RemoveItem M i l n b n RemoveItem t Listbox the ListCount c a Listbox decrement by Do n u b n dùng Test d a vào ListCount c a m t ListBox đ nh y kh i m t Loop ph i coi ch ng tránh làm cho value ListCount thay đ i Loop AddItem hay RemoveItem Ta đ c t ng hàng c a m t Text file b ng cách dùng Line Input #FileNumber Khi đ c đ n cu i File, system d cho ta value EOF(FileNumber) = True Ta dùng value y đ cho program nh y kh i While Loop Câu Do While NOT EOF(FileNumber) có ngh a Trong ch a đ n End-Of-File c a Text File đ i di n b i FileNumber đ c t hàng b vào Listbox Gi ng nh "Trong ch a tr h t n nhà v ph i ti p t c r " Drag-Drop Ta h c qua Click Event c a Listbox Bây gi đ dùng Drag-Drop cho Listbox b n đ t Labels m i lên Form Cái th nh t tên c ng đ c nh ng có Caption Room A Hãy g i Label th hai lblRoom cho Property BorderStyle c a b ng Fixed Single K đ n select c hai Labels (Click a Label then hold down key Ctrl while clicking the second Label) r i click copy paste lên Form VB6 s cho b n Array c a hai lblRoom labels Ð cho lstNames m t DragIcon, b n click lstNames, click Property DragIcon đ pop-up m t dialog cho b n ch n m t dragdrop icon t folder C:\Program Files\Microsoft Visual Studio\Common\Graphics\Icons\Dragdrop, ch ng h n nh DRAG2PG.ICO: T H C VISUAL BASIC 6.0 - PH N I 84 Ta s dùng Event MouseDown c a lstNames đ pop-up DragIcon hình trang gi y cho User Drag qua bên ph i r i b xu ng lên m t hai lblRoom Khi DragIcon r i lên lblRoom, lblRoom s generate Event DragDrop Ta s dùng Event DragDrop n y đ assign property Text c a Source (t c lstNames, control t phát xu t Drag action) vào Property Caption c a lblRoom L u ý ta dùng m t tên cho c hai lblRoom nên ch c n vi t code m t ch đ handle Event DragDrop Private Sub lstNames_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) ' Start Pop-up DragIcon and start Drag action lstNames.Drag End Sub Private Sub lblRoom_DragDrop(Index As Integer, Source As Control, X As Single, Y As Single) ' Assign Property Text of Source (i.e lstNames) to Label's Caption lblRoom(Index).Caption = Source.Text End Sub K t qu sau Drag hai tên t Listbox qua Labels nh sau: T H C VISUAL BASIC 6.0 - PH N I 85 Dùng Property Sorted Trong thí d ta có th quy t đ nh v trí c a m t Item m i ta nhét vào Listbox Ðôi ta mu n Items c a Listbox đ c t đ ng s p theo th t Alphabet B n có th set Property Sorted = True đ th c hi n chuy n n y Có m t gi i h n b n ph i cho Property Sorted m t value (True hay False) lúc design, ch ch y program b n không th làm cho Property Sorted c a Listbox thay đ i Gi d ta mu n sort Items c a m t Listbox c n V y ta làm sao? Gi i pháp r t đ n gi n B n t o m t Listbox tên lstTemp ch ng h n Cho Property Visible= False (đ không th y nó) Property Sorted=True Khi c n sort lstNames ch ng h n, ta copy content c a lstNames b vào lstTemp, đo n Clear lstNames r i copy content (đã đ c sorted) c a lstTemp tr l i lstNames L u ý ta có th AddItem vào m t Listbox v i Property Sorted=True, nh ng không th xác đ nh nhét Item vào tr c hàng nào, v trí c a Items Listbox quy t đ nh sort Items Ta cho thêm vào Form m t CommandButton m i tên CmdSort vi t code cho Event Click c a nh sau: Private Sub CmdSort_Click() Dim i lstTemp.Clear ' Clear temporary Listbox ' Iterate though every item of lstNames For i = To lstNames.ListCount - ' Add the lstNames item to lstTemp lstTemp.AddItem lstNames.List(i) Next lstNames.Clear ' Clear lstNames ' Iterate though every item of lstTemp For i = To lstTemp.ListCount - ' Add the lstTemp item to lstNames lstNames.AddItem lstTemp.List(i) Next lstTemp.Clear ' Tidy up - clear temporary Listbox End Sub Nhân ti n, ta mu n có option đ sort tên theo FirstName hay Surname Vi c n y h i r c r i h n m t chút, nh ng nguyên t c v n dùng sorted Listbox vô hình tên lstTemp B n đ t lên phía lstName hai cál Labels m i tên lblFirstName lblSurName cho chúng Caption "FirstName" "SurName" T ta Load file "MyList.txt" vào lstNames b ng cách Click button CmdLoad ch không Edit Property List c a lstNames đ enter Items lúc design n a Ngoài ta dùng d u ph y (,) đ tách FirstName kh i T H C VISUAL BASIC 6.0 - PH N I 86 SurName m i tên ch a file MyList.txt Content c a file MyList.txt bây gi tr thành nh sau: Peter,Jones Kevin,White Sue,Rose John,Smith Trevor,Kennedy Alan,Wright Ron,Bruno Ta s s a code Sub CmdLoad_Click l i đ nhét tên vào lstNames, FirstName SurName m i th chi m 10 characters Ð ch Items c a lstNames s p hàng ng n ta đ i Font c a lstNames Courier New Courier New m t lo i Font mà chi u ngang c a ch m b ng ch i, h u h t Fonts khác nh Arial, Times Roman v.v Proportional Spacing, có ngh a ch m r ng h n ch i Listing m i c a Sub CmdLoad_Click tr thành nh sau: Private Sub CmdLoad_Click() Dim i, Pos Dim FileName, FileNumber, anItem Dim sFirstName As String * 10 ' fixed length string of 10 characters Dim sSurName As String * 10 ' fixed length string of 10 characters ' Obtain Folder where this program's EXE file resides FileName = App.Path ' Make sure FileName ends with a backslash If Right(FileName, 1) "\" Then FileName = FileName & "\" FileName = FileName & "MyList.txt" ' Obtain an available filenumber from the operating system FileNumber = FreeFile ' Open the FileName as an input file , using FileNumber as FileHandle Open FileName For Input As FileNumber lstNames.Clear ' Clear the Listbox first ' Now read each line until reaching End-Of-File, i.e no more data Do While Not EOF(FileNumber) Line Input #FileNumber, anItem ' Read a line from the Text file ' Now separate FirstName from SurName Pos = InStr(anItem, ",") ' Locate the comma "," ' The part before "," is FirstName sFirstName = Left(anItem, Pos - 1) sFirstName = Trim(sFirstName) ' Trim off any unwanted blank spaces ' The part after "," is SurName sSurName = Mid(anItem, Pos + 1) sSurName = Trim(sSurName) ' Trim off any unwanted blank spaces lstNames.AddItem sFirstName & sSurName ' Add this item to the bottom of lstNames Loop Close FileNumber ' Close the input file End Sub T H C VISUAL BASIC 6.0 - PH N I 87 Vì FirstName n m bên trái c a m i Item nên sort theo FirstName c ng gi ng nh sort c Item Vi c y ta làm b ng Sub CmdSort_Click r i, User click Label lblFirstName ta ch c n g i CmdSort_Click nh sau: Private Sub lblFirstName_Click() CmdSort_Click End Sub Ð sort theo SurName ta c n ph i t m th i đ SurName qua bên trái c a Item tr c b vào lstTemp Ta th c hi n chuy n n y b ng cách hoán chuy n v trí c a FirstName SurName Item tr c b vào lstTemp Sau đó, copy Items t lstTemp đ b vô l i lstNames ta l i nh hoán chuy n FirstName SurName đ chúng n m l i v trí T c là, mánh c a ta mu n bi t Item ph i n m đâu lstNames, ch d nhiên display m i Item đ u có FisrtName bên trái Code đ sort tên theo SurName c ng gi ng nh CmdSort_Add nh ng thêm th t chút nh sau: Private Sub lblSurName_Click() Dim i, anItem Dim sFirstName As String * 10 ' fixed length string of 10 characters Dim sSurName As String * 10 ' fixed length string of 10 characters lstTemp.Clear ' Clear temporary Listbox ' Iterate though every item of lstNames For i = To lstNames.ListCount - anItem = lstNames.List(i) ' Identify FistName and SurName sFirstName = Left(anItem, 10) sSurName = Mid(anItem, 11) ' Swap FirstName/SurName positions before adding to lstTemp lstTemp.AddItem sSurName & sFirstName Next lstNames.Clear ' Clear lstNames ' Iterate though every item of lstTemp For i = To lstTemp.ListCount - anItem = lstTemp.List(i) ' Identify FistName and SurName sSurName = Left(anItem, 10) ' SurName now is on the left sFirstName = Mid(anItem, 11) ' Add FirstName/SurName in correct positions to lstNames lstNames.AddItem sFirstName & sSurName Next lstTemp.Clear ' Tidy up - clear temporary Listbox End Sub Các Items lstNames sorted theo SurName hi n nh sau: T H C VISUAL BASIC 6.0 - PH N I 88 Nhân ti n ta s a Sub CmdSave_Click l i m t chút đ Save Items theo sorted order m i n u c n: Private Sub CmdSave_Click() Dim i, FileName, FileNumber, anItem ' Obtain Folder where this program's EXE file resides FileName = App.Path ' Make sure FileName ends with a backslash If Right(FileName, 1) "\" Then FileName = FileName & "\" ' Call Output filename "MyList.txt" FileName = FileName & "MyList.txt" ' Obtain an available filenumber from the operating system FileNumber = FreeFile ' Open the FileName as an output file , using FileNumber as FileHandle Open FileName For Output As FileNumber ' Now iterate through each item of lstNames For i = To lstNames.ListCount - anItem = lstNames.List(i) anItem = Trim(Left(anItem, 10)) & "," & Trim(Mid(anItem, 11)) ' Write the List item to file Make sure you use symbol # in front of FileNumber Print #FileNumber, anItem Next Close FileNumber ' Close the output file End Sub [...]... T H C VISUAL BASIC 6.0 - PH N I 12 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 T H C VISUAL BASIC 6.0... cho m t control v a m t Focus Trong thí d d i đây, n u User không đánh vào m t con s trong Textbox Text1 thì s đ c thông báo và Tab Cursor s tr l i Textbox Text1 Private Sub Text1_LostFocus() If Not IsNumeric(Text1.Text) Then MsgBox "Please enter a number!" Text1.SetFocus End If End Sub T H C VISUAL BASIC 6.0 - PH N I o 36 DragDrop : xãy ra khi ta drop m t cái gì lên control Parameter Source cho ta... b n mà thôi T H C VISUAL BASIC 6.0 - PH N I Ch ng Hai- Vi t ch 15 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... dùng KeyDown event Trong thí d d i đây, ta display Function key User b m: Private Sub Text3_KeyDown(KeyCode As Integer, Shift As Integer) If (KeyCode >= 11 2) And (KeyCode ... nh sau: For i = To 16 Step ' Iterate from to 16 with Step=2 Total = Total + i ' Add the number to the Total Next T H C VISUAL BASIC 6.0 - PH N I 51 Total s b ng 4+6+8 +10 +12 +14 +16 = 70 Trong thí... a Visual Basic Visual Basic có hai d ng khác: Visual Basic for Application (VBA) VBScript VBA ngôn ng n m phía sau ch ng trình Word, Excel, MSAccess, MSProject, v.v g i Macros Dùng VBA T H C VISUAL. .. Text3_KeyDown(KeyCode As Integer, Shift As Integer) If (KeyCode >= 11 2) And (KeyCode

Ngày đăng: 04/12/2015, 00:36

TỪ KHÓA LIÊN QUAN