Visual簊ic lekacje


Visual Basic

Visual Basic - Jest to j臋zyk programowania wysokiego poziomu do tworzenia aplikacji w systemie Windows opracowany przez Microsoft. Visual Basic jest bardzo 艂atwy w obs艂udze mimo, i偶 posiada zaawansowane mo偶liwo艣ci. Dzi臋ki temu sta艂 si臋 bardzo popularnym j臋zykiem u偶ywanym do tworzenia aplikacji do systemu Windows. Wiele program贸w firmy Microsoft (np.Word) zawiera j臋zyk makroinstrukcji (ang. Visual Basic for Applications), kt贸ry jest uproszczon膮 wersj膮 j臋zyka Visual Basic.

聽Ca艂y kurs mo偶na 艣ci膮gn膮膰 tutaj kurs.zip (87KB)

W tym dziale zajmiemy si臋 opisem i sk艂adni膮 j臋zyka Visual Basic. Om贸wimy tu u偶ycie p臋tli, instrukcji warunkowych, obs艂ug臋 kontrolek i menu, zmienne i operatory.聽聽聽聽聽

(wszystkie zawarte w tym dziale przyk艂ady mo偶na 艣ci膮gn膮膰 tak偶e w dziale Download)

Lekcja1 - Podstawy

"Hello World" - podstawy Visual Basica oraz obs艂uga okien dialogowych

Jak zwykle to bywa nasz膮 nauk臋 j臋zyka zaczniemy od napisania prostego programu "Hello World!". Na pocz膮tku uruchom program Visual Basic, w otwartym oknie "New Project" wybierz ikonk臋 "Standard Exe" i naci艣nij Otw贸rz. W samym 艣rodku okna ujrzysz szary prostok膮t zatytu艂owany "Form1" zape艂niony czarnymi, r贸wno rozmieszczonymi kropkami - b臋d膮 ci one u艂atwia艂y rozmieszczanie obiekt贸w wewn膮trz formy. Naci艣nij teraz przycisk przypominaj膮cy niebieski tr贸jk膮t umieszczony po艣rodku g贸rnej cz臋艣ci okna. Powiniene艣 zobaczy膰 teraz nast臋pny szary prostok膮t, tylko teraz ju偶 z czyst膮 szar膮 powierzchni膮. Gratulacje w艂a艣nie stworzy艂e艣 sw贸j pierwszy program w j臋zyku Visual Basic! Mamy teraz jedynie ma艂y k艂opot - ten program nie wykonuje na razie 偶adnej czynno艣ci opr贸cz pokazywania pustej formy na twoim monitorze, mamy zamiar to zmieni膰. Wy艂膮cz program klikaj膮c na krzy偶yk wewn膮trz twojego programu lub na niebieski kwadrat w 艣rodowisku Visual Basica (tr贸jk膮t, dwa prostok膮ciki i kwadrat - identycznie jak w odtwarzaczu CD!). Wr贸ci艂e艣 zn贸w do trybu projektowania. Aby doda膰 do formy przycisk dwukrotnie kliknij w tabelce po lewej stronie ikonk臋 zatytu艂owan膮 "CommandButton" ( nazwa pojawi si臋 po najechaniu i chwilowym przytrzymaniu kursora myszki nad dan膮 ikonk膮). Visual Basic automatycznie umie艣ci przycisk w 艣rodku twojego programu i nada mu nazw臋 i nag艂贸wek "Command1" (nazwy (Name)聽 b臋dziemy u偶ywa膰 do odwo艂ywania si臋 do obiektu podczas pisania programu, natomiast nag艂贸wek (Caption) b臋dzie widoczny na przycisku w postaci napisu). Teraz kliknij raz na nowo powsta艂y obiekt aby si臋 pod艣wietli艂, nast臋pnie w oknie "Properties" po prawej stronie odszukaj pola "Caption" i zmie艅 jego domy艣ln膮 warto艣膰 (Command1) na "Hello". Zobaczysz teraz 偶e tak偶e na przycisku zmieni艂 si臋 napis. zabierzmy si臋 teraz za w艂a艣ciw膮 cz臋艣膰 programowania, a mianowicie za pisanie kodu. Kliknij dwukrotnie na utworzony przed chwil膮 przycisk. Wy艣wietli ci si臋 tym razem bia艂e okno z takim tekstem:

Private Sub Command1_Click()

End Sub

Kod wpisujemy pomi臋dzy pierwsz膮 a trzeci膮 linijk膮 ("Private Sub" a "End Sub"). Aby nasz program zacz膮艂 co艣 robi膰 wpisz ten kod, wci艣nij "Start" (niebieski tr贸jk膮cik) i naci艣nij przycisk w formie:

MsgBox "Hello World!", vbInformation + vbOKOnly, "M贸j Pierwszy program"

I co zadowolony z siebie? Mam nadziej臋, 偶e tak bo oto ruszy艂e艣 ko艂o, kt贸remu mo偶esz pozwoli膰 si臋 toczy膰, aby poci膮g艂o ci臋 dalej w 艣wiat programowania, albo zatrzyma膰 i unikn膮膰 niejednokrotnego upadku i st艂uczenia. Je艣li wszystko posz艂o zgodnie z planem to ujrza艂e艣 zapewne okienko dialogowe w kt贸rym zosta艂 wy艣wietlony tekst "Hello World" ( Je艣li nie to zamiast poprzedniego kodu wpisz tylko to: MsgBox "Hello World!"). A teraz om贸wimy po kolei co oznaczaj膮 poszczeg贸lne cz臋艣ci:

