Akademia Techniczno-Rolnicza w Bydgoszczy
Wydział Mechaniczny
Katedra Sterowania i Konstrukcji
Systemy mikrokomputerowe
WSTĘP DO PROGRAMOWANIA
W JĘZYKU VISUAL BASIC
Instrukcja nr 7
Opis działania programu Lista
Program Lista pokazuje wykorzystanie obiektu typu lista do zbudowania aplikacji pozwalającej na zachowanie listy klientów.
Implementacja wizualna programu Lista.
1. Otwórz nowy projekt, zachowaj jego formę w pliku Lista.frm, a projekt pod nazwą Systemy.mak.
2. Na podstawie tabeli zbuduj formę tak jak na rysunku 1.
Obiekt
Własność
Ustawienie
Form
Name
Caption
Height
Left
Top
Width
frmLista
Lista Klientów
5715
1170
1350
5775
Label
lblNazwisko
Nazwisko do dodania:
255
600
360
2655
lblKlient
Klientów:
4440
855
lblSuma
(skasować zawartość)
375
2415
Text Box
Text
txtNazwisko
720
Command Button
Enabled
cmdDodaj
&Dodaj
False
495
3840
840
1215
cmdUsun
&Usuń
1680
cmdCzysc
&Czyść
2520
cmdKoniec
&Koniec
ListBox
Sorted
lstKlient
2595
True
1440
Rys.1 Program Lista
Instrukcja
Lista wyświetla listę wchodzących w jej skład elementów (informacji w postaci tekstowej), które użytkownik może wybrać przez wskazanie myszką. Wybór może dotyczyć pojedynczego elementu lub większej ich liczby. Kiedy wszystkie elementy listy nie mieszczą się na ekranie automatycznie dodawany jest pionowy pasek przewijania. Z każdym elementem listy związana jest wartość numeryczna nazywana indeksem (Index). Z pierwszym elementem listy związana jest wartość indeksu równa 0. Cecha ListIndex zawiera indeks aktualnie wybranego elementu listy lub wartość -1 jeżeli żaden element nie jest wybrany. Cecha ListCount określa całkowitą liczbę elementów wchodzących w skład listy. Aby dodać lub odjąć element listy należy użyć metod AddItem lub RemoveItem. Metody są to procedury zdefiniowane wewnątrz obiektów języka Visual Basic służące do ich obsługi.
Wprowadzanie kodu programu Lista
1. Do procedury txtNazwisko_Change() formy frmLista wpisz następujący kod:
Sub txtNazwisko_Change()
If Len(txtNazwisko.Text) > 0 Then
cmdDodaj.Enabled = True
End If
End Sub
Kod zawarty w procedurze txtNazwisko_Change() wykonywany jest gdy użytkownik wprowadzi jakiekolwiek dane do okienka tekstowego i naciśnie klawisz Enter. Warunek zawarty w procedurze sprawdza, czy długość ciągu znaków w okienku tekstowym nie jest zerowa (użytkownik wprowadził jakikolwiek tekst). Jeżeli warunek jest spełniony to uaktywniany jest przycisk Dodaj. Funkcja Len zwraca długość łańcucha znaków będącego jej argumentem.
2. Do procedury lstKlient_Click() formy frmLista wpisz następujący kod:
Private Sub lstKlient_Click()
If lstKlient.ListIndex <> -1 Then
cmdUsun.Enabled = True
Procedura uaktywnia klawisz usuwający elementy z listy. Uruchomienie procedury następuje po kliknięciu lewym klawiszem myszki na obszarze zajmowanym przez listę (zdarzenie nie musi być związane z kliknięciem na jakikolwiek element listy). Uaktywnienie przycisku Usuń następuje po sprawdzeniu, czy użytkownik wskazał jakikolwiek obiekt na liście. Cecha ListIndex zawiera indeks wybranego elementu listy lub wartość -1 jeżeli żaden element nie został wybrany.
3. Do procedury cmdDodaj_Click() formy frmLista wpisz następujący kod:
Private Sub cmdDodaj_Click()
lstKlient.AddItem txtNazwisko.Text
txtNazwisko.Text = ""
txtNazwisko.SetFocus
lblSuma.Caption = lstKlient.ListCount
Else
cmdDodaj.Enabled = False
Procedura cmdDodaj_Click() wykonywana jest po kliknięciu na przycisk Dodaj. Powoduje ona dodanie elementu do listy. Wykonywane jest to poprzez wywołanie metody AddItem obiektu lstKlient z argumentem, który zawiera tekst mający stać się kolejnym elementem listy. W opisywanym programie jest to cecha Text okienka tekstowego txtNazwisko. Kod odpowiedzialny za tą operacje ma postać:
Następnie kasowana jest zawartość okna tekstowego (cecha Text) txtNazwisko oraz wykonywana jest metoda SetFocus ustawiająca na powrót kursor w okienku tekstowym (czyniąca obiekt txtNazwisko aktywnym):
W etykiecie lblSuma pojawia się całkowita liczba elementów listy, uzyskana z cechy ListCount obiektu lstKlient.
W ostatnim kroku sprawdzany jest warunek, czy w polu tekstowym pojawił się nowy wpis (tekst), który może stać się następnym elementem listy. W tym celu sprawdzana jest ilość znaków (funkcja Len) tekstu aktualnej wartości cechy Text obiektu txtNazwisko. Jeżeli jest ona większa od zera przycisk Dodaj pozostaje włączony (umożliwia wprowadzenie nowego elementu listy). W przeciwnym wypadku zostaje on wyłączony, aż do pojawienia się jakiegokolwiek nowego wpisu w okienku tekstowym.
...
kkkate