INSTR 07 DOC


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.

  1. 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 0x01 graphic

Name

Caption

Height

Left

Top

Width

lblNazwisko

Nazwisko do dodania:

255

600

360

2655

Label 0x01 graphic

Name

Caption

Height

Left

Top

Width

lblKlient

Klientów:

255

600

4440

855

Label 0x01 graphic

Name

Caption

Height

Left

Top

Width

lblSuma

(skasować zawartość)

375

2415

4440

855

Text Box 0x01 graphic

Name

Height

Left

Top

Width

Text

txtNazwisko

375

600

720

2655

(skasować zawartość)

Command Button 0x01 graphic

Name

Caption

Enabled

Height

Left

Top

Width

cmdDodaj

&Dodaj

False

495

3840

840

1215

Command Button 0x01 graphic

Name

Caption

Enabled

Height

Left

Top

Width

cmdUsun

&Usuń

False

495

3840

1680

1215

Command Button 0x01 graphic

Name

Caption

Height

Left

Top

Width

cmdCzysc

&Czyść

495

3840

2520

1215

Command Button 0x01 graphic

Name

Caption

Height

Left

Top

Width

cmdKoniec

&Koniec

495

3840

3840

1215

ListBox 0x01 graphic

Name

Height

Left

Sorted

Top

Width

lstKlient

2595

600

True

1440

2655

0x01 graphic

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

Instrukcja

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.

  1. Do procedury lstKlient_Click() formy frmLista wpisz następujący kod:

Private Sub lstKlient_Click()

If lstKlient.ListIndex <> -1 Then

cmdUsun.Enabled = True

End If

End Sub

Instrukcja

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.

  1. 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

If Len(txtNazwisko.Text) > 0 Then

cmdDodaj.Enabled = True

Else

cmdDodaj.Enabled = False

End If

End Sub

Instrukcja

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ć:

lstKlient.AddItem txtNazwisko.Text

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):

txtNazwisko.Text = ""

txtNazwisko.SetFocus

W etykiecie lblSuma pojawia się całkowita liczba elementów listy, uzyskana z cechy ListCount obiektu lstKlient.

lblSuma.Caption = lstKlient.ListCount

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.

If Len(txtNazwisko.Text) > 0 Then

cmdDodaj.Enabled = True

Else

cmdDodaj.Enabled = False

End If

  1. Do procedury cmdUsun_Click() formy frmLista wpisz następujący kod:

Private Sub cmdUsun_Click()

Dim Ind As Integer

Ind = lstKlient.ListIndex

If Ind >= 0 Then

lstKlient.RemoveItem Ind

lblSuma.Caption = lstKlient.ListCount

Else

Beep

End If

If lstKlient.ListIndex <> -1 Then

cmdUsun.Enabled = True

Else

cmdUsun.Enabled = False

End If

End Sub

Instrukcja

Procedura cmdUsun_Click() wykonywana jest po kliknięciu na przycisk Usuń. Powoduje ona usunięcie wskazanego elementu listy. Jest to wykonywane poprzez wywołanie metody RemoveItem obiektu lstKlient z argumentem zawierającym indeks usuwanego elementu listy. W opisywanym programie jest to zmienna Ind. Wartość Ind pobierana jest z cechy ListIndex obiektu lstKlient:

Dim Ind As Integer

Ind = lstKlient.ListIndex

Następnie sprawdzany jest warunek, czy wartość zmiennej Ind jest różna od -1, czyli czy użytkownik wskazał jakikolwiek element listy. Jeśli warunek ten jest spełniony, następuje usunięcie elementu, w przeciwnym wypadku generowany jest sygnał dźwiękowy informujący o błędzie:

If Ind >= 0 Then

lstKlient.RemoveItem Ind

lblSuma.Caption = lstKlient.ListCount

Else

Beep

End If

