Prawo Murphy'ego: Każdy przewód przycięty na długość, okaże się za krótki.
Visual Basic 6 - Tworzenie aplikacji

Tworzenie aplikacji w Visual Basic składa się z wykonywania trzech podstawowych kroków:

  • ustawienie interfejsu (wyglądu) aplikacji
     
  • ustawienie właściwości
     
  • pisanie kodu programu
     

Visual Basic jest narzędziem programistycznym, które umożliwia szybkie i łatwe tworzenie i modyfikowanie aplikacji. Zwykle wykonuje się wielokrotnie trzy powyższe kroki, aby sprawdzić i dopasować wygląd i zachowanie aplikacji.

Można dodać element sterujący do formularza, ustawić jego właściwości, dodać odpowiedni kod i uruchomić aplikację, aby sprawdzić jej działanie. Jeżeli trzeba zmienić działanie lub wygląd można zmienić właściwości i kod programu, po czym, sprawdzić działanie wprowadzonych zmian. Potem można dodać kolejny element sterujący i powtórzyć czynności. Można również dodać wszystkie potrzebne elementy interfejsu, ustawić wszystkie właściwości i dodać cały kod programu i dopiero wtedy sprawdzić działanie aplikacji.

Ustawienie interfejsu

Pierwszym działaniem przy tworzeniu aplikacji w Visual Basic jest ustawienie interfejsu.

Typowe aplikacje działające pod kontrolą systemu Windows mają wiele typowych i charakterystycznych cech i elementów. Standaryzacja interfejsów użytkownika Windows powoduje łatwość uczenia się działania aplikacji Windows. Ta standaryzacja ułatwia również zadanie programistom, ponieważ nie zachodzi konieczność definiowania nowego interfejsu dla każdej tworzonej aplikacji. Przy tworzeniu aplikacji w Visual Basic, większość pracy polegającej na projektowaniu interfejsu użytkownika jest już wykonana lub bardzo uproszczona. Formularze i elementy sterujące pozwalają na szybkie i łatwe dodawanie typowych składników interfejsu aplikacji. Elementy sterujące, zwane kontrolkami, umożliwiają stosowanie typowych składników aplikacji systemu Windows, wyglądających i zachowujących się zgodnie z ich przeznaczeniem. Elementy te mają zdefiniowane pewne typowe cechy i zachowania, np. okna tekstowe umożliwiają wprowadzanie tekstu i mają migający wskaźnik a przyciski poleceń mają charakterystyczny prostokątny wygląd i tekst identyfikujący działanie. Żadna ze zdefiniowanych cech nie wymaga pisania kodu programu, a jedynie wybrania lub ustawienia odpowiednich właściwości (większość z nich jest ustawiona na domyślne wartości).

Aby jednak te elementy wykonywały określone zadania należy dopisać kod programu.

Ustawienie właściwości formularza

Okno formularza, jest pierwszym oknem zainteresowania programisty. Wydaje się ono dość niepozorne w stosunku do innych okien platformy Visual Basic, ale to formularz stanowi podstawę tworzonej aplikacji. Jest on głównym oknem tworzonej aplikacji. Na nim będą się znajdowały wszystkie elementy interfejsu użytkownika. Gdy użytkownik uruchomi tworzoną aplikację, zobaczy okno formularza ze znajdującymi się na nim elementami.

Pierwszą czynnością przy tworzeniu nowej aplikacji jest ustawienie właściwości formularza. Część właściwości można ustawić w oknie Properties, część w kodzie programu, a część w oknie Form.

Jeżeli formularz (forma) jest wybrany to wokół niego pojawiają się kwadratowe wskaźniki. Jeżeli kursor myszki zostanie przesunięty nad taki wskaźnik, to można zmienić rozmiar formy. Wskaźnik pod formą pozwala na zmianę jej wysokości, wskaźnik po prawej stronie formy pozwala na zmianę jej szerokości, a wskaźnik w prawym dolnym rogu formy pozwala na równoczesną zmianę obydwu rozmiarów. Aby to zrobić, należy zatrzymać kursor myszki nad wskaźnikiem, przycisnąć lewy przycisk myszy i trzymając wciśnięty przesunąć kursor myszki w odpowiednią stronę. Zwolnienie lewego klawisza myszy akceptuje wprowadzenie nowego rozmiaru.