Cz臋艣膰 druga podstaw Visual Basica - opis i obs艂uga w艂a艣ciwo艣ci kontrolek i form

0x01 graphic

Oznaczenia:

  1. Okno do edycji formy (ang.Form window)

  2. Prze艂膮cza wska藕nik myszy w tryb zaznaczania obiekt贸w

  3. Rysunek (PictureBox)

  4. Etykieta (Label)

  5. Pole tekstowe (TextBox)

  6. Ramka (Frame)

  7. Przycisk (CommandButton)

  8. Pole zaznaczenia (CheckBox)

  9. Pole wyboru (OptionBotton)

  10. Lista (ListBox)

  11. Pole kombi (ComboBox)

  12. Pionowy pasek przewijania (Horizontial scrollbar)

  13. Poziomy pasek przewijania (Vertical scrollbar)

  14. Lista dysk贸w (DriveListBox)

  15. Zegar (Timer)

  16. Lista plik贸w (FileListBox)

  17. Lista katalog贸w (DirListBox)

  18. Linia (Line)

  19. Kszta艂t (Shape)

  20. Obrazek (Image)

  21. 殴r贸d艂o danych (Data)

  22. Pojemnik OLE

  23. Okno projektu (ang. Project window)

  24. Okno w艂a艣ciwo艣ci (ang.Properties window)

  25. Okno okre艣laj膮ce uk艂ad formatki (ang.Form layout window)

  26. Menu uruchamiania programu

  27. Menu wraz ze standardowym paskiem narz臋dzi

Forma -opis w艂a艣ciwo艣ci ustawianych przy starcie programu w oknie "Properties" :

Forma

W艂a艣ciwo艣膰

Opis

Name

Okre艣la nazw臋 formy do kt贸rej mo偶emy si臋 odwo艂a膰 podczas pisania kodu

Apperance

-

AutoRedraw

Warto艣膰 ta ustawiona na True powoduje, 偶e okno co jaki艣 czas jest automatycznie od艣wie偶ane

Backcolor

Okre艣la kolor t艂a formy

BorderStyle

Mo偶emy tutaj ustawi膰 styl wy艣wietlania okna (np. czy ma si臋 rozszerza膰, lub jak ma wygl膮da膰)

Caption

Napis wy艣wietlany na uchwycie formy

ClipControls

-

ControlBox

Warto艣膰 ustawiona na True pozwala na wy艣wietlanie przycisk贸w minimalizuj, maksymalizuj i zamknij na uchwycie聽聽

DrawMode

-

DrawStyle

-

DrawWidth

-

Enabled

M贸wi kompilatorowi, czy forma jest aktywna, czy nieaktywna

FillColor

Kolor u偶ywany do wype艂niania figur wyrysowanych w formie聽

FillStyle

Jest to styl wype艂niania figur (kreski, krzy偶yki)

Font

S膮 to ustawienia dotycz膮ce wielko艣ci i rodzaju czcionki

FontTransparent

Ustawiaj膮c t臋 warto艣膰 na True powodujemy, 偶e t艂o pod napisami i obrazkami nie jest wy艣wietlane

ForeColor

Jest to kolor t艂a pod tekstem i obrazkami

HasDC

Height

Jest to wysoko艣膰 Okna

HelpContextID

Jest to numer identyfikacyjny obiektu przypisany do pliku pomocy

Icon

Jest to ikona wy艣wietlana na uchwycie okna

KeyPreview

Je偶eli ta warto艣膰 jest ustawiona na True, to forma przechwytuje wszystkie znaki wprowadzane z klawiatury

Left

Odleg艂o艣膰 lewej kraw臋dzi okna od lewej kraw臋dzi ekranu

LinkMode

-

LinkTopic

-

MaxButton

Ustala, czy jest aktywny przycisk maksymalizacji

MDIChild

M贸wi kompilatorowi, czy forma jest wy艣wietlana jako "potomne" (wewn膮trz innego)

MinButton

Ustala, czy jest aktywny przycisk minimalizacji

MouseIcon

Kursor myszy wy艣wietlany nad oknem (dzia艂a tylko wtedy, gdy w艂a艣ciwo艣膰 MousePointer jest ustawiona na 99)

MousePointer

Rodzaje kursor贸w systemowych ukazuj膮cych si臋 po najechaniu na przycisk

Movelable

Warto艣膰 ta ustawiona na False powoduje, 偶e nikt 偶adn膮 si艂膮 nie ruszy ju偶 tego okna聽

NegotiateMenus

-

OleDropMode

-

Pallete

-

PalleteMode

-

Picture

Obrazek wy艣wietlany w oknie jako t艂o

RightToLeft

Ustawione na True wy艣wietla litery wspak聽聽

ScaleHeight

Jest to liczba jednostek (w zale偶no艣ci od ScaleMode) wysoko艣ci okna

ScaleLeft

Jest to liczba jednostek wsp贸艂rz臋dnych dla lewej kraw臋dzi okna

ScaleMode

Okre艣lamy tu jednostki w jakich podajemy wymiary

