Akademia Techniczno-Rolnicza w Bydgoszczy
Wydział Mechaniczny
Katedra Sterowania i Konstrukcji
Systemy mikrokomputerowe
WSTĘP DO PROGRAMOWANIA
W JĘZYKU VISUAL BASIC
Instrukcja nr 2
Opis działania programu Szybkość
Na początku ukazuje się forma jak na rysunku 1. Suwak przewijania jest ustawiony pośrodku (pozycja standardowa). W polu tekstu wyświetlona jest wartość szybkości równa 50 km/h (wartość standardowa).
Gdy zmienisz ustawienie suwaka zauważysz zmianę w polu tekstu. Na przykład, jeśli suwak jest na lewym końcu paska, w polu tekstu wyświetlona będzie wartość 0, a jeżeli przesuniemy suwak do prawego końca paska przewijania, w polu tekstu znajdzie się wartość 100.
Realizacja programu Szybkość w Visual Basicu
Otwórz nowy projekt (wybierz w menu File pozycję New Project).
Zachowaj formę projektu pod nazwą Szybkosc.frm i zachowaj plik projektu jako Szybkosc.mak wybierając z menu File opcję Save Project As. Na wyświetlone pytanie, czy chcesz zachować formę, kliknij Tak.
Na podstawie poniższej tabeli zbuduj formę frmSzybkosc.
Obiekt |
Cecha |
Ustawienie |
Form |
Name BackColor Caption Height Left Top Width |
frmSzybkosc (ustawna jasnoszary) Szybkość 4425 1035 1140 7485 |
Text Box |
Name Alignment BackColor ForeColor Height Left Multiline Text Top Width |
txtSzybkosc 2-Center (czarny) (biały) 495 3120 True 50 km/h 1800 1215 |
Horizontal Scroll Bar |
Name Height Left Max Top Value Width |
hsbSzybkosc 255 1200 100 2760 50 5175 |
Command Button |
Name Caption Height Left Top Width |
cmdKoniec &Koniec 495 3120 3240 1215 |
Rys.1 Program Szybkość
Informacja |
Powyższa tabela zawiera nowe, dotychczas nie wykorzystywane, cechy Min oraz Max.
Pasek przewijania przedstawia zbiór wartości. Cecha Min określa wartość minimalną, cecha Max wartość maksymalną. Jak wynika z tabeli Min jest ustawiona na 0, a Max na 100. To oznacza, że suwak przewijania może wskazywać wartości od 0 do 100.
Cecha Value paska przewijania przedstawia wartość bieżącą. W naszym przypadku Value może być dowolną liczbą od 0 do 100. Po wywołaniu programu Szybkość suwak jest ustawiony w położeniu odpowiadającemu wartości cechy Value. Ponieważ została ona ustawiona na 50 suwak jest ustawiony na środku paska (50 to połowa pomiędzy 0 i 100).
Cecha Text pola tekstu jest ustawiona w tabeli na 50 km/h. Na początku działania programu wartość wyświetlana w polu tekstu przedstawia początkowe ustawienie suwaka. |
Wprowadzanie kodu programu Szybkość
W procedurze cmdKoniec_Click() formy frmSzybkosc wpisz następujący kod:
Sub cmdKoniec_Click()
End
End Sub
Zachowaj projekt (wybierz z menu File opcję Save Project).
Informacja |
Aby wpisać kod należy dwukrotnie kliknąć na przycisku Koniec. Visual Basic wyświetli okienko kodu procedury cmdKoniec_Click(). |
Uruchomienie programu Szybkość.
Aby uruchomić program, możesz wcisnąć F5, wybrać Start z menu Run, albo kliknąć ikonę Run (rysunek 2).
Start Koniec
Rys.2 Menu narzędzi
Zmieniaj bieżącą pozycję paska przewijania klikając na prawej i lewej strzałce. Jak widzisz nic się nie dzieje. Wynika to z braku kodu obsługującego ten pasek.
Kliknij przycisk Koniec, aby zakończyć działanie programu.
Obiekty aktywne
Informacja |
Wciskając na klawiaturze klawisz [Tab] można zmieniać obiekt aktywny. Możliwe jest rozpoznanie, który obiekt jest aktywny. Jeśli aktywne jest pole tekstu, to kursor który się w nim znajduje miga. Jeśli aktywny jest przycisk Koniec, to jego nagłówek otacza narysowany przerywaną linią prostokąt. Jeśli aktywny jest pasek przewijania, miga jego suwak. |
Uruchom program.
Wciskaj klawisz [Tab], aż pasek przewijania stanie się aktywny (suwak zacznie migać).
Jeśli pasek przewijania jest aktywny, możesz przesuwać suwak przy użyciu lewej i prawej strzałki na klawiaturze. Wciskanie klawiszy daje ten sam skutek co klikanie ikon prawej i lewej strzałki paska przewijania.
Wciskaj klawisz [Tab], aż aktywny będzie przycisk Koniec.
Gdy przycisk Koniec będzie aktywny, wciśnij spacje lub [Enter]. Wciskanie klawisza spacji lub [Enter], gdy przycisk jest aktywny, ma to samo działanie, co klikanie przycisku myszką.
Zakończ działanie programu, klikając Koniec.
Zwiększanie możliwości programu Szybkość
Wprowadź do procedury hsbSzybkosc_Change() następujący kod: (Aby wejść do procedury hsbSzybkosc_Change(), kliknij dwukrotnie pasek przewijania).
Sub hsbSzybkosc_Change()
txtSzybkosc.Text = str(hsbSzybkosc.Value) + „ km/h”
End Sub
Informacja |
Procedura hsbSzybkosc_Change() jest wykonywana zawsze, gdy zmieni się pozycję suwaka przewijania. Gdy zostanie zmieniona pozycja suwaka automatycznie system Windows zmienia cechę Value obiektu hsbSzybkosc. Na przykład jeśli suwak zostanie ustawiony w lewym skrajnym położeniu cecha Value automatycznie przyjmuje wartość 0.
Zmiana bieżącej pozycji suwaka na pasku przewijania powinna powodować wyświetlenie w polu tekstu wartości odpowiadającej nowemu położeniu. Wykonuje się to poprzez przypisanie cechy Value paska przewijania do cechy Text pola tekstowego, uzupełniając ją o nazwę jednostki szybkości. |
Zachowaj projekt (wybierz Save Project z menu File).
Wywołaj program Szybkość.
Poruszaj suwakiem. Teraz, gdy zmieniasz jego ustawienie, odpowiednio zmienia się wartość wyświetlana w polu tekstu.
Zakończ działanie programu, klikając Koniec.
Zablokowanie pola tekstowego
Uruchom program Szybkość.
W czasie działania programu kliknij w dowolnym miejscu pola tekstowego i wpisz jakikolwiek tekst.
Informacja |
Pole tekstu nie jest zabezpieczone przed wprowadzeniem do niego liczby (lub tekstu) nie odpowiadającego bieżącej pozycji suwaka. Program nie powinien umożliwiać wykonywania takiej operacji, gdyż pole tekstowe zawsze ma wyświetlać bieżącą prędkość zgodnie z aktualną pozycją suwaka. Aby zabezpieczyć pole tekstowe przed zapisem tekstu przez użytkownika należy cechę Enable (dostępność) ustawić na False (fałsz). |
Zakończ działanie programu, klikając Koniec.
Wyświetl okienko własności dla pola tekstowego i zmień własność Enabled na False.
Ponownie wywołaj program (edycja w polu tekstu nie jest teraz możliwa).
Zakończ działanie programu, klikając Koniec.
Zmiana pola tekstu podczas przeciągania suwaka przewijania
Spróbuj przeciągnąć suwak przewijania. Gdy go przesuwasz, zawartość pola tekstu nie zmienia się. Ma to miejsce dopiero po zwolnieniu suwaka.
Informacja |
Byłoby lepiej, gdyby pole tekstu zmieniało swoją zawartość podczas przeciągania suwaka. Aby taka sytuacja mogła zaistnieć konieczne jest zaprogramowanie reakcji na zdarzenie Scroll (przewijanie) związane z paskiem przewijania. Wybierz zdarzenie Scroll z listy Proc wyświetlanej w okienku Code. Procedura ta jest wywoływana zawsze, gdy zmienia się pozycję suwaka. Zmiana tego położenia aktualizuje automatycznie wartość cechy Value. Kod wewnątrz procedury hsbSzybkosc_Scroll() jest identyczny jak w procedurze hsbSzybkosc_Change(). |
Musisz dopisać do procedury hsbSzybkosc_Scroll() następującą instrukcję:
txtSzybkosc.Text = hsbSzybkosc.Value + „ km/h”
Uruchom program Szybkość
Przeciągaj suwak paska przewijania (tekst w polu tekstu będzie się zmieniać zgodnie z pozycją suwaka).
Zakończ działanie programu, klikając Koniec.
Zachowywanie wykonanej pracy
Z menu File wybierz opcję Save Project.
Tworzenie pliku wykonywalnego (Szybkosc.exe)
Wybierz z menu File opcję Make EXE File.
Zapamiętaj plik pod nazwą Szybkosc.exe.
Zakończ działanie Visual Basic wybierając z menu File opcję Exit.
Uruchom stworzony program.
Ćwiczenie końcowe
Ustaw w programie Szybkość własności paska przewijania tak, aby pokazywał prędkość w zakresie od 10 do 200 km/h, a wartością początkową było 37 km/h.
6