Innym sposobem na zmianę rozmiarów formy jest zmiana właściwości w oknie Properties. Właściwość Height jest odpowiedzialna za wysokość formy, a właściwość Width za jej szerokość. Aby zmienić wartość właściwości należy ustawić kursor myszki nad okienkiem określającym wartość właściwości (z prawej strony okienka z nazwą właściwości) i kliknąć. Należy wprowadzić nową wartość i zatwierdzić wciskając ENTER lub klikając myszką poza tym okienkiem.

Kolejną właściwością, jaką należy zmienić jest właściwość Name. Wprawdzie Visual Basic automatycznie ustawia właściwość Name, jednak wprowadzenie swojej nazwy kojarzącej się z działaniem lub zawartością formy (elementu) ułatwia pisanie kodu i zarządzanie aplikacją. Nazwę formy należy wybrać zgodnie z konwencją nazywania obiektów. Można np. nazwać formę - frmKalkulator lub frmListaAdresatow. Właściwość Name wykorzystywana jest do odwoływania się do formy w czasie wykonywania programu.

W oknie Properties należy ustawić właściwość BorderStyle, odpowiedzialną za rodzaj obramowania formy, wybierając odpowiednią wartość z rozwijanej listy.

Właściwość Caption odpowiedzialna jest za napis wyświetlany na pasku tytułowym formy. Domyślnie Visual Basic wstawia tam domyślną nazwę obiektu, jednak dobrze jest wpisać tam nazwę aplikacji, aby użytkownik widział nazwę aplikacji w oknie i na pasku zadań Windows.

Właściwość ControlBox określa, czy forma będzie zawierać przyciski Minimalizuj, Maksymalizuj i Zamknij. Aby wyłączyć poszczególne przyciski należy zmienić właściwości MinButton i MaxButton.

Właściwość Icon pozwala wybrać ikonę formy, która będzie wyświetlana na pasku zadań Windows.

Forma z ustawionymi właściwościami jest gotowym szkieletem do tworzenia interfejsu użytkownika.

Kolejnym krokiem tworzenia aplikacji jest dodawanie kontrolek do formy

Dodawanie kontrolek do formy

Kontrolki to elementy interfejsu użytkownika, które umieszczone na formie spełniają określone działania. Visual Basic dostarcza zestaw standartowych kontrolek, wród których znajdują się m. in.: CommandButton - przycisk poleceń, Label - etykieta, TextBox - okno tekstowe, OptionButton - pole opcji, CheckBox - pole wyboru, ListBox - pole listy, VScrollBar, HScrollBar - paski przewijania, i inne.

Standartowe kontrolki znajdują się na palecie narzędzi (okno Toolbox). W miarę potrzeb można powiększyć paletę narzędzi o dodatkowe kontrolki przez wybranie polecenia Components menu Project, które wywołuje okno Components.

Aby dodać odpowiednią kontrolkę do formularza, można wykorzystać jeden z dwóch sposobów:

  • Należy kliknąć dwukrotnie na odpowiedniej kontrolce w oknie Toolbox. Wybrana kontrolka pojawi się na formularzu. Będzie się znajdować na środku formularza i będzie mieć domyślny rozmiar. Jeżeli w tym miejscu znajduje się już jaki element, to zostanie on przesłonięty. Można zmienić rozmiar i pozycję kontrolki na formularzu.
     
  • Na palecie narzędzi należy wybrać odpowiednią kontrolkę, przez jednokrotne kliknięcie na ikonie kontrolki. Kursor myszki należy przenieść nad formularz, w miejsce, gdzie będzie znajdował się jeden z rogów kontrolki. Należy przycisnąć lewy klawisz myszki. Kursor zmieni kształt na krzyży. Teraz - trzymając wciśnięty klawisz - należy przesunąć kursor myszki w miejsce, gdzie będzie się znajdował przeciwległy róg kontrolki. Szary prostokątny reprezentuje pozycję i rozmiar tworzonej kontrolki. Aby zaakceptować rozmiar kontrolki, należy zwolnić lewy klawisz myszki. Szary prostokąt zniknie a w jego miejsce pojawi się kontrolka.
     