ScaleTop

Jest to liczba jednostek wsp贸艂rz臋dnych dla g贸rnej kraw臋dzi okna

ScaleWidth

Jest to liczba jednostek szeroko艣ci okna

ShowInTaskbar

Je艣li ustawimy t膮 warto艣膰 na True, to program b臋dzie reprezentowany na Windowsowym pasku zada艅聽

StartupPosition

Ustawiamy tu w jakim miejscu ekranu ma pojawi膰 si臋 okno

Tag

Jest to pewnego rodzaju zbiornik przechowuj膮cy dane

Top

Jest to odleg艂o艣膰 g贸rnej kraw臋dzi okna od g贸rnej kraw臋dzi ekranu

Visible

Jest to w艂a艣ciwo艣膰 m贸wi膮ca kompilatorowi, czy okno ma by膰 widoczne, czy nie

WhatsThisButton

-

WhatsThisHelp

-

Width

Jest to szeroko艣膰 okna

WindowState

Okre艣la, czy okno przy starcie ma by膰 normalnej wielko艣ci, zminimalizowane, czy zmaksymalizowane聽

CommandButton - opis w艂a艣ciwo艣ci ustawianych przy starcie programu w oknie "Properties":

CommandButton

W艂a艣ciwo艣膰

Opis

Name

Okre艣la nazw臋 przycisku (kontrolki) do kt贸rej mo偶emy si臋 odwo艂a膰 podczas pisania kodu

Apperance

-

Backcolor

Okre艣la kolor t艂a przycisku (dzia艂a tylko wtedy, gdy w艂a艣ciwo艣膰 Style jest ustawiona na 1)

Cancel

-

Caption

Napis wy艣wietlany na przycisku

CausesValidation

-

Default

Je艣li ta warto艣膰 jest ustawiona na True to za ka偶dym razem, gdy zostanie wci艣ni臋ty Enter program wykona zdarzenie Click przycisku (czyli tak jakby kto艣 klikn膮艂 na ten przycisk)聽聽

DisabledPicture

Ta w艂a艣ciwo艣膰 m贸wi jaki ma by膰 pokazany obrazek na przycisku, kiedy jego w艂a艣ciwo艣膰 Enabled jest ustawiona na False

DownPicture

Ta w艂a艣ciwo艣膰 m贸wi jaki ma by膰 pokazany obrazek na przycisku, kiedy u偶ytkownik na niego kliknie (w chwili przytrzymania przycisku)

DragIcon

Jest to ikona wy艣wietlana zamiast wska藕nika, kiedy u偶ytkownik "podniesie" przycisk (w艂a艣ciwo艣膰 DragMode musi by膰 ustawiona na 1)

DragMode

Okre艣la tryb podnoszenia przycisku

Enabled

M贸wi kompilatorowi, czy przycisk jest aktywny, czy nieaktywny

Font

S膮 to ustawienia dotycz膮ce wielko艣ci i rodzaju czcionki

Height

Jest to wysoko艣膰 przycisku

HelpContextID

-

Index

Jest to numer indeksu u偶ywany w tablicach kontrolek (aby rozr贸偶ni膰 poszczeg贸lne przyciski wtedy gdy maj膮 jednakowe nazwy)

Left

Odleg艂o艣膰 lewej kraw臋dzi przycisku od lewej kraw臋dzi okna

MaskColor

-

MouseIcon

Kursor myszy wy艣wietlany nad przyciskiem (dzia艂a tylko wtedy, gdy w艂a艣ciwo艣膰 MousePointer jest ustawiona na 99)

MousePointer

Rodzaje kursor贸w systemowych ukazuj膮cych si臋 po najechaniu na przycisk

OleDropMode

-

Picture

Obrazek wy艣wietlany na przycisku jako t艂o

RightToLeft

-

Style

Styl wy艣wietlania przycisku - standardowy lub graficzny

TabIndex

Numer przycisku okre艣laj膮cy kt贸ry w kolejno艣ci ma si臋 pod艣wietli膰 po wci艣ni臋ciu tabulatora (dzia艂a tylko wtedy, gdy w艂a艣ciwo艣膰 TabStop jest ustawiona na True)

TabStop

Okre艣la czy po naci艣ni臋ciu tabulatora przycisk ma si臋 pod艣wietla膰

Tag

Jest to pewnego rodzaju zbiornik przechowuj膮cy dane

ToolTipText

Tekst wy艣wietlany pod wska藕nikiem myszy po najechaniu nad przycisk

Top

Jest to odleg艂o艣膰 g贸rnej kraw臋dzi przycisku od g贸rnej kraw臋dzi okna

UseMaskColor

-

Visible

Jest to w艂a艣ciwo艣膰 m贸wi膮ca kompilatorowi, czy przycisk ma by膰 widoczny, czy nie

WhatsThisHelpID

-

Width

Jest to szeroko艣膰 przycisku

聽W艂a艣ciwo艣ci pozosta艂ych obiekt贸w b臋d膮 r贸偶ni艂y si臋 tylko kilkoma podpunktami, kt贸re opisz臋 w dalszych lekcjach, wi臋c nie ma sensu omawia膰 ich w nowych tabelach. A teraz zapraszam na dalsz膮 cz臋艣膰 kursu:

Lekcja2 - Pisanie kodu, obs艂uga menu i zmienne

Programowanie w j臋zyku Visual Basic nie jest tak trudn膮 rzecz膮 jak mog艂oby si臋 to wydawa膰. Jak sama nazwa wskazuje jest to j臋zyk 艂atwy (ang. Basic) a posiadaj膮cy du偶e mo偶liwo艣ci, co sprawia, 偶e praca z nim to prawdziwa przyjemno艣膰. Efekty uzyskiwane za pomoc膮 tego j臋zyka s膮 czasem naprawd臋 bardzo imponuj膮ce a zrobione z minimalnym nak艂adem pracy, przez co coraz wi臋cej ludzi i co najwa偶niejsze szk贸艂 decyduje si臋 na nauk臋 tego j臋zyka.聽

"Zmienne nastroje" - obs艂uga obiekt贸w poprzez kod

Aby nauczy膰 si臋 obs艂ugiwa膰 obiekty i kontrolki za pomoc膮 kodu, to nast臋pn膮 lekcj臋 zaczniemy od napisania prostego programu pt.: "Zmienne nastroje". B臋dziemy w niej klika膰 na kolejne przyciski patrz膮c jak zmienia si臋 nastr贸j pana Kowalskiego. Na pocz膮tku utw贸rz pust膮 form臋 i umie艣膰 na niej cztery przyciski wzd艂u偶 dolnej kraw臋dzi okna ( przyciski rozmieszcza si臋 trzymaj膮c wci艣ni臋ty na nich przycisk myszki i poruszaj膮c kursorem) oraz dwie kontrolki Label gdzie艣 mniej wi臋cej po 艣rodku. W oknie w艂a艣ciwo艣ci (Properties) ustaw nast臋puj膮ce w艂a艣ciwo艣ci obiekt贸w:

-

Name

Caption

Visible

Command1

cmdb藕le

bardzo 藕le

True

Command2

cmd藕le

藕le

True

Command3

cmddobrze

dobrze

True

Command4

cmdbdobrze

bardzo dobrze

True

Label1

lblcojest

Dzi艣 s膮 urodziny Pana Kowalskiego i ...

True

Label2

lbldane

Pan Kowalski czuje si臋

False

Je艣li ju偶 wszystko zrobi艂e艣 jak nale偶y mo偶esz wzi膮膰 si臋 za pisanie kodu, kt贸ry b臋dzie wygl膮da艂 nast臋puj膮co ( oczywi艣cie kod wpisany pomi臋dzy Private Sub xxxxxx_Click() a End Sub jest to kod wywo艂any w wyniku klikni臋cia na przycisk i je艣li podczas tworzenia projektu dwukrotnie klikniemy na dany przycisk wystarczy, 偶e wstawimy kod zawarty pomi臋dzy tymi dwoma linijkami) :

Private Sub cmdbdobrze_Click()
lblcojest.Caption = lbldane.Caption & " " & cmdbdobrze.Caption & "."
End Sub

Private Sub cmddobrze_Click()
lblcojest.Caption = lbldane.Caption & " " & cmddobrze.Caption & "."
End Sub

Private Sub cmdwspaniale_Click()
lblcojest.Caption = lbldane.Caption & " " & cmdwspaniale.Caption & "!"
End Sub

Private Sub cmd藕le_Click()
lblcojest.Caption = lbldane.Caption & " " & cmd藕le.Caption & "!"
End Sub

聽Je艣li wpisa艂e艣 ju偶 ten kod, to mo偶esz wreszcie podziwia膰 wyniki swojej pracy i uruchomi膰 program (je艣li wyst膮pi jaki艣 b艂膮d przy pr贸bie uruchomienia , sprawd藕 czy nie pope艂ni艂e艣 偶adnego b艂臋du) . A teraz we藕my si臋 za om贸wienie kodu. Nie b臋d臋 omawia艂 zdarze艅 klikni臋cia ka偶dego z tych przycisk贸w, poniewa偶 je艣li dok艂adnie przejrza艂e艣 kod, to z pewno艣ci膮 zd膮偶y艂e艣 ju偶 zauwa偶y膰, 偶e we wszystkich przypadkach jest on podobny, r贸偶ni si臋 jedynie warto艣ciami. A teraz do dzie艂a (Jest to pierwsze zdarzenie, czyli klikni臋cie na przycisk cmdbdobrze):

lblcojest.Caption = - Pewnie ju偶 wiesz, 偶e lblcojest oznacza jakie艣 odwo艂anie do tej kontrolki, ale co mo偶e znaczy膰 ta kropka, a potem ten znak r贸wno艣ci? Ju偶 wszystko wyja艣niam - kropka oznacza, 偶e odwo艂ujesz si臋 do w艂a艣ciwo艣ci Caption kontrolki lblcojest, a dok艂adniej bior膮c pod uwag臋 jeszcze znak r贸wno艣ci na ko艅cu, to przypisujesz w艂a艣ciwo艣ci Caption kontrolki lblcojest warto艣膰 kt贸ra znajduje si臋 po znaku r贸wno艣ci. Chyba troch臋 to zawi艂e co? No ale niestety takie jest programowanie i nic na to nie zdo艂am poradzi膰, ale nie poddawaj si臋, przeczytaj to jeszcze raz i spr贸buj sam pobawi膰 si臋 w takie przypisywanie (Ach! bym nied艂ugo zapomnia艂 np. przypisuj膮c nag艂贸wkowi kontrolki jaki艣 tekst (nie nazw臋 innej kontrolki czy wcze艣niej zapisan膮 dan膮) pami臋taj o umieszczeniu go w cudzys艂owie np. Command1.Caption = "Dzi艣 jest 艂adna pogoda")

