Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 72 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
72
Dung lượng
907,01 KB
Nội dung
T HC VISUALBASIC 6.0 - PHN 3 1 http://ebooks.vdcmedia.com MC LC Dùng Ha (Phn II) . 3 Dùng Ha (Phn III) 12 C s d liu (Database) . 23 Dùng Control Data 35 Lp trình vi k thut DAO 46 Lp trình vi ADO (phn I) 58 T HC VISUALBASIC 6.0 - PHN 3 2 http://ebooks.vdcmedia.com T HC VISUALBASIC 6.0 - PHN 33 http://ebooks.vdcmedia.com Dùng Ha (Phn II) In trên màn nh VB6 có method Print cho ta in thng trên Form, PictureBox hay Printer. Ba loi control này đc coi nh nhng khung vi mà ha s v lên. Bn hãy khi đng mt chng trình VB6 mi. t lên form mt PictureBox tên Picture1 và mt button tên CmdPrintTenLines vi Caption Print Ten Lines. DoubleClick lên button này và vit code di đây: Private Sub CmdPrintTenLines_Click() Dim i As Integer ' String variable used for display Dim strLine As String ' Write 10 lines, one under the other For i = 1 To 10 strLine = "This is line " & CStr(i) Me.Print strLine ' Print on Form Picture1.Print strLine ' Print on Picture1 Next End Sub Bn hãy chy th program ri click nút Print Ten Lines. Trong trng hp này ta dùng default Font và Color đ in 10 hàng. Sau mi Print, chng trình t đng xung hàng. K đó, thêm mt button tên CmdPrintFontSizes vi Caption Print Font Sizes. DoubleClick lên button này và vit code di đây: Private Sub CmdPrintFontSizes_Click() Dim i As Integer ' Print numbers 1 to 10, one after the other on the same line For i = 1 To 10 ' Define Font size Me.Font.Size = Me.Font.Size + i ' Define Color using Function QBColor Me.ForeColor = QBColor(i) ' Print without moving to next line. Note the semicolon ";" Me.Print Str(i); Next End Sub T HC VISUALBASIC 6.0 - PHN 3 4 http://ebooks.vdcmedia.com Trong Sub CmdPrintFontSizes_Click, ta thay đi c kiu ch đ cho các con s đc in ra ln lên dn dn và thay đi màu ca các con s bng cách dùng function QBColor. in các con s liên tc không xung hàng ta dùng method Print vi semicolon (;). Bn hãy chy chng trình li. Click nút Print Ten Lines ri click nút Print Font Sizes, kt qu s ging nh di đây: Bây gi bn th minimize ca s ca chng trình, k đó restore nó li kích thc c. Bn s thy các hàng ta in lúc nãy không còn trong form hay PictureBox na. Lý do là khi ta Print lên form hay PictureBox, các hình y đc v trong graphic đa phng ch không đc VB6 k là mt phn ca ca s. Mun tránh tr ngi này ta phi dn VB6 nh v li bng cách set property AutoRedraw ca form và Picture1 ra True. T HC VISUALBASIC 6.0 - PHN 3 5 http://ebooks.vdcmedia.com H thng ta đ Khi đt mt Object hay v mt cái gì lên màn nh (screen) hay form .v.v ta cn phi ch đnh Object y nm ch nào k t (with reference to) cái góc Trên Trái (Top Left) ca màn nh hay form. Cái góc Trên Trái là Trung tâm ta đ ca screen hay form. đó ta đ X và Y đu bng 0, ta vit là 0,0. Nu ta đi ln qua phi theo chiu rng ca screen thì ta đ X tng lên. Nu ta đi dc xung di theo chiu cao ca screen thì ta đ ca Y tng lên. K đn là đn v đo lng ta dùng đ biu din khong cách. Trong bài trc ta đã nói đn đ mn ca màn nh (screen resolution) da vào pixel. Ta có th dùng đn v pixel đ nói mt Object có ta đ X và Y mi chiu bao nhiêu pixels tính t trung tâm ta đ. Nh th, ngay c trên cùng mt màn nh khi ta tng đ mn nó lên thì mt Object đã đc đt lên màn nh theo đn v pixel s xích qua trái và lên trên mt ít vì kích thc mt pixel bây gi nh hn lúc trc mt chút. Hình di đây minh ha các kích thc ca màn nh và Form. im cn bit là có nhng phn nh title bar và border ca mt form ta không th v lên đc. Do đó din tích còn li ca form đc gi là Client Area. Chiu rng và chiu cao ca Client Area đc gi là ScaleWidth và ScaleHeight. Nu mun khong cách t mt Object đn trung tâm ta đ, hay kích thc ca chính Object, không h thay đi dù ta có tng, gim đ mn ca màn nh hay in hình ra printer (thí d ta mun nó luôn luôn dài 5cm chng hn) thì ta dùng h thng ta đ theo đn v twips ca form. T HC VISUALBASIC 6.0 - PHN 3 6 http://ebooks.vdcmedia.com Twips là Default Coordinate System ca VB6. Trong h thng này mi đim là tng đng vi 1/567 centimeter. Do đó, nu bn v mt dng dài 567 twips nó s hin th dài 1cm trên màn nh, và khi bn in nó ra, nó cng dài 1cm trên giy. Tc là đ dài tht ca Object không tùy thuc vào loi màn nh (đ mn cao hay thp) hay printer. Ngi ta nói nó là Device independent coordinate system (H thng ta đ đc lp vi dng c). Nói mt cách khác Twips cho ta tht s what you see is what you get (WYSIWYG - thy sao có vy), rt thích hp vi Desktop publishing. Bn có th thay đi h thng ta đ ca mt form bng cách edit property ScaleMode qua ca s Properties nh sau: Ghi chú: Thay đi tr s ScaleMode không có hiu lc ngay mà ch nh hng nhng gì đc thit k sau đó. Ging nh khi ta Edit Text trong Notepad, Text Cursor (thanh | chp chp) là v trí hin ti, ni s hin th cái ch ta đánh sp ti, trong graphic ta có mt Cursor vô hình, ni s hin th cái gì ta sp Print. Ta ch đnh v trí ca graphic cursor y bng cách cho tr s ca CurrentX và CurrentY. Bn hãy khi đng mt d án VB6 mi và vit code cho Event Resize ca form chính nh sau: T HC VISUALBASIC 6.0 - PHN 3 7 http://ebooks.vdcmedia.com Th chy chng trình và Resize form. Mi khi bn Resize form, ch X s đc di đn v trí khong chính gia ca Client Area ca form. Dùng Graphics ã có mt chút cn bn v graphics ca VB6, bây gi ta có th đt nhng graphics lên form. Có hai cách đ làm chuyn y: • Dùng Graphical Controls: Ta có PictureBox và Image có th cha hình nh. Trong khi Line và Shape có th v đng thng hay các hình ch nht, tròn .v.v trên form, lúc thit k. • Dùng Graphics Methods: ây là nhng mnh lnh cho ta v trc tip lên form lúc run-time. Các mnh lnh VB6 cho ta là Cls, Pset, Point, Line và Circle. T HC VISUALBASIC 6.0 - PHN 3 8 http://ebooks.vdcmedia.com Tùy theo hoàn cnh, bn có th la chn cách nào tin dng. PictureBox và Image Dùng PictureBox hay Image là cách d nht đ hin th mt graphic trong form. Lúc thit k, bn có th đánh thng tên ca graphic vào property Picture trong ca s Properties. Form cng nhn property Picture. Bn cng có th click lên bên phi ch property Picture đ browse và chn mt graphic, thng là Bitmap hay Icon. S khác bit chí gia Image và PictureBox là Image có property Stretch mà ta có th set thành True đ kéo dãn graphic ra cho chim trn din tích ca Image. Image là mt grapgic control lightweight (nh ký), tc là nó không đòi hi nhiu memory và chy nhanh hn PictureBox. Lý do là PictureBox là mt container, tc là nó có th cha các controls khác. Ngoài ra, PictureBox cng cho phép ta v lên trên nó ging nh trên form. T HC VISUALBASIC 6.0 - PHN 3 9 http://ebooks.vdcmedia.com Trong hình di đây, trong lúc thit k ta đt mt PictureBox và mt Image cùng mt c lên cùng mt form. K đó ta assign cùng mt picture hình happy.bmp cho c hai. Riêng vi Image, ta set property Stretch ca nó ra True. Ch đnh hình nh lúc run-time Trong lúc program đang chy, ta có th thay đi hình nh cha trong PictureBox hay Image bng cách dùng Function LoadPicture. Nh là ta không th assign trc tip vào Property Picture ca hai graphical controls này. Lý do là Property Picture ch là mt cách thân thin cho ta ch đnh mt graphic trong lúc thit k. Khi mt hình nh đã đc ch đnh ri, VB6 cha c hình y vào file có cùng tên vi file ca form nhng vi extension .frx. Tc là nu tên ca form là Form1 thì graphic ca Property Picture đc cha chung vi các graphics khác ca form trong file Form1.frx. Do đó, vì VB6 program cha luôn graphic chung vi nó, ta không cn phi nhc đn tên ca graphic file khi dùng hay deploy, tc là không cn đính kèm tên graphic file trong Setup file cho ngi ta install. Di đây là code mu đ lúc run-time ta load mt graphic tên sad.bmp nm trong Subfolder tên images ca App.path vào Image control tên Image1. Private Sub CmdLoad_Click() Dim LocalDir As String ' Assign Folder where program resides to LocalDir LocalDir = App.Path ' Append right backslash if last character is not "\" If Right(LocalDir, 1) <> "\" Then LocalDir = LocalDir & "\" T HC VISUALBASIC 6.0 - PHN 3 10 http://ebooks.vdcmedia.com End If ' Load graphic "sad.bmp" from SubFolder "images" into Image1 Image1.Picture = LoadPicture(LocalDir & "images\sad.bmp") End Sub D nhiên, nu ta mun load graphic lúc run-time thì phi cung cp graphic file riêng. Control Shape Control Shape cho phép bn v nhng hình đn gin nh đng thng, hp, vòng tròn trên form, lúc thit k. Sau khi DoubleClick lên control Shape trong Toolbox đ thêm mt control Shape vào form, bn chn loi Shape ca nó t ca s Properties ri nm vào mt góc ca Shape trên form drag ln nh tùy ý. Mun sn bên trong mt Shape, bn chn màu t property FillColor. Property FillColor cng ging nh BackColor ca các controls khác, nhng nó ch có hiu lc khi bn cho property FillStyle mt tr s khác hn là 1- Transparent (trong sut), thí d nh 0- Solid (dày đc). [...]... http://ebooks.vdcmedia.com ng th i thêm T H C VISUAL BASIC 6.0 - PH N 3 ' Draw a Pie Slice from 90deg to 45deg Circle (30 00, 4000), 800, , -Rads(90), ' Position the graphic cursor to Print CurrentX = 2800: CurrentY = 4400 Print "87.5%" FillColor = vbBlue ' Draw a Pie Slice from 45deg to 90deg Circle (30 50, 39 00), 800, , -Rads(45), ' Position the graphic cursor to Print CurrentX = 34 00: CurrentY = 30 00 Print "12.5%" FillStyle... dòng code này CurrentX =30 00 và CurrentY=4000 thì dòng code t ng ng v i: Line (30 00,4000)- (36 00,4500), vbMagenta http://ebooks.vdcmedia.com T H C VISUALBASIC 6.0 - PH N 3 17 3 Dùng ch Step nói s khác bi t t CurrentX và CurrentY: thí d : Line Step(400, 600)-Step(800, -500), vbGreen N u tr c khi execute dòng code này CurrentX =36 00 và CurrentY=4500 thì dòng code t ng ng v i: Line (4000,5100)-(4800,4600),... m ngang Private Sub CmdEllipse_Click() Circle (1400, 30 00), 800, vbMagenta, , , 2 Circle (1400, 30 00), 800, vbBlue, , , 0.5 End Sub N u b n kh i ây: ng ch ng trình và click c b n buttons b n s th y hình sau http://ebooks.vdcmedia.com T H C VISUALBASIC 6.0 - PH N 3 22 Property DrawMode Thông th ng khi ta v , tr s default c a property DrawMode là 13- Copy Pen Có m t tr s DrawMode r t thích h p cho áp... t record khi field y ch a m t empty string Khi ta t o m t record l n u, n u không cho tr s c a m t field, thì field y có tr s là NULL Th ng th ng, VisualBasic 6.0 không thích NULL value nên ta http://ebooks.vdcmedia.com T H C VISUALBASIC 6.0 - PH N 3 31 ph i th m t field v i Function IsNULL() m b o nó không có tr s NULL tr c khi làm vi c v i nó N u IsNULL tr v tr s False thì ta có th làm vi c v i... n N u ph n l n các ch ng trình áp d ng c thi t k làm vi c cách này, thì trong t ng lai ta không c n m t Database Server th t m nh http://ebooks.vdcmedia.com T H C VISUALBASIC 6.0 - PH N 3 35 Dùng Control Data Control Data T VB5, VisualBasic cho l p trình viên m t control truy c p c s d li u, tên nó ch n s là Data Nh ta bi t, có m t c s d li u Microsoft gói kèm khi ta mua VB6 - ó là Jet Database Engine... dùng Menu Command File | Get External Data | Link Tables r i ch n lo i DBase và chính file c a table mà b n mu n dùng nhét nó vào Access database ang m : http://ebooks.vdcmedia.com T H C VISUAL BASIC 6.0 - PH N 3 33 Database Server và m t s ý ni m Dù Jet Database Engine là m t relational database r t t t và hi u n ng, nó thu c lo i File Based database, t c là nó th ng, không ch y m t mình nh ng ph... picGraphic b ng cách Browse m t Bitmap file t c a s Properties ây ta ch n INTL_NO.BMP t folder \Program Files\Microsoft Visual Studio\Common\Graphics\Bitmaps\Assorted http://ebooks.vdcmedia.com T H C VISUAL BASIC 6.0 - PH N 3 Trong ch ng trình này ta mu n h chuy n Mouse cursor thì khi cursor i 13 khi è nút trái c a Mouse xu ng và di n âu, hình INTL_NO cv n ó Ta s dùng m t Flag ánh d u nút-trái-c a-Mouse-Down,... Boolean (Yes/No), Currency ( ch a tr s ti n) và Date ( ch a date/time) Datatype Number l i g m có nhi u lo i datatypes v con s nh Integer, Long (integer chi m 32 bits), Single, Double, v.v http://ebooks.vdcmedia.com T H C VISUAL BASIC 6.0 - PH N 3 D 26 i ây là Datatypes c a các fields trong record Author: Có lo i Datatype c bi t tên là AutoNumber Th t ra nó là Long nh ng tr s c phát sinh t ng m i khi... hay Referential Integrity Rule thì c g i là Database-Specific Integrity Rules Nh ng quy lu t này d a vào chính lo i database và nh t là tùy thu c vào các http://ebooks.vdcmedia.com T H C VISUAL BASIC 6.0 - PH N 3 30 quy lu t v m u d ch (Business Rules) ta dùng cho database, thí d nh m i record v ti n l ng c a công nhân ph i có m t field S Thu (Tax Number) do s Thu V phát hành cho công dân L u ý là... Line (50, 100)- (30 00, 4000) Khi ng này c v xong thì v trí c a graphic cursor có t a là v trí c a cu i ng, t c là CurrentX =30 00 và CurrentY=4000 trong tr ng h p này 2 Ch cho bi t t a cu i ng th ng: thí d : Line - (36 00, 4500), vbMagenta Trong tr ng h p này v trí c a graphic cursor (CurrentX, CurrentY) c l y làm t a c a u ng th ng khi v T c là n u tr c khi execute dòng code này CurrentX =30 00 và CurrentY=4000 . 58 T HC VISUAL BASIC 6.0 - PHN 3 2 http://ebooks.vdcmedia.com T HC VISUAL BASIC 6.0 - PHN 3 3 http://ebooks.vdcmedia.com Dùng. này CurrentX =30 00 và CurrentY=4000 thì dòng code tng đng vi: Line (30 00,4000)- (36 00,4500), vbMagenta T HC VISUAL BASIC 6.0 - PHN 3 17 http://ebooks.vdcmedia.com