Ustawienie właściwości kontrolek

Po narysowaniu kontrolki na formularzu można zmienić jej właściwości. Część właściwości można ustawić w oknie Properties, część w kodzie programu, a część w oknie Form.

Jeżeli kontrolka jest wybrana to wokół niej pojawiają się kwadratowe wskaźniki. Jeżeli kursor myszki zostanie przesunięty nad taki wskaźnik, to można zmienić rozmiar kontrolki. Wskaźniki nad i pod kontrolką pozwalają na zmianę jej wysokości, wskaźniki po prawej i lewej stronie kontrolki pozwalają na zmianę jej szerokości, a wskaźnik w rogach kontrolki pozwalają na równoczesną zmianę obydwu rozmiarów. Aby to zrobić, należy zatrzymać kursor myszki nad wskaźnikiem, przycisnąć lewy przycisk myszy i trzymając wciśnięty przesunąć kursor myszki w odpowiednią stronę. Zwolnienie lewego klawisza myszy akceptuje wprowadzenie nowego rozmiaru.

Aby przesunąć kontrolkę na formularzu, należy przesunąć kursor myszki nad kontrolkę, wcisnąć lewy przycisk myszki i trzymając, przesunąć kursor myszki. Szary prostokąt reprezentuje nową pozycję kontrolki. Aby zaakceptować nową pozycję, należy zwolnić lewy przycisk myszki. W miejsce szarego prostokąta pojawi się przesunięta kontrolka.

Aby usunąć kontrolkę z formy, należy wybrać kontrolkę i wcisnąć klawisz DEL.

Innym sposobem na zmianę rozmiarów i położenia kontrolki jest zmiana właściwości w oknie Properties. Właściwość Height jest odpowiedzialna za wysokość kontrolki, a właściwość Width za jej szerokość. Właściwości Left i Top odpowiedzialne są za położenie kontrolki na formie. Aby zmienić wartość włśaciwości należy ustawić kursor myszki nad okienkiem okrelającym wartość właściwości (z prawej strony okieka z nazwą właciwoci) i kliknąć. Należy wprowadzić nową wartość i zatwierdzić wciskając ENTER lub klikając myszką poza tym okienkiem.

Kolejną właściwością, jaką należy zmienić jest właściwość Name. Wprawdzie Visual Basic automatycznie ustawia właściwość Name, jednak wprowadzenie swojej nazwy kojarzącej się z działaniem lub zawartością kontrolki ułatwia pisanie kodu i zarządzanie aplikacją. Nazwę kontrolki należy wybrać zgodnie z konwencją nazywania obiektów. Można np. nazwać pole tekstowe - txtLiczba lub txtNazwisko. Właściwość Name wykorzystywana jest do odwoływania się do kontrolki w czasie wykonywania programu.

Pozostałe właściwości są różne dla różnych kontrolek. Najczęściej zmieniane są właściwości:

  • Alignment - sposób wyrównania tekstu w kontrolce
     
  • Align - wyrównanie kontrolki na formie
     
  • AutoSize - automatyczne dopasowanie rozmiaru kontrolki
     
  • BorderStyle - rodzaj obramowania kontrolki
     
  • Caption - tekst zawarty w kontrolce
     
  • Enabled - dostępność kontrolki przez użytkownika
     
  • Style - sposób wyświetlania kontrolki
     
  • TabIndex - numer kontrolki na formie
     
  • Text - tekst kontrolki
     
  • ToolTipText - podpowiedź dla użytkownika
     
  • Value - wartość kontrolki
     
  • Visible - widzialność kontrolki
     

Powtarzając powyższe czynności można dodać do formularza wiele różnych kontrolek i ustawić ich właściwości.

Kolejnym krokiem tworzenia aplikacji jest dodawanie menu do aplikacji

Dodawanie menu do aplikacji

Większość poleceń i opcji aplikacji systemu Windows dostępnych jest z menu aplikacji. Visual Basic umożliwia programiście szybkie i łatwe projektowanie menu dla tworzonych aplikacji.