lbldane.Caption & " " - Je偶eli znajduje si臋 po np. lblcojest.Caption i聽 znaku r贸wno艣ci to zmienia warto艣膰 nag艂贸wka danej kontrolki na warto艣膰 nag艂贸wka lbldane i znak pustego miejsca ( Operator & s艂u偶y do 艂膮czenia 艂a艅cuch贸w np. je艣li mamy dane dwa 艂a艅cuchy "Piotr " i "pisze program" to po po艂膮czeniu ich operatorem & uzyskamy wynik "Piotr pisze program")

& cmdbdobrze.Caption & "." - To samo co poprzednio, tyle 偶e na ko艅cu zamiast znaku spacji dodaje wykrzyknik

I co chyba ta lekcja nie by艂a zbyt trudna? A mo偶e zastanawia ci臋 jeszcze dlaczego wszystkim przyciskom nadawa艂em nazwy zaczynaj膮ce si臋 od cmd, a wszystkim etykietom od lbl. Ot贸偶 jest to do艣膰 dobra zasada przyj臋ta przez programist贸w i stosowana na ca艂ym 艣wiecie. I cho膰 teraz wydaje ci si臋 ona zapewne bezsensowna to warto j膮 zacz膮膰 stosowa膰 ju偶 teraz poniewa偶 w dalszym stopniu zaawansowania bardzo si臋 ona przydaje. A teraz podam nazewnictwo innych podstawowych obiekt贸w Visual Basica:

Nazwa

Skr贸t

Nazwa

Skr贸t

PictureBox

pic

Timer

tmr

Label

lbl

DriveListBox

drv

TextBox

txt

DirListBox

dir

Frame

frm

FileListBox

fil

CommandButton

cmd

Shape

shp

CheckBox

chk

Line

lin

OptionButton

opt

Image

img

ComboBox

cbo

Data

dat

ListBox

lst

OLE

ole

HScrollBar

hsb

Form (forma)

frm

VScrollBar

vsb

Menu

mnu

"Czas to pieni膮dz, a pieni膮dz to czas" - tworzenie i obs艂uga menu

A teraz aby przybli偶y膰 wam obs艂ug臋 menu (tak, to w艂a艣nie to menu kt贸re znajduje si臋 u g贸ry okna i przewa偶nie widnieje tam kilka napis贸w jak File ( Plik ) i Edit ( Edycja ) ) zajmiemy si臋 tworzeniem programiku "Czas to pieni膮dz, a pieni膮dz to czas". Stworzymy w nim ma艂e menu za pomoc膮 kt贸rego dowiemy si臋 kt贸ra jest godzina, no i mo偶e jaka jest data. Na pocz膮tku tak jak zwykle trzeba stworzy膰 nowy projekt i doda膰 do niego kilka obiekt贸w. Teraz b臋dzie to tylko Timer s艂u偶膮cy do wyznaczania czasu i kontrolka Label ( Timerowi nadaj w艂a艣ciwo艣膰 Enabled na False, Interval 1000,聽 nazw臋 tmrczas, a Labelce nazw臋 lblpokaz i etykiet臋 Poka偶 czas). Aby doda膰 do programu rozwijalne menu wci艣nij jednocze艣nie Ctrl i E (no zawsze mo偶esz wcisn膮膰 najpierw Ctrl) lub klikaj膮c prawym klawiszem myszki na projekcie wybierz polecenie Menu Editor... . Zapewne ukaza艂o ci si臋 fajne okienko, ale co z nim zrobi膰. Najpierw dodamy menu g艂贸wne. W tym celu w polu Caption wpisz Menu kontroli wy艣wietlacza, a w menu name mnukontrol. Teraz nasza nowopowsta艂a pozycja powinna pojawi膰 si臋 w li艣cie. Aby doda膰 nast臋pne podmenu kliknij przycisk Next i spo艣r贸d czterech strza艂ek, t膮 skierowan膮 w prawo. W pole Caption wpisz Poka偶 czas, a w pole name mnuczas. Aby doda膰 now膮 pozycj臋 oddzielaj膮c膮 czas od daty (odseparowa膰 je) stw贸rz now膮 pozycj臋 (kliknij Next) w pole Caption wpisz -, a w pole Name mnusep. No w ko艅cu ostatnia pozycja. Kliknij Next, W polu Caption wpisz Poka偶 dat臋, a w polu Name mnudata. Wreszcie mo偶esz klikn膮膰 OK i zobaczy膰 swoje menu na 偶ywo. Teraz nadszed艂 czas na dodanie kodu. B臋dzie on wygl膮da艂 nast臋puj膮co:

Private Sub mnuczas_Click()
tmrczas.Enabled = True
lblpokaz.Caption = Time
End Sub

Private Sub mnudata_Click()
tmrczas.Enabled = False
lblpokaz.Caption = Date
End Sub

