Magazyn komputerowy PTiKuś
www.ptik.ivg.pl
#2 - Listopad

Kurs Visual Basic

Witajcie wszyscy! Oto przed Wami kurs Visual Basica. Wiem, że czytanie kursów jest monotonne i niekiedy nudne. Miałem właśnie takie wrażenie ucząc się VB z pewnej książki. Wprowadziła mnie zaledwie w podstawy. Dalsze funkcje musiałem poznawać sam. Niekiedy nad jedną funkcją spędziłem 10 godzin – ale zawsze dopiąłem swego. Kurs jest napisany z humorem, dzięki czemu naukę tego języka będziesz traktował jak zabawę. No więc zaczynamy ? Chwila, chwila... A może na początek coś o tym języku...

Język Basic został stworzony przez Johna G. Kemeny'ego i Thomasa E. Kurtza w 1963 roku w Darmouth College. Stał się on szybko popularny jako język nauczania w uniwersytetach i szkołach. W latach 70-tych, został przystosowany do użycia na komputerach osobistych przez założyciela i prezesa firmy Microsoft - Billa Gates'a.
Język Basic przeszedł wiele zmian, modyfikacji i udoskonaleń od pierwszych wersji do teraźniejszego wyglądu i sposobu programowania.
W czasach, kiedy typowymi domowymi komputerami były komputery 8-io bitowe, takie jak: Atari 800XL, Commodore C64 czy ZX Spectrum, język Basic był podstawowym językiem programowania. Był dość prosty - stał się więc powszechnie wykorzystywany przez programistów. Wersje stosowane w różnych komputerach nieco się różniły. Był to jednak typowy język strukturalny z dość ograniczoną liczbą rozkazów. Każdy rozkaz występował w osobnej linii programu, a każda linia zaczynała się od numeru linii. Był to język wystarczający do pisania prostych aplikacji jak i dość zaawansowanych programów i gier. Najprostszy program napisany w języku Basic wyglądał tak:

10 PRINT "WITAJ"
20 GOTO 10


Program ten rozkazem PRINT wyświetlał na ekranie tekst WITAJ, a rozkazem GOTO 10, powodował powrót do linii nr 10 i zapętlenie programu.
Wraz z rozwojem techniki komputery 8-io bitowe zostały stopniowo wyparte przez komputery 16-bitowe klasy IBM PC. W pierwszych modelach język Basic zawarty został w ROM BIOS-ie. Jeżeli system operacyjny nie został uruchomiony z dyskietki lub z dysku twardego to z ROM BIOS-u uruchamiany był interpreter języka Basic. Dość szybko jednak zrezygnowano z umieszczania Basic w ROM BIOS.
Wraz z rozwojem systemów operacyjnych, język Basic powrócił jako Microsoft QuickBasic i Qbasic, który stał się częścią systemu operacyjnego MS-DOS. Był to nadal typowy język strukturalny z tekstowym środowiskiem programistycznym. Nie zyskał on jednak wielkiej popularności i szybko został wyparty przez bardziej rozbudowane języki, takie jak Pascal i C.

Przełomem stało się wprowadzenie języka Visual Basic. Język ten wykorzystywał środowisko Microsoft Windows. Był to język wizualny, gdzie część programowania polegała na graficznym ułożeniu elementów aplikacji. Zamiast pisać bardzo rozbudowane aplikacje, w których znaczna część kodu wykorzystywana była do utworzenia interface (wyglądu) aplikacji, język Visual Basic udostępniał środowisko graficzne, w którym wygląd aplikacji tworzyło się podobnie jak obrazy w programach graficznych. Należało wybrać odpowiedni element wyglądu i narysować go, wybierając jego położenie i rozmiar. Skróciło to znacznie czas tworzenia aplikacji, ponieważ zamiast pisać rozbudowany kod wystarczyło "poskładać" program z dostępnych elementów. Kolejne wersje Visual Basic wprowadziły wiele kolejnych udoskonaleń i ułatwień, oraz możliwość tworzenia 16 i 32 bitowych aplikacji.
Mimo że w pełni graficzne środowisko projektowania Visual Basica i język programowania są odległe od wczesnych interpreterów Basica, elegancja i prostota języka oryginalnego Basica pozostały do dziś. Łatwość użycia i duże możliwości Visual Basica to podstawowe przyczyny, dla których został on wybrany językiem programowania aplikacji systemu Windows, takich jak Excel. Ze względu na różne wymagania programistów powstało kilka wersji języka Visual Basic. Wersja Learning Edition (LE) jest najuboższą wersją z obszerną pomocą, przeznaczoną dla początkujących programistów. Wersją podstawową stała się wersja Standart Edition (SE), a nieco rozbudowana wersja Proffessional Edition (PE) zawiera więcej kontrolek i możliwości. Najbardziej rozbudowaną wersją jest wersja Enterprise Edition (EE), która posiada bardzo dużo rozszerzeń i możliwości, w tym również możliwość tworzenia aplikacji typu klient-server. Dostępna jest również wersja Control Creation Edition (CCE), która ułatwia tworzenie własnych kontrolek Visual Basic.

 