Kontrolka Menu różni się nieco od innych kontrolek Visual Basic. Nie występuje ona w oknie narzędzi Toolbox a jest wywoływana przez użycie Menu Editor.

Menu Editor jest oknem dialogowym, które można wywołać z okna formularza przez użycie klawisza skrótu CTRL+E, kliknięcie ikony Menu Editor na pasku narzędziowym lub wybranie pozycji Menu Editor z menu Tools.

Menu Editor składa się z narzędzi do opisu menu, które pozwoli na określenie paska menu, poleceń i klawiszy skrótów tworzonej aplikacji. Pozwala dodać menu z rozwijalnymi listami poleceń (podmenu), linie separujące (separator bars), znaczniki (checkboxes) i klawisze skrótu.

Każdy element menu (polecenie, separator albo podmenu) posiada swój własny zestaw właściwości. Menu Editor ułatwia ustawienie tych właściwości.

W oknie Caption należy wpisać odpowiedni nagłówek (tytuł) menu (np. &Plik). Jest to tekst, który pojawi się w menu. Znak & określa klawisz szybkiego dostępu. Znak znajdujący się bezpośrednio za & jest znakiem szybkiego dostępu i w menu jest podkreśloną literą. Aby wywołać menu z klawiatury można przycisnąć ALT+klawisz_dostępu (w tym przypadku ALT+P).

Aby wstawić separator do menu należy w polu Caption wstawić znak - (minus).

W polu Name należy wstawić nazwę menu (np. mnuPlik). Jest to nazwa, która będzie wykorzystywana do odwoływania się do pozycji menu.

Programiści zwykle stosują przedrostek mnu do nazw pozycji menu (np. mnuPlik dla pozycji Plik, mnuPlikNowy dla pozycji Nowy w menu Plik).

W polu Shortcut można wybrać klawisz skrótu, którego wciśnięcie wywoła bezpośrednio pozycję menu. Klawisze skrótów nie są dostępne dla menu rozwijanych, a jedynie dla pozycji menu lub pozycji podmenu (nie można przypisać klawisza skrótu do menu Plik, ale można do pozycji Nowy w menu Plik).

Klawisze strzałek pozwalają na przechodzenie po pozycjach menu i tworzenie podmenu. Strzałka w prawo powoduje przesunięcie pozycji na niższy poziom (do podmenu), strzałka w lewo na wyższy poziom. Poziom pozycji wyznacza, gdzie pojawi się ona w hierarchii menu aplikacji. Pozycje głównego menu (Plik, Edycja) pojawiają się na pasku menu aplikacji. Pozycje niższego poziomu (Nowy, Otwórz, Zapisz, Zapisz jako, Koniec) pojawiają się wewnątrz rozwijanego menu pozycji głównych. Pozycje podmenu (np.: Binarny, Sekwencyjny) pojawiają się na kolejnych menu rozwijanych.

Można określić do czterech poziomów pozycji menu.

Strzałki w górę i w dół pozwalają na przesuwanie się po elementach menu.

Aby dodać kolejny element menu należy wcisnąć klawisz Next.

Aby wstawić nową pozycję w środek menu, należy przesunąć zaznaczenie na odpowiednią pozycję i wcisnąć klawisz Insert.

Aby usunąć pozycję menu należy ją zaznaczyć i wcisnąć klawisz Delete.

Pole Enabled ustawia właściwość Enabled pozycji określającą dostępność pozycji.

Pole Visible określa pokazanie lub ukrycie pozycji menu.

Pole Checked pozwala na wstawienie znacznika (chcekbox) do pozycji menu.

Pole WindowList pozwala na automatyczne wstawienie listy otwartych okien w aplikacjach MDI.

Po zakończeniu tworzenia pozycji menu, należy kliknąć OK.

Kolejnym krokiem tworzenia aplikacji jest dodawanie kodu programu

Dodawanie kodu programu