Private Sub tmrczas_Timer()
lblpokaz.Caption = Time
End Sub

No a teraz nadszed艂 czas na om贸wienie kodu:

tmrczas.Enabled = True - Za pomoc膮 tego polecenia uruchamiamy Timer (tak jak w oknie properties), oznacza to, 偶e Timer b臋dzie wykonywa艂 dane zadanie co taki czas jaki ustawili艣my we w艂a艣ciwo艣ci Interval, czyli w tym przypadku co sekund臋 ( we w艂a艣ciwo艣ci Interval ustawiamy czas z dok艂adno艣ci膮 do 1/1000 sekundy st膮d ta jednostka 1000, cho膰 nie wiem po co zastosowano tak膮 du偶膮 liczb臋 poniewa偶 najmniejszy odst臋p czasu jaki tam mo偶na uzyska膰 to 55/1000 sekundy)

lblpokaz.Caption = Time - Tak jak ju偶 wcze艣niej by艂a ju偶 o tym mowa przypisujemy kontrolce lblpokaz jak膮艣 nazw臋, tylko 偶e tym razem jest to Time ( z ang. czas - jest to wewn臋trzne polecenie Visual Basica wywo艂uj膮ce aktualny czas)

tmrczas.Enabled = False - wy艂膮cza Timer ( przestaje pokazywa膰 czas)

lblpokaz.Caption = Date - Wy艣wietla aktualn膮 dat臋 ( z ang. polecenie Date - data)

lblpokaz.Caption = Time - Wy艣wietla czas w kontrolce lblpokaz tylko, 偶e to zdarzenie znajduje sie teraz w Timerze i wykonywane jest co sekund臋聽

"Pami臋tnik" - Co to jest i do czego s艂u偶膮 zmienne

Zmienna - jest tymczasowym miejscem przechowywania danych w programie, kt贸ra mo偶e zawiera膰 wyrazy lub liczby. Aby przybli偶y膰 ci dzia艂anie zmiennych napiszemy kr贸tki programik o nazwie "Pami臋tnik". Do zrobienia tego programu b臋dzie nam potrzebna kontrolka TextBox i dwa przyciski CommandButton. Ustaw w艂a艣ciwo艣ci obiekt贸w, tak jak pokazano w tabelce:

Obiekt

Name

Caption

Text

Multiline

Text1

txtmemo

-

(puste)

True

Command1

cmdzap

Zapami臋taj

-

-

Command2

cmdpod

Podaj

-

-

A teraz nadszed艂 czas na kod. Oto on:

Dim dane As String

Private Sub cmdpodaj_Click()
txtmemo.Text = dane
End Sub

Private Sub cmdzap_Click()
dane = txtmemo.Text
txtmemo.Text = ""
End Sub

No i co jest co:

Opr贸cz typu String mamy jeszcze inne typy danych, kt贸re mo偶emy zadeklarowa膰 w swoim programie. A oto one:

Typ danych

Rozmiar

Zastosowanie

Integer

2 bajty

do przechowywania liczb

Long Integer

4 bajty

do liczb

Single

4 bajt贸w

do liczb

Double

8 bajt贸w

do liczb

Currency

8 bajt贸w

do liczb (pieni臋dzy)

String

1 bajt na 1 znak

do znak贸w

Boolean

2 bajty

Warto艣膰 logiczna (True lub False)

Date

8 bajt贸w

do przechowywania daty

Variant

16 bajt贸w (dla liczb); 22bajty + 1 bajt na jeden znak (dla 艂a艅cuch贸w)

Do wszystkiego

No, to ju偶 chyba b臋dzie na tyle do tej lekcji. Teraz zapraszam do nast臋pnej w kt贸rej nauczymy si臋 obs艂ugiwa膰 instrukcje warunkowe i p臋tle.

Lekcja3 - Instrukcje warunkowe i p臋tle

Instrukcje warunkowe nie s膮 trudn膮 rzecz膮, cho膰 s膮 bardzo cz臋sto u偶ywane i je艣li masz zamiar dalej programowa膰 w Visual Basicu to ta lekcja b臋dzie dla ciebie bardzo wa偶na. Na instrukcje warunkowe natkniesz si臋 jeszcze prawdopodobnie wiele razy, wiec postaraj si臋 zapami臋ta膰 jak najwi臋cej z tego dzia艂u.

"Jakie znaki w czcionce?" - Poznajemy obs艂ug臋 p臋tli

Tym razem nasz膮 lekcj臋 rozpoczniemy inaczej ni偶 zwykle, bo bez przyk艂adu. Na pocz膮tku om贸wimy dzia艂anie p臋tli For...Next, a dopiero potem napiszemy programik wykorzystuj膮cy t膮 nowo odkryt膮 przez nas technik臋. A wi臋c dzia艂anie p臋tli sprowadza si臋 do wielokrotnego wykonywania tej samej lub r贸偶ni膮cej si臋 pod ustalonym wzgl臋dem czynno艣ci. Je艣li mia艂bym poda膰 "przepis" na p臋tl臋, napisa艂 bym tak (wyrazy zaznaczone na niebiesko, to s艂owa kluczowe p臋tli):

For licznik = start To stop [Step krok]

聽聽聽 Instrukcje

Next [licznik]

A teraz co jest co:

Teraz om贸wi臋 drugi rodzaj p臋tli, a mianowicie p臋tl臋 Do...Loop. Jej sk艂adnia wygl膮da nast臋puj膮co:

Do While (lub Until) warunek

聽聽聽 Instrukcje

Loop

Jak widzisz ta p臋tla jest troch臋 kr贸tsza, ale dzia艂a tak偶e na troch臋 innych zasadach, poniewa偶 wykonuje jak膮艣 czynno艣膰 a偶 si臋 co艣 nie stanie, a tamta odlicza艂a po kolei liczby. A teraz om贸wmy po kolei ka偶d膮 jej cze艣膰:

No i wreszcie mo偶emy wzi膮膰 si臋 za program. B臋dzie on nosi艂 nazw臋 "Jakie znaki w czcionce". Stw贸rz nowy projekt w 艣rodowisku Visual Basic, dodaj do niego jeden przycisk i jedn膮 kontrolk臋 ListBox. Rozmie艣膰 nowopowsta艂e obiekty, tak aby lista zajmowa艂a prawie ca艂e okno, a przycisk zajmowa艂 w膮ski pasek wzd艂u偶 dolnej kraw臋dzi. Ustaw w艂a艣ciwo艣ci obiekt贸w tak jak pokazano w tabeli:

Obiekt

Name

Caption

List

Columns

Command1

cmdgen

Generuj

-

-

List1

lstznaki

-

(puste)

5

A teraz kod. Wpisz go w zdarzenie Click Przycisku cmdgen:

For i = 1 To 255
lstznaki.AddItem i & " - " & Chr(i)
Next

No i nadesz艂a pora na om贸wienie tego przyk艂adu:

For i = 1 To 255 - Jest to typowa p臋tla, kt贸ra odlicza nam od 1 do 255 co da nam w sumie 255 krotne wykonanie instrukcji znajduj膮cej si臋 w tej p臋tli ( dlaczego 255 - bo w ka偶dej czcionce jest 255 znak贸w i o to nam chodzi艂o)

lstznaki.AddItem - dodaje now膮 pozycj臋 do listy o nazwie, kt贸ra znajduje si臋 za tym poleceniem

i & " - " & Chr(i) - jest to nazwa nowej pozycji ( i - jest to numer aktualnie wykonywanej p臋tli; " - " - jest to po prostu my艣lnik; Chr(i) - to jest zapewne dla ciebie nowo艣膰, ale tak w Visual Basicu wyci膮ga si臋 litery ze znak贸w ASCII, wi臋c ten znak oznacza liter臋 ASCII numeru aktualnie wykonywanej p臋tli)

"Gdzie jeste艣" - Poznajemy instrukcje warunkowe, ich dzia艂anie i聽 zastosowanie

I oto nast臋pny dzia艂, kt贸ry zaczniemy bez przyk艂adu. B臋dziemy omawia膰 tutaj instrukcje warunkowe. Je艣li kto艣 ucz臋szcza艂 kiedy艣 na lekcje j臋zyka angielskiego i przerabia艂 na nich Conditionale to zapewne ten dzia艂 wyda mu si臋 znajomy, poniewa偶 wszystkie Conditionale (te z lekcji j臋zyka angielskiego i te w Visual Basicu) maj膮 ze sob膮 wiele wsp贸lnego. W naszym j臋zyku programowania mamy dwa rodzaje instrukcji warunkowych If...Then i Select Case. Na pocz膮tku zajmiemy si臋 t膮 pierwsz膮, zapewne cz臋艣ciej u偶ywan膮 przez programist贸w i podobn膮 do Conditionali. Instrukcj臋 t膮 mo偶na wykonywa膰 na kilka sposob贸w. Pierwszy z nich jest jednolinijkowy i u偶ywany do wykonania tylko jednej czynno艣ci. A oto sk艂adnia tej instrukcji:

If warunek Then polecenie

Gdzie:

聽Drugi to wykonywanie kilku polece艅 w jednej instrukcji warunkowej:

If warunek Then

Polecenie1

Polecenie2

........

End If

Gdzie wszystkie oznaczenia s膮 takie same jak poprzednio, tyle 偶e na ko艅cu dodajemy End If (konieczne!)

Trzeci ju偶 ostatni przypadek, to taki w kt贸rym mamy do spe艂nienia kilka warunk贸w np.

If warunek1 Then

Instrukcje wykonywane gdy spe艂niony jest warunek pierwszy

ElseIf warunek2 Then

Instrukcje wykonywane gdy nie zosta艂 spe艂niony warunek pierwszy, ale jest spe艂niony warunek drugi

Else

Instrukcje wykonywane, gdy nie zosta艂 spe艂niony 偶aden z powy偶szych warunk贸w

End If

No i nie ma w zasadzie ju偶 tu czego t艂umaczy膰, poniewa偶 wszystko zosta艂o opisane ju偶 wcze艣niej.聽聽

No teraz zajmiemy si臋 drugim rodzajem instrukcji warunkowych, a mianowicie Select...Case. Jest ona podobna do serii instrukcji If...Then. Nast臋puj膮ce linijki ukazuj膮 spos贸b jej u偶ycia:

Select聽 Case Jaka艣Warto艣膰

聽聽聽 Case Warto艣c1

聽聽聽 Instrukcja1

聽聽聽 Case Warto艣膰2