EE

PE

LE

CCE

Konfigurowalne środowisko edycyjne
Wyświetlające się listy wartości, właściwości, obiektów i metod znacznie przyspieszające i ułatwiające pracę, zastosowane dzięki technologii IntelliSense firmy Microsoft z funkcjami QuickInfo, DataTips, Complete Word oraz List Properties/Methods.

+

+

+

+

Visual Basic Applications Edition, wersja 5.0
Możliwość wykorzystania znajomości Visual Basic w aplikacjach posiadających Visual Basic for Applications, jak np. Microsoft Office 97.

+

+

+

+

Szablony projektów, przykładowe projekty i dokumentacja Books Online
Gotowe szablony i przykładowe projekty ułatwiające pracę i zrozumienie Visual Basic oraz rozbudowana dokumentacja Books Online.

+

+

+

+

Dodatki (add-ins)
Zbiór dodatkowych narzędzi ułatwiających tworzenie modułów klas, metod, zdarzeń, właściwości, formantów ActiveX i stron Property Pages.

+

+

+

+

Wielokrotne projekty
Możliwość edycji i analizy składników i aplikacji w jednej instancji Visual Basic.

+

+

+

+

Dziedziczenie i dziedziczenie wizualne
Możliwość dziedziczenia z innych modułów klas i łączenia formantów ActiveX.

+

+

+

+

Tworzenie formantów ActiveX
Możliwość tworzenia formantów ActiveX wykorzystywanych w produktach wspierających ActiveX, m.in. Visual Basic, Visual C++, Visual FoxPro, Microsoft Office, aplikacje internetowe.

+

+

+

+

Bogaty zestaw standardowych formantów ActiveX
Formanty ActiveX takie jak: DBGrid, CheckBox, ComboBox, FileListBox, DriveListBox, CommonDialog, WebBrowser i ponad 20 innych.

+

+

+

 

Tworzenie aplikacji
Możliwość kompilacji do plików typu .EXE lub DLL.

+

+

+

 

Kurs "Learn Visual Basic Now"
Rozbudowany kurs Visual Basic zawierający ćwiczenia, lekcje wideo, odczyty lektora.

 

 

+

 

Dostęp do danych
ODBC w wersji 3.5 to dodatkowe możliwości zarządzania danymi dla źródeł danych ODBC i ISAM.

+

+

 

 

Optymalizujący kompilator kodu rodzimego
Ponad 20-to krotne przyspieszenie działania aplikacji w stosunku do poprzednich wersji, poprzez zastosowanie kompilacji kodu rodzimego.

+

+

 

 

Dokumenty ActiveX
Możliwość tworzenia aplikacji Visual Basic, które będą odczytywane przez Internet Explorer.

+

+

 

 

Formanty ActiveX dla serwerów
Możliwość wykorzystania wielowątkowych bezpiecznych i wydajnych składników dla serwerów.

+

+

 

 

Microsoft Transaction Server Developer Edition
Możliwość tworzenia trójwarstwowych aplikacji biznesowych.

+

 

 

 

Wsparcie dla RISC
Możliwość tworzenia aplikacji pracujących na platformach RISC w kodzie rodzimym.

+

 

 

 

Remote Data Objects (RDO) wersja 2.0
Obiektowo zorientowany interfejs programowania ułatwiający szybki dostęp do baz danych ODBC aplikacji klient-server lub z Internetu.

+

 

 

 

Program analizy TSQL Debugger
Możliwość testowania procedur SQL Server 6.5.

+

 

 

 

Microsoft SQL Server Developer Edition
Możliwość tworzenia i testowania baz danych SQL w sieci lokalnej.

+

 

 

 

Microsoft Visual SourceSafe
Możliwość zarządzania kodem źródłowym przy wykorzystaniu Check In/Out, dzielenie zasobów, historia projektów dla pracy grupowej.

+

 

 

 

Application Performance Explorer (APE)
Możliwość analizy wydajności aplikacji rozproszonych.

+

 

 

 

