VISUAL BASIC 5
Sisukord .................................................................................................................................................. 1
Sissejuhatus............................................................................................................................................. 1
1. Objektide
klassid ................................................................................................................................ 2
2.
Programmid VB-s .............................................................................................................................. 2
3.
Keelereeglid ........................................................................................................................................ 2
Funktsioonid......................................................................................................................................... 3 Keelestruktuurid ................................................................................................................................... 5 Objektide omadused ............................................................................................................................. 6
4. Sündmused.......................................................................................................................................... 7
5. Süsteemsed objektid........................................................................................................................... 8
6. Menüüd ............................................................................................................................................... 8
7.
Dialoog programmi kasutajaga........................................................................................................ 9
8. Failid.................................................................................................................................................. 10
9. Objekt-orienteeritus......................................................................................................................... 10
10. Lisaobjektid .................................................................................................................................... 11
11. Programmide levitamine ............................................................................................................... 12
Lisa. Visual Basic 6 uuendused ........................................................................................................... 12
Sissejuhatus
BASIC = Beginners All-
purpose Symbolic Instruction Code
-
kasutajaliidese kujundamine
- objektide omaduste määramine
- programmiteksti kirjutamine
Programmeerija töökeskkond Visual Basicus
Aknad: projektiaken (
Project ) vormiaken (Form) objektiklasside aken (
Toolbox ) omaduste aken (Properties) koodiaken (Code)
Objekt/Objektide klass omadused meetodid sündmused
Sündmusprogrammeerimine (event-driven programming) objekt - tegevus - sündmus
1. Objektide klassid
Vorm - form - Form1- kujundusaken
Pilt -
picture box - Picture1 - kujutis ja/või teised objektid
Tekst - label - Label1 - kuvatav tekst
Andmeväli - text box - Text1 - muudetav andmeväli
Raam -
frame - Frame1 - objektide gruppeerimine
Nupp - command
button - Button1 - tegevuste käivitamine
Lüliti - check box - Check1 - loogikamuutuja väärtus
Raadionupud -
option button - Option1 - alternatiivsed
valikud Kombovalik -
combo box - Combo1 - kombinatsioon valikuloendist ja andmeväljast
Valikuloend - list box - List1 - väärtuse valik loendist
Horisontaalne
kerimisriba - horizontal
scroll bar - HScroll1
Vertikaalne kerimisriba - vertical scroll bar - Vscroll1
Stopper -
timer - Timer1 - aja mõõtmine (nähtamatu objekt)
Kettaseade -
drive list box - Drive1 - kettaseadme valimine
Sisukord - directory list box - Dir1 - sisukorra valimine
Faililoend - file list box - File1 - faili valimine
Kujund -
shape - Shape1 - ristkülikud,
ringid Joon - line - Line1
Pilt - image - Image1 - nupuna käituv pilt
Andmebaas - data -Data1
OLE OLE OLE1
2. Programmid VB-s
vormimoodul (Form
Module )
koodimoodul (Standard Module)
klassimoodul (
Class Module)
deklaratsioonid
alamprogrammid /funktsioonid sündmusprogrammid (seotud objektiga) üldkasutatavad objektide klassi omadusprogrammid (Property)
3. Keelereeglid
Üldiselt: rida - lause
koolon (:) lausete
eraldaja tühik+allkriips (_) lause jätkaja
Kommentaarid peale apostroofi (')
Nimed kuni 255/40 märki (tähed,
numbrid ), pole võtmesõna
Muutujate
deklareerimine Dim/Private/Public [Static] nimi [As andmetüüp] Deklareerimine kohustuslik Option Explicit Muutujate
skoop alamprogrammi tase, mooduli tase , globaalne (Public (Global)) Stringi pikkus - Dim nimi As
String *pikkus
Konstandid
Const nimi [As andmetüüp]=väärtus &O kaheksandsüsteem &H 16-nd süsteem #kuupäev kellaaeg#
Andmetüübid (VarType - andmetüübi küsimine) vaikimisi Variant 0 Empty 1 - Null 2 - Integer % -32768 ... 32767 3 - Long & ~2 miljardit 4 -
Single ! ~-3.4e38 ... 3.4e38 5 - Double # ¨-5d-324 ... 1.8d308 6 -
Currency @ 15+4 kohta 7 -
Date 1.1.1000 ... 31.12.9999 8 - String $ 0 ... 64 K 11 Boolean true/
false 17 Byte 0...255
Massiivid Dim, Static, Public massiivi rajad - LBound, Ubound Alaraja - Option
Base Dim nimi (alaraja To ülaraja) Dünaamilised massiivid - ReDim, ReDim Preserve ReDim Preserve a(Ubound(a)+1)
Struktuurid Variant-tüüpi
massiiv Type nimi struktuurielemendid End Type
Alamprogrammid Private/Public [Static] Sub nimi(argumendid) End Sub Sündmusprogrammi nimi - objekt_sündmus Väljakutsumine nimi argumendid
Call nimi(argumendid)
Funktsioonid nimi(argumendid) [As tüüp] Väljakutsumine
avaldis , nimi, Call
Argumendid ByRef (vaikimisi), ByVal valikulised
Optional , valikuliselt väärtustatavad massiivid ParamArray nimelised nimi:=väärtus
Funktsioonid
Teisendusfunktsioonid
CBool, CByte
CDate (CVDate)
CInt, CLng, CSng, CDbl
CStr, Format
CVar, CDec
Asc, Chr
Hex, Oct Tüübifunktsioonid
VarType
IsNumeric, IsDate, IsEmpty, IsNull
IsArray, IsObject
IsError, IsMissing
Ajafunktsioonid
Now, Date, Time
Day,
Year , Month,
Hour , Minute, Second
Weekday
DateAdd, DateDiff
DateSerial, DateValue
Stringifunktsioonid
Len
Mid,
Left , Right
Trim , LTrim, RTrim
LCase, UCase
Matemaatikafunktsioonid
Abs, Sqr, Int, Fix,
Exp, Log
Rnd
trigonomeetriaFinantsfunktsioonid
FV, Pmt,
Rate SLN, SYD, DDB
Massiiv
Array
LBound, UBound
Failifunktsioonid
EOF,LOF,
FileLen , FileDateTime
CurDir
Input,
SeekVärvid
RGB, QBColor
Dialoog
InputBox, MsgBox
Keelestruktuurid
Valikud * If tingimus Then tegevus * If tingimus Then tegevus(ed) End If * If tingimus1 Then tegevus(ed)1
ElseIf tingimus2 Then ... End If
Select Case avaldis Case väärtus1 tegevus(ed)1 Case väärtus2 ... End Select
Kordused Do
While tingimus Do korduv tegevus korduv tegevus
Loop Loop While tingimus
Do
Until tingimus Do korduv tegevus korduv tegevus Loop Loop Until tingimus
For
muutuja =algväärtus To lõppväärtus Step samm korduv tegevus Next muutuja
For Each muutuja In hulk/massiiv
Väljumine
Exit : Exit For, Exit Do, Exit Sub, Exit Function
Suunamine - GoTo
Mooduli lõpp End
Objektid
Objekti nimi [nurksulgudes]
Objekti omadus - objekt.omadus
Vaikimisi omadus kombovalikul, valikuloendil - Text Lülitil -
Value Faili loendil - FileName jne
Teise vormi objekt - vorm!objekt.omadus
Dim /Private/Public [Static] viitmuutuja As [New] objektitüüp New - uue vormi loomine
Objektitüübid: üldised: As Form -
suvaline vorm As
Control - suvaline objekt määratletud: As vorminimi - teatud vorm As TextBox, As CommandButton jne
Vormi
automaatne deklareerimine. Dim Form1 As New Form1
Viitade massiiv: Dim nimi(rajad) As Control
Viidatava objekti tüübi määramine: If TypeOf muutuja Is objektitüüp Then ...
viitmuutuja väärtustamine: Set viitmuutuja=[New] objekt/ vorm
Nothing Objekt Me Objektide võrdlemine: If viitmuutuja1 Is viitmuutuja2 If Not (viitmuutuja1 Is viitmuutuja2) If muutuja Is Nothing
Vormide hulk:
Forms Forms.
Count , Forms(i)
Objektide hulk: Controls vorm.Controls.Count, vorm.Controls(i)
Objektide omadused
Nimi - Name
Omaduste grupid (Properties/Categorized)
Välimus (Appearence) värvid - ForeColor, BackColor, FillColor, BorderColor Palette/System raam BorderStyle, BorderWidth pilt Picture, Palette, AutoSize lisaefektid Appearence(3D) , FillStyle, FontTransparent kuvatav tekst
Caption , HideSelection alamtüüp Style, Shape
Käitumine
Behavior nähtav
Visible aktiivne Enabled
kuvamine - AutoRedraw, ClipControls, DrawMode, DrawStyle, DrawWidth MultiLine, RightToLeft redigeerimine MaxLenght, Locked hiirega teisaldamine - MousePointer, DragMode, DragIcon tabulatsioon TabStop, TabIndex järjestus Sorted kerimisribad - ScrollBars OLE - OleDropMode
Andmeallikas Data DataSource, DataField
Andmevahetus - DDE LinkMode, LinkTopic, LinkItem, LinkTimeout
Kirjastiil Font stiili määramine dialoogiaken Font: FontName, FontSize + lisaefektid
Loend List loendielemendi tekstid List loendielemendi väärtused -ListData
Muud omadused Misc väärtus - Value lipik Tag indeks Index
hiir MouseIcon, MousePointer abiinfo ToolTipYext, HelpContextID tekst Text, PasswordChar, WordWrap valik MultiSelect failide valik Pattern, Hidden, ReadOnly, System
intervall Interval
kerimine Min, Max, SmallChange, LargeChange
Asukoht Position objekti asukoht - Top, Left objekti mõõtmed -
Width ,
Height koordinaadid X1, Y1, X2, Y2 (
joonel )
Mõõtskaala
Scale mõõtühiku valik ScaleMode (twip/pixel/mm ...)
4. Sündmused
Tüüpsündmused: Form_Load Picture1_Click Label1_Click Text1_Change Frame1_DragDrop Command1_Click Check1_Click Option1_Click Combo1_Change List1_Click Hscroll1/Vscroll1_Change Timer1_Timer Drive1_Change Dir1_Change File1_Click Image1_Click Data1_Validate OLE1_Updated
Fookusega seotud: GotFocus, LostFocus
Hiiresündmused: madalama taseme sündmused: MouseDown, MouseUp, MouseMove Hiirenupp Button (integer): M-R-L: Vasak=1, Parem=2, Keskmine=4, nende kombinatsioonid Lisaklahv
Shift (integer) - Alt-
Ctrl -Shift: Shift=1, Ctrl=2, Alt=4, nende kombinatsioonid näiteks: If Shift And 2 ... ' Ctrl X, Y (single) - hiirekursori koordinaadid antud objekti suhtes kõrgema taseme sündmused: Click, DblClick
Klahvisündmused: KeyDown, KeyUp KeyCode klahvi kood KeyPress KeyAscii klahvi
ASCII kood Asc, Chr funktsioonid
Nihutamine /teisaldamine: DragOver, DragDrop teisaldatav objekt - source,
sihtkoht target Source.TypeOf - teisaldatava objekti tüüp olek state: 0 Enter, 1 Leave, 2 - Over Meetod
Drag , parameeter 0=tühistamine, 1=start, 2=
stopp Meetod
Move X,Y
5. Süsteemsed objektid
Debug meetodid:
Print , Assert (tingimuslik peatamine)
Screen omadused: ActiveForm, ActiveControl, FontCount, Fonts, Height, Width, MouseIcon, MousePointer, TwipsPerPixelX/Y
Print omadused: värvid, fondid, lehekülje määrangud, printeri määrangud meetodid:
graafilised meetodid, PaintPicture, NewPage, EndDoc, KillDoc
App programmi omadused
CommonDialog meetodid: ShowOpen, ShowSave, ShowColor, ShowFont, ShowPrinter, ShowHelp
Clipboard meetodid: GetText, SetText, GetData, SetData, GetFormat,
ClearSisu kopeerimine sõltuvalt andmetest:
Sub m_paste_Click() If TypeOf Screen.ActiveControl is TextBox Then Screen.ActiveControl.SelText=Clipboard.GetText() ElseIf TypeOf Screen.ActiveControl is PictureBox Then Screen.ActiveControl.Picture=Clipboard.GetData() Else ...
End Sub
6. Menüüd
Tools -Menu
Editor võtmesõna (Caption) - joon, &täht nimi (Name) indeks (Index)
kiirklahv (Shortcut) abiinfo (HelpContextID) lüliti (Checked - True|False) valitav (Enabled - T|F) nähtav (Visible - T|F) tase (nooled)
Pop-up (hüpik)-menüü kirjaldamisel Visible=False PopupMenu nimi [paigutus] Menüü
aktiveerimine parema hiireklahviga:
Sub Form_Mouseup(Button as Integer) If Button=2 Then PopupMenu nimi End If
End Sub
DÜNAAMILISED MENÜÜD
Menüü elementide massiiv (Omadus Index) Uue menüüelemendi lisamine
Load vorm.menüüelement(indeks) kustutamine Unload vorm.menüüelement(indeks)
SÜNDMUSTELE REAGEERIMINE
funktsioon DoEvents
DÜNAAMILISED OBJEKTID
Objektide massiiv Load, Unload
7. Dialoog programmi kasutajaga
Funktsioon InputBox väärtus
sisestus (tekstina)
parameetrid küsimus[,akna nimi, vaikimisi väärtus, asukoht, abiinfo] nupud OK, Cancel
Funktsioon MsgBox väärtus vajutatud nupu kood parameetrid tekst [,nupud, akna nimi, abiinfo] nupud vbMsgBoxStyle: vbOKOnly, vbCritical, vbAbortRetryIgnore, ... ikooni valik vaikimisi nupp - OK
Süsteemsed
dialoogid CommonDialog
Dialoogiakna loomine Uus vorm (project Add Form) BorderStyle=1 või 3 ControlBox=False MaxButton, MinButton=False vorm.Show vbModal omadused Default (klahv Enter), Cancel (klahv Esc)
8. Failid
Jadafail (Sequential) tekstifail
Otsepöördusfail (
Random ) fikseeritud pikkusega kirje Type ... End Type
Kahendfail (
Binary ) As Byte
Faili number FreeFile Faili
avamine Open failinimi For Input | Output | Append | Random | Binary As #n Len=kirjepikkus
Faili
sulgemine Close #n
Failist lugemine Input Input #n, andmed Line Input Get Get #n, kirjenumber, kirje
Faili lõpp EOF Do While Not EOF(n)
Faili kirjutamine Print #n, andmed Write #n, andmed - eraldajad Put #n, kirjenumber, kirje
Faili pikkus LOF
Objekt Data
Seos andmebaasiga
Omadused: Connect andmebaasisüsteem (vaikimisi Access) DatabaseName andmebaasi nimi RecordSource tabeli nimi EOFAction tegevus faili lõpus
Andmeid
esitavad objektid (Data-
Bound )
Omadused: DataSource Data-objekti nimi DataField andmeelemendi nimi
9. Objekt-orienteeritus
Kapseldamine (Encapsulation) Private/Public/Friend Property
Pärimine (Inheritance) omaduste/meetodite lisamine baasklassi ühe klassi objekt teises klassis
abstraktne klass klassi
liides (interface) omadused, meetodid Implements abstraktne klass Private Property Get+Let abstraktne_omadus Private Sub abstraktne_meetod
Polümorfism samanimelised meetodid programmi valik sõltuvalt objekti tüübist objekti tüübi määramine varajane/
hiline seostamine - early/
late binding
10. Lisaobjektid
File New Project VB Professional
Edition Controls
Project - Components
Failid laiendiga ocx
Dialoogiaknad CommonDialog
Standardobjektide täiendused Kerimisribade analoogid (Min-Max-Value): Slider UpDown ProgressBar Täiendatud sisestusväljad: RichTextBox MaskEdBox Mask
Andmebaasiga seotud objektid Andmebaasi objekt Data DataBaseName, RecordSource DBList DBCombo RowSource, ListField DBGrid DataSource
Tabel MSFlexGrid Rows/Cols Row/Col/Text
Graafika MSChart chartType RowCount/ColumnCount Row/
Column Data
Andmevaated TreeView objektide Node hulk ListView ListItems ImageList - ListImage
Töökeskkonnaga seotud objektid SSTab Tabs lehekülgede arv TabStrip StatusBar Objektide Panel hulk Toolbar Objektide Button hulk
Süsteemiinfo SysInfo Kommunikatsioon Inet, Winsock, MSComm, MAPISession, MAPIMessages, MMControl, PictureClip
11. Programmide levitamine
Lähtetekst (projekt, failid)
Kompileeritud programm Make projekt.EXE
Installeeritav programm Setup
Lisa. Visual Basic 6 uuendused
Andmebaasid ADO ActiveX Data
Object Internet DHTML IIS Interneti rakendused
Objektitüübid DB > Data ADODC DataBindings Aeg/kalender MonthView, DTPicker Ikoonimenüü - CoolBar Kerimisriba FlatScrollBar Hierarhilised
tabelid MSHFlexGrip Ikoonikombo
Keeleuuendused Funktsioonide parameetrid Stringi-, ajafunktsioonid
Kõik kommentaarid