Umieszczając na formularzach kontrolki i nadając im odpowiednie właściwości, można tworzyć efektowne aplikacje. Jednak nie będą one w pełni funkcjonalne, ponieważ kontrolki standartowo wykonują tylko podstawowe zadania. Np. okienko tekstowe pozwala wprowadzać i zaznaczać tekst a przycisk poleceń może wyglądać jak wciśnięty lub wyciśnięty, ale nie potrafi zakończyć aplikacji (nawet jeżeli takie jest jego docelowe znaczenie) dopóki nie zostanie dopisany odpowiedni kod programu, który to wykona. Funkcjonalność kontrolek zależy od programisty. To on musi stworzyć kod programu, który odpowiednio zareaguje na jakieś zachowanie użytkownika. Kod programu jest zbiorem instrukcji odpowiedzialnych za przetwarzanie danych, przyjmowania ich, wyprowadzanie i komunikowania się z użytkownikiem.

Aby wyświetlić kod programu dla obiektu należy:

  • kliknąć dwukrotnie na obiekcie
     
  • wybrać obiekt i wcisnąć F7
     
  • wybrać obiekt i wybrać pozycję Code z menu View
     
  • wybrać obiekt i kliknąć przycisk View Code w oknie Project
     
Visual Basic zawsze pokazuje kod programu w oknie działającym jak edytor tekstu. Można w nim dokonywać podstawowych operacji takich jak wstawianie, usuwanie, kopiowanie, wklejanie, przenoszenie tekstu. Mino, że Visual Basic jest raczej środowiskiem graficznym, wprowadzany kod programu jest tekstem.

Programowanie zdarzeniowe

Programy tworzone w Visual Basic są programami zdarzeniowymi. Kod procedury jest wywoływany przez wystąpienie jakiegoś zdarzenia. Najczęściej są to zdarzenia użytkownika, np. wciśnięcie klawisza, lub przesunięcie kursora myszki. Program czeka na działanie użytkownika, czyli na zdarzenie i reaguje na to zdarzenie przez uruchomienie odpowiedniej procedury obsługi zdarzenia po czym kontynuuje oczekiwanie na kolejne zdarzenie.

Zdarzenia występują dla wszystkich elementów w interfejsie użytkownika, form, kontrolek, menu, okien tekstowych, okien obrazów itd. Każdy obiekt ma zapewnioną obsługę każdego zdarzenia. Np. jeżeli program ma wykonać jakie działanie po wciśnięciu przycisku, należy dodać odpowiedni kod programu do procedury zdarzenia Click kontrolki CommandButton. Przesunięcie kursora myszki nad jakim obiektem wywoła zdarzenie MouseMove tego obiektu i tam należy dopisać odpowiedni kod.

Wszystkie procedury zdarzeniowe mają swoje unikalne nazwy zbudowane zawsze w ten sam sposób:

     NazwaObiektu_NazwaZdarzenia()

Nawiasy nie są częścią nazwy, mogą zawierać parametry przekazywane do procedury. Nazwy procedur zdarzeniowych zależą od Visual Basic a nie od programisty. Np. dla przycisku o nazwie cmdAnuluj procedura zdarzenia Click zawsze będzie miała nazwę

     cmdAnuluj_Click()
Procedura tego zdarzenia będzie wykonana tylko wtedy, gdy użytkownik kliknie przycisk o nazwie cmdAnuluj.

Dwukrotne kliknięcie obiektu w fazie projektowania wywoła okno kodu ustawione na domyślnej procedurze zdarzenia odpowiedniej dla obiektu. Np. dwukrotne kliknięcie na przycisku cmdAnuluj wywoła okno kodu ustawione na procedurę zdarzenia

     cmdAnuluj_Click()

Visual Basic automatycznie wstawia linie początku i końca procedury. Programista musi dopisać jej ciało.

Aby wybrać procedurę innego zdarzenia, należy rozwinąć listę Procedure/Event Box okna Code i wybrać odpowiednie zdarzenie.

Aby wybrać procedurę dla innego obiektu, należy rozwiniąć listę ObjectBox i wybrać odpowiedni obiekt.

Jeżeli z listy ObjectBox wybrana zostanie pozycja (General) to lista Procedure/Event Box zmieni wartość na (Declarations) a okno kodu ustawi się na miejsce deklaracji ogólnych.