Microsoft Visual Database Tools
Możliwość tworzenia logicznych i fizycznych baz danych, kwerend klienta i struktur danych serwera.

+

 

 

 


Język Visual Basic stał się częścią pakietu Visual Studio. Obecnie dostępna jest wersja 6.0 języka Visual Basic, który w wersji Enterprise Edition jest również częścią pakietu Visual Studio 6.0. Dostępna jest również wersja Visual Basic dla systemu DOS.

Język Visual Basic utrzymuje swoją popularność pomimo bardzo silnej konkurencji, m.in. Delphi i Visual C.
Język ten jest uważany za łatwiejszy od konkurentów, jednak napisane w nim aplikacje wykonują się wolniej niż aplikacje konkurentów. Język ten posiada wiele wad i zalet, ale umożliwia tworzenie nawet bardzo rozbudowanych aplikacji, a możliwość dołączania nowych kontrolek ActiveX bardzo to ułatwia i przyspiesza.

Zaczynamy pracę

Mam nadzieję, że posiadasz Visual Basica 6 lub 5. W ostateczności możesz posiadać wersję 4 (właśnie na tej wersji poznawałem język VB), ale pamiętaj ,że różni się troszeczkę od nowszych wersji. No dobra dość gadania... zaczynamy.

Odpalamy naszego VB. Ojej, co to wyświetliło się jakieś okienko. Teraz możemy wybrać to co będziemy chcieli tworzyć. My oczywiście zajmiemy się pisaniem programów więc wybieramy pierwszą ikonkę czyli standard exe. I co my tu widzimy. Po lewej stronie okna znajduje się pasek z odpowiednimi narzędziami. Po środku widać nasz formularz, czyli to na czym będziemy „układać” nasz przyciski itp. A co jest po prawej? Chmmm... Pierwsze to składniki projektu – tu możemy zobaczyć z ilu formularzy składa się nasz program oraz przełączać się między nimi – o tym to dopiero w następnych częściach tego kursu. Poniżej widzimy okno „Properties”. Są to ustawienia danego elementu. Tak np. możemy tutaj ustawić wielkość formularza, kolor itp... A jeszcze niżej  widzimy okno „Form Layout”. Jest to podgląd naszej aplikacji, gzie znajdzie się na pulpicie po uruchomieniu. Innymi słowy możesz tu ustalić czy program po uruchomieniu będzie się znajdował bliżej krawędzi dolnej czy górnej. No zapomniałem o jednym. Oczywiście o pasku narzędzi – właśnie tego u góry. Jak w każdym pasku narzędzi znajdują się tam najczęściej używane opcje. To tyle na temat wyglądu.

Nie będę tu pisał innych bzdur bo wiem, że zanudził bym Was na śmierć. Wszystko dowiesz się w swoim czasie. Wiem, że w książkach wszystko opisywane jest na początku. Z własnego doświadczenia wiem, że uczenie się czegoś o czym nie ma się bladego pojęcia jest bezsensowne.

Żelazna zasada: przede wszystkim praktyka .

LEKCJA 1

No więc w tej lekcji napiszemy pierwszy program. Do dzieła:

Otwieramy Visual Basic, tworzymy nową aplikację. Chmmm. Co by tu zrobić. No może na formularz naniesiemy jakiś przycisk. No dobra. Z paska narzędzi (tego po lewej) wybieramy „CommandButton” – Szary prostokąt (3 rząd, 2 kolumna). No dobra przycisk się wcisnął i co teraz. Teraz wystarczy przytrzymać lewy przycisk myszy na formularzu i przeciągnąć w którąś ze stron. Czy widzisz te przerywane linie. To właśnie tu po puszczeniu przycisku myszy ukaże się pierwszy element naszej aplikacji – Command Button. No fajnie. Stworzyliśmy przycisk o nazwie Command1. Możesz go teraz przesunąć w dowolne miejsce na formularzu lub go powiększyć. Po prostu chwyć go i upuść tam gdzie zechcesz. Jeśli chcesz go powiększyć lub pomniejszyć zaznacz go, pojawią się teraz obok przycisku kwadraciki za które możemy chwycić i dowolnie zmieniać rozmiar przycisku. Ufffff... Myślę, że skapowałeś o co chodzi. Dobra – ale ten napis jakoś brzydko wygląda. Zmieńmy go np. na „Witaj”. Ale jak to zrobić. Pewnie myślisz, że teraz zaczniemy posługiwać się kodem. Nic z tego. Wykorzystamy do tego okienko „Properties”. To po prawej w środku. Wygląda jak jakaś tabelka. To właśnie tu ustalamy właściwości przycisku. Zabieramy się do roboty. Zaznacz przycisk na formie. Teraz w okienku „Properties” widzisz pogrubiony napis Command1 – command button. Oznacza to, że wszystkie poniżej wypisane opcje odnoszą się do naszego przycisku. Oto krótki opis najważniejszych funkcji :

 