聽聽聽 Instrukcja2

End Select

A teraz om贸wmy co jest co:

No i wreszcie nadszed艂 czas na napisanie przyk艂adu z u偶ycie instrukcji warunkowych. B臋dzie to program pt. "Gdzie jeste艣". W programie b臋dziemy przesuwali myszk臋 nad formatk膮, a oczy b臋d膮 si臋 za nami rozgl膮da艂y (tak, tak ten program b臋dzie wymaga艂 od nas narysowania czterech par oczu - jednych skierowanych w d贸艂, jednych w g贸r臋, jednych w lewo i jeszcze jednych w prawo). Na pocz膮tku stw贸rz now膮, du偶膮 formatk臋, na kt贸rej umie艣膰 pi臋膰 obiekt贸w Image a w nich swoje rysunki. Nazwij je kolejno imgup ( oczy skierowane w g贸r臋 ), imgdown ( oczy skierowane w d贸艂 ), imgleft ( oczy skierowane w lewo ), imgright (oczy skierowane w prawo ) i imgcenter (pusty). Wszystkim opr贸cz ostatniego nadaj w艂a艣ciwo艣膰 Visible na False, a tego kt贸rego zostawi艂e艣 umie艣膰 w samym 艣rodku formatki. Teraz nadszed艂 czas na napisanie kodu. Kliknij dwukrotnie na formatk臋. Poka偶e ci si臋 bia艂e pole do edycji tekstu ze zdarzeniem FormLoad Formatki, ale dzisiaj nie b臋dziemy z niego korzysta膰. U g贸ry okna edycji widoczne s膮 dwie rozwijalne listy ( Object i Procedure ). Rozwi艅 teraz t膮 po prawej ( Procedure) i z menu wybierz zdarzenie MouseMove. W polu edycji Visual Basic automatycznie zadeklaruje potrzebne nam zdarzenie, a nam zosta艂o ju偶 tylko wpisa膰 kod. B臋dzie on wygl膮da艂 nast臋puj膮co ( pami臋taj 偶e masz go wpisa膰 w linijk臋 pomi臋dzy Private Sub a End Sub nowopowsta艂ego zdarzenia MouseMove):

If Y < imgcenter.Top And X > imgcenter.Left And X < imgcenter.Left + imgcenter.Width Then
imgcenter.Picture = imgup.Picture
ElseIf Y > imgcenter.Top And X > imgcenter.Left And X < imgcenter.Left + imgcenter.Width Then
imgcenter.Picture = imgdown.Picture
ElseIf X < imgcenter.Left Then
imgcenter.Picture = imgleft.Picture
ElseIf X > imgcenter.Left Then
imgcenter.Picture = imgright.Picture
End If

A teraz po kolei om贸wmy ka偶d膮 linijk臋 kodu:

If Y < imgcenter.Top And X > imgcenter.Left And X < imgcenter.Left + imgcenter.Width Then - jest to najzwyklejsza w 艣wiecie instrukcja warunkowa. Mo偶e ci臋 jedynie dziwi膰 sk膮d si臋 bior膮 te Y i X. Ot贸偶 s膮 zmienne zadeklarowane automatycznie w naszej procedurze, wskazuj膮 one aktualne po艂o偶enie kursora myszki nad form膮. Gdyby przet艂umaczy膰 t膮 linijk臋 na polski, to wygl膮da艂aby ona mniej wi臋cej tak: Je艣li Y jest mniejsze od g贸rnej kraw臋dzi obiektu imgcenter i X jest wi臋ksze od lewej kraw臋dzi imgcenter i X jest mniejsze od lewej kraw臋dzi plus d艂ugo艣ci imgcenter to...

聽imgcenter.Picture = imgup.Picture - przypisuje w艂a艣ciwo艣ci Picture obiektu imgcenter w艂a艣ciwo艣膰 Picture obiektu imgup ( czyli inaczej m贸wi膮c imgcenter pobiera obrazek od imgup

Nast臋pne linijki s膮 podobne do poprzednich wi臋c mam nadziej臋, 偶e sobie sam z nimi poradzisz.

No i to ju偶 chyba b臋dzie na tyle naszego kursu. Mam nadziej臋, 偶e przyniesie on jaki艣 po偶ytek i niejednej osobie przybli偶y programowanie, a w szczeg贸lno艣ci Visual Basic. 呕ycz臋 przyjemnej zabawy!聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Piotr Ska艂ecki聽-http://peterek15.republika.pl



Wyszukiwarka

Podobne podstrony:
Lab 2 Visual Analyser oraz kompresje v2
ASP NET 2 0 Tworzenie witryn internetowych z wykorzystaniem C i Visual Basica aspntw
Visual Basic Przyk艂adowe zadania , Studia i nauka, Visual Basic
lekacja2
Visual1
Programowanie w Visual?sic dla Excel
Lab6, Visual Basic Lab 6a, Visual Basic Lab 3
Leksykon VISUAL BASIC, r00-05, Rozdzia艂 X
MS Visual C 膯wiczenia
Visual Basic Zdarzenia , Studia i nauka, Visual Basic
67 Audio and Visual System
adudczak visualvm
Visual 5
Visualization Exercises
Visual3
visual methodologies chapter4 content analysis pages 1 5

wi臋cej podobnych podstron