Jeżeli dodane zostaną jakieś funkcje lub procedury to będzie można je wybrać z listy Procedure/Event Box.

Procedury

Procedury i funkcje nie odpowiadają na zdarzenia, lecz są wykonywane, gdy zostaną wywołane z innej części programu.

Procedura jest szeregiem instrukcji, które są wykonywane jako jedna całość, gdy procedura zostanie wywołana. Procedury Sub wykonują określone działania, ale nie zwracają wartości. Funkcje Function wykonują określone działania i zwracają wartość do miejsca, skąd zostały wywołane.

Aby dodać procedurę lub funkcję do programu należy wybrać pozycję Add Procedure z menu Tools.

W polu Name należy wpisać nazwę procedury. Należy wybrać jedną z opcji ramki Type: Sub (proceudra Sub), Function (funkcja Function), Property (właściwość Property), Event (zdarzenie). Z opcji Scope należy wybrać zasięg procedury: Public dla procedury publicznej lub Private dla procedury prywatnej. Pole All local variables as Static oznacza, że wszystkie zmienne procedury będą statyczne.

Innym sposobem dodania procedury lub funkcji jest wpisanie jej nagłówka w oknie Code, pomiędzy innymi procedurami. Visual Basic automatycznie dopisze rozkaz końca procedury.

Funkcje i procedury mogą być wywoływane z dowolnego miejsca kodu programu (w zasięgu procedury). Procedurę można wywołać podając jej nazwę lub wykorzystując rozkaz Call. Funkcję wywołuje się podając jej nazwę, ale ponieważ zwraca ona wartość, to wartość ta musi być przekazana do jakiegoś wyrażenia, najczęściej do zmiennej.

Część procedur i funkcji może skorzystać z przekazanych do nich parametrów, aby wykonać działania z zastosowaniem ich wartości. Istnieją dwa sposoby przekazywania parametrów do procedur: przez wartość (przekazana zostaje wartość zmiennej) i przez referencję (przekazana zostaje sama zmienna).

Oprócz możliwości dodawania swoich procedur i funkcji Visual Basic udostępnia szereg funkcji wbudowanych, które wykonują różnorodne zadania. Zamiast pisać swoją funkcję można wywołać funkcję wbudowaną i wykorzystać jej działanie. Funkcje te skracają czas i ułatwiają tworzenie kodu programu.

Funkcje daty i czasu wykonują różne operacje związane z czasem (np. funkcja Time() zwraca aktualny czas), Funkcje formatujące pozwalają sformatować dane według potrzeb, żeby je wyświetlić na ekranie, Funkcje wejścia/wyjścia wykonują różne operacje wejścia/wyjścia, jak np. obsługę plików i katalogów (np. funkcja CurDir() zwraca nazwę bieżącego folderu), Funkcje konwersji danych pozwalają na konwersję danych różnych typów (np. funkcja Str() zamienia liczbę na łańcuch znaków), Funkcje matematyczne wykonują różnorodne działania matematyczne (np. Sin() oblicza sinus z podanej liczby), Funkcje tekstowe pozwalają na różnorodne operacje na łańcuchach tekstowych (np. LCase() zamienia litery łańcucha na małe), Funkcje testujące dane pozwalają sprawdzić typ danych. Visual Basic posiada również szereg innych funkcji, jak np. QBColor() i RGB() do obsługi kolorów.

Wszystkie te funkcje są zawarte w Visual Basic i ich wykorzystanie wymaga jedynie podania nazwy funkcji.

Visual Basic umożliwia również korzystanie z zewnętrznych funkcji, poprzez wykorzystanie wywołań Windows API. Są to funkcje zawarte w bibliotekach DLL systemu Windows. Użycie tych funkcji wymaga najpierw zadeklarowania funkcji z podaniem jej nazwy i lokalizacji (pliku, w którym się znajduje). Pozwala to na wykorzystanie ogromnej liczby różnorodnych funkcji, wykorzystywanych przez szereg aplikacji systemu Windows i przez sam system. Korzystanie z tych funkcji jest często dość skomplikowane i stosują je zaawansowani programiści.

« wstecz   dalej »