(name) W tym polu wpisujemy nazwę identyfikującą nasz przycisk – najlepiej używać skrótu cmd (od Command) – tak więc zmieniamy nazwę naszego przycisku na cmdwitaj
caption Chyba najważniejsza – Tu ustalamy wyrazy które mają znaleźć się na naszym przycisku – wpisujemy Witaj !
Enabled Tu ustalamy czy przycisk będzie się dało wcisnąć czy też nie – my oczywiście zostawiamy True (Prawda)
Font W tym oknie możemy ustalić czcionkę, wielkość i efekty dla napisu
Height Wysokość przycisku. Raczej wygodniejsze jest rozciąganie przycisku bezpośrednio na formularzu
Index Ustala kolejność przeskakiwania focusa. Chodzi o to gdy np. na formularzu ustawimy trzy przyciski o nazwie cmdJeden, cmdDwa, cmdTrzy i kolejno ustawimy na nie index 1,3,2 to przeskakując „Tab-em” kolejno podświetlą się przycisk cmdJeden (1), cmdTrzy (2), cmdDwa (3). Na razie zostawiamy puste.
Left Określa odległość przycisku od lewej krawędzi ekranu. Wygodniej jest przemieszczać przycisk bezpośrednio na formie.
Style Oznacza czy w przycisku będziemy dokonywać przeróbek kosmetycznych – dla eksperymenu zaznaczmy True
BackColor Teraz wracamy się prawie do samego początku. Możemy tu zmienić kolor przycisku. Zmieńmy go np. na kolor czerwony (znajduje się w zakładce pallete)
Top Określa położenie przycisku od górnej krawędzi ekranu
Width Określa szerokość przycisku
Visible Określa czy przycisk ma być widoczny na formularzu. Jeśli zaznaczymy false, to po uruchomieniu programu zobaczymy pusty formularz. Zostaw więc true

Większość wyżej wymienionych opcji działa także na formularzu. No to spróbujmy. Zaznacz formularz (To na czym ułożyłeś przycisk). Teraz w oknie „Properties” zobaczyś pogrubiony napis „Form1 Form”. Oczywiście jeżeli formularz wydaje ci się za mały to go sobie powiększ. Identycznie jak przycisk. Po prostu chwyć za kwadracik i ciągnij. Chmmm. Jak na razie program nie wygląda zbyt ciekawie. Na pasku u samej góry formularza widnieje napis „Form1”. Chyba czas aby to zmienić... Masz już zaznaczoną formę ? No to teraz w oknie Properties znajdź „Caption” – o jest tu nasze Form1. Zmień to na np. „Mój pierwszy program”. Efekt widać od razu ! Może zmienimy teraz kolor naszego formularza, co? No dobra – odnajdź funkcję „BackColor”. Teraz rozwiń zawartość – wybierz zakładkę „Palette” i wybierz dowolny kolor. Dla przykładu jaskrawy zielony. Ha ! Program zaczyna fajnie wyglądać. Niestety to co pokazałem do tej pory to tylko umieszczanie składników na formie i upiększanie wyglądu. Ale my chcemy aby ten program coś robił. Np. wyświetlił komunikat „Witam cię bardzo serdecznie”. Niestety, aby to wykonać musimy posłużyć się kodem. Tak, koniec zabawy w „składanie” sobie programu. Teraz musimy się nauczyć podstawowych funkcji. Radzę abyś zapisywał sobie składnie poznanych funkcji gdzieś na kartce. Chyba, że dobrze znasz angielski... Później pisząc program możesz akurat zapomnieć sobie jak używało się danej funkcji

No dobra dość tego pieprzenia. Robota czeka.

Chmmm. Kod, kodem – ale gdzie go wpisać. Musimy zastanowić się kiedy ma wyskoczyć komunikat. Oczywiście po kliknięciu na nasz przycisk. No to kliknijmy na przycisk. I co? Zaznaczył się tylko. Chmmm. A może dwukrotnie? Jest! Wyskoczyło coś w formie notatnika z:

Private Sub cmdwitaj_Click()

End Sub

Co to do cholery jest!? Tu właśnie będziemy pisać kod. Przeanalizujmy go:

Private Sub oznacza początek wykonywania się kodu – logicznie myśląc End Sub kończy. Ale do czego jest cmdwitaj1_Click. Chmmm. Cmdwitaj to przecież nazwa naszego przycisku – to właśnie tu program rozróżni czy posłużyliśmy się naszym przyciskiem czy czymś innym. Jak pewnie wiesz Click oznacza kliknięcia – a więc kliknięcie na przycisku. Tak, tak – kod wykona się dopiero wtedy, gdy klikniesz na naszym przycisku. Zaraz, zaraz ale jaki kod? Teraz napiszmy jakiś prosty kod wyświetlający okienko z napisem „Witam cię bardzo serdecznie”. Napisz coś takiego (oczywiście między Private Sub cmdwitaj_Click() a End Sub:

x = MsgBox("Witam cię bardzo serdecznie")

Teraz wystartujmy jakoś program. Możemy to zrobić na trzy sposoby. Najprostszy to przycisk play na pasku narzędzi (tym u góry) Jest to ikonka bodajże 12 z brzegu. Możemy też użyć klawisza F5, albo z menu wybrać Run-Start. No to do dzieła. Uruchamiamy...

Wow ! Działa, działa, działa !!! Wystartował nasz program. Teraz kliknij na przycisku. I co pojawił się komunikat? Jest !!! Ale co się rzuca w oko. Na pasku stanu widzimy „Project1”. Trzeba to zmienić...

Klikamy na ok. i zamykamy uruchomiony program. No... wróciliśmy do kodu. Teraz zamiast x = MsgBox("Witam cię bardzo serdecznie") wpisz:

x = MsgBox("Witam cię bardzo serdecznie",vbInformation+vbAbortRetryIgnore,"Witaj !")

I co to zmieniło? Sam zobacz. Wystartuj program jeszcze raz. Tak zmieniliśmy tytuł, ale także dodaliśmy ikonkę obok komunikatu oraz mamy trzy przyciski. Jak ja to zrobiłem – się dziwisz. Oto przepis:

X = MsgBox(„Jakiś tam tekst”,ikonka + przyciski, „Tytuł”)

Tak wygląda składnia funkcji odpowiedzialnej za wyświetlenie okienka dialogowego.

Oto poszczególne składniki:

X – nazwa zmiennej (O tym w następnej lekcji). Na dziś musisz wiedzieć, w jednej procedurze (w naszym przypadku na kliknięciu na przycisk) może wystąpić tylko jedna zmienna o nazwie x

  Ikonki

vbCritical Ikonka krytyczna (przekreślone czerwone kółeczko z charakterystycznym dźwiękiem)
vbQuestion Ikonka pytania (Dymek, a w nim pytajnik)
vbExclamation Ikonka ostrzegawcza (Żółty trójkąt z wykrzyknikiem)
vbInformation
Ikonka informacji (Dymek a w nim literka „i”)
vbSystemModal
Brak ikonki. Za to na pasku tytułowym pojawia się ikonka windows

Przyciski

vbOKCancel Tylko OK. – nie trzeba tego pisać. On i tak jest używany domyślnie
vbAbortRetryIgnore Przyciski Przerwij, Ponów próbę i Zignoruj
vbYesNoCancel Przyciski Tak, Nie, Anuluj
vbYesNo Przyciski Tak lub Nie
vbRetryCancel Tylko przyciski Ponów i Anuluj

MsgBox zwraca:

1 vbOK
2 vbCancel
3 vbAbort
4 vbRetry
5 vbIgnore
6 vbYes
7 vbNo

 

To będzie Ci potrzebne (chodzi mi o to co zwraca MsgBox) w następnej lekcji gdy poznasz funkcję warunkową If.

ZADANIE DOMOWE:

Napisz program z dwoma przyciskami Jeden o nazwie „Witaj” i kolorze czerwonym, a drugi „Pytanko” i kolorze jasno niebieskim. Klikając na pierwszym powinien wyświetlić się komunikat „Jestem spoko” z ikonką informacyjną i przyciskiem OK. Zmień tytuł na „Przywitanie”. A drugi z tekstem „Czy mnie lubisz” z ikonką pytania i przyciskami Tak – Nie, oraz o tytule „Małe pytanko”.   Nie zapomnij o nazwach przycisków (cmd...)

W następnej lekcji nauczymy rozpoznawać program co wybrałeś. Tak np. Gdy na pytanie czy mnie lubisz odpowiesz „tak” program ci podziękuje. Jeśli nie to wyrazi swój żal.

Powodzenia

Slash
slash@ptik.ivg.pl
http://www.ptik.ivg.pl