W ostatnim kroku sprawdzany jest warunek, czy w użytkownik lub inna procedura nie wskazała następnego elementu listy. W tym celu sprawdzana jest cecha ListIndex obiektu lstKlient. Jeżeli jej wartość jest różna od -1 oznacza to, że wybrany jest element listy co powoduje pozostawienie włączonym przycisku Usuń (umożliwia usunięcie kolejnego zaznaczonego elementu listy. W przeciwnym wypadku zostaje on wyłączony, aż do zaznaczenia kolejnego elementu listy.

If lstKlient.ListIndex <> -1 Then

cmdUsun.Enabled = True

Else

cmdUsun.Enabled = False

End If

  1. Do procedury cmdCzysc_Click() formy frmLista wpisz następujący kod:

Private Sub cmdCzysc_Click()

lstKlient.Clear

lblSuma.Caption = lstKlient.ListCount

cmdUsun.Enabled = False

End Sub

Instrukcja

Procedura cmdCzysc_Click() wykonywana jest po kliknięciu na przycisk Czyść. Powoduje ona usunięcie wszystkich elementów listy. Wykonywane jest to poprzez wywołanie metody Clear obiektu lstKlient. Kod odpowiedzialny za tą operacje ma postać:

lstKlient.Clear

Następnie w etykiecie lblSuma pojawia się całkowita liczba elementów listy, uzyskana z cechy ListCount obiektu lstKlient (równa 0).

lblSuma.Caption = lstKlient.ListCount

W ostatnim kroku wyłączany jest przycisk Usuń, lista jest pusta, a więc nie można już z niej niczego usunąć.

cmdUsun.Enabled = False

  1. Do procedury cmdKoniec_Click() formy frmLista wpisz następujący kod:

Sub cmdKoniec_Click()

End

End Sub

Uruchomienie programu Lista

  1. Uruchom program Lista.

  1. Kliknij na pole tekstowe, wprowadź dowolny tekst.

  1. Klikając na przycisk Dodaj wprowadź tekst do listy, powtórz operacje kilkukrotnie, tak aby umieścić na liście większą liczbę wpisów.

  1. Zaznacz jeden z wprowadzonych wpisów, kliknij Usuń aby go usunąć.

  1. Usuń wszystkie wpisy klikając Czyść.

  1. Kliknij Koniec, aby zakończyć działanie programu.

Tworzenie pliku wykonywalnego (Lista.exe)

  1. Wybierz z menu File opcję Make EXE File.

  1. Zapamiętaj plik pod nazwą Lista.exe .

  1. Zakończ działanie Visual Basic wybierając z menu File opcję Exit.

Ćwiczenie końcowe

  1. Zmień program Lista, tak aby umożliwiał modyfikacje zapisanego w liście elementu po jego wskazaniu.

Informacja

Modyfikacja powinna odbywać się poprzez wskazanie elementu, po czym powinno nastąpić przepisanie danych do okienka tekstowego. Po dokonaniu zmian przez użytkownika powinno nastąpić skasowanie starego zapisu i dodanie nowego - poprawionego.

Aby wyświetlić wskazany element należy skorzystać z następującego kodu:

txtNazwisko.Text = lstKlient.List(lstKlient.ListIndex)

cecha List zawiera tekst wszystkich elementów listy zgrupowane w ponumerowanej tablicy, aby uzyskać tekst wskazanego elementu z listy należy podać jego indeks argument lstKlient.ListIndex.

5

7



Wyszukiwarka

Podobne podstrony:
R 07 DOC
~$ 00 07 DOC
INSTR 08 DOC
INSTR 05 DOC
INSTR 06 DOC
INSTR 01 DOC
INSTR 09 DOC
103 07 DOC
Gimn 07 (2) DOC
206 07 DOC
INSTR 02 DOC
INSTR 10 DOC
INSTR 04 DOC
MAPA 07 DOC
INSTR 03 DOC
~$awo konstytucyjne 22 01 07 doc

więcej podobnych podstron