INSTR 08 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 8

Opis działania programu Obrazki

Program Obrazki pokazuje wykorzystanie obiektów typu lista dysków - DrvListBox, lista katalogów - DirListBox, lista plików - FileListBox oraz obraz - Image do zbudowania aplikacji pozwalającej na przeglądanie rysunków w formatach BMP, WMF oraz ICO.

Implementacja wizualna programu Obrazki.

  1. Otwórz nowy projekt, zachowaj jego formę w pliku Obrazki.frm, a projekt pod nazwą Obrazki.mak.

  1. Na podstawie tabeli zbuduj formę tak jak na rysunku 1.

Obiekt

Własność

Ustawienie

Form

Name

Caption

Height

Left

Top

Width

frmObrazki

Przeglądarka

4590

1020

1305

6330

Image 0x01 graphic

Name

Height

Left

Stretch

Top

Width

imgObrazek

2775

3120

True

120

3015

Label 0x01 graphic

Name

Caption

BorderStyle

Height

Left

Top

Width

lblNazwa

(skasować zawartość)

przestawic w poz. 1-

495

3120

3000

3015

Command Button 0x01 graphic

Name

Caption

Height

Left

Top

Width

cmdKoniec

&Koniec

495

4920

3600

1215

DrvListBox 0x01 graphic

Name

Height

Left

Top

Width

drvStacja

315

120

120

2895

DirListBox 0x01 graphic

Name

Height

Left

Top

Width

dirKatalog

1380

120

480

2895

FileListBox 0x01 graphic

Name

Archive

Height

Left

Pattern

Read Only

System

Top

Width

flePliki

True

1590

120

*.bmp;*.wmf;*.ico

True

False

1920

2895

0x01 graphic

Rys.1 Program Obrazki

Instrukcja

Obiekt DrvListBox umożliwia wyświetlenie listy dysków dostępnych w komputerze podczas pracy aplikacji. Obiekt DirListBox wyśiwetla listę katalogów katalogu aktywnego. Natomiast obiekt FileListBox listę plików tego samego katalogu, przy czym cechy Pattern, Archive, Read Only, System, określają dodatkowe parametry tego wyświetlania. Cecha Pattern określa, nazwy lub rozszerzenia plików wyświetlane w liście plików. Wpis: *.bmp;*.wmf;*.ico określa, że będą widoczne tylko pliki o rozszerzeniach bmp, wmf oraz ico. Cechy Archive i System wskazują, czy mają być wyświetlane pliki o atrybutach archiwaly i systemowy. Jeżeli cechy te przyjmują wartość False to pliki o tak zdefiniowanych atrybutach nie są wyświetlane. Ustawiona na True cecha Read Only mówi, że wskazany plik może być tylko odczytywany. Obiekt o nazwie Image pozwala na wyświetlanie obrazów w formatach BMP, WMF oraz ICO. Nazwa pliku, który ma zostać wyświetlony musi zostać wprowadzony do cechy Picture.

Wprowadzanie kodu programu Lista

  1. Do procedury drvStacja_Change() formy frmObrazki wpisz następujący kod:

Sub drvStacja_Change()

dirKatalog.Path = drvStacja.Drive

End Sub

Instrukcja

Procedura ta wykonywana jest po zmianie dysku przy pomocy listy dysków. Ponieważ lista katalogów dirKatalog i lista dysków drvStacja nie są ze sobą związane, zmiana napędu dyskowego, nie wpływa na zmianę wyświetlanych katalogów. Aby miało to miejsce do cechy Path obiektu dirKatalog musi zostać przekazana informacja o wybranym napędzie dyskowym, którą można uzyskać z cechy Drive obiektu drvStacja.

  1. Do procedury drvKatalog_Change() formy frmObrazki wpisz następujący kod:

Sub drvKatalog_Change()

flePliki.Path = dirKatalog.Path

End Sub

Instrukcja

Procedura ta wykonywana jest po zmianie katalogu przy pomocy listy katalogów. Ponieważ lista katalogów dirKatalog i lista plików drvStacja nie są ze sobą związane, zmiana katalogu, nie wpływa na zmianę wyświetlanych plików. Aby miało to miejsce do cechy Path obiektu flePliki musi zostać przekazana informacja o wybranym katalogu, którą można uzyskać z cechy Patch obiektu dirKatalog.

  1. Do procedury flePliki_DblClick() formy frmObrazki wpisz następujący kod:

Sub flePliki_DblClick()

If Right(flePliki.Path,1) <> „\” Then

lblNazwa.Caption = flePliki.Path & „\” & flePliki.FileName

Else

lblNazwa.Caption = flePliki.Path & flePliki.FileName

End If

imgObrazek.Picture = LoadPicture(lblNazwa.Caption)

End Sub

Instrukcja

PrPocedura ta jest uruchamiana po dwukrotnym kliknięciu lewym klawiszem myszki na nazwie pliku z listy wyświetlanej w obiekcie flePliki. W pierwszej części nazwa pliku i ścieżka dostępu do niego łączone są w jedną całość. W tym celu pobierana jest ścieżka dostępu z cechy Patch obiektu flePlik, a następnie łączona z nazwą pliku pobieraną z cechy FileName tego samego obiektu. Łączenie odbywa się przy pomocy operatora „&” - wykonującego dodawanie dwóch łańcuchów znaków. Warunek If...Else...End If sprawdza czy ostatnim znakiem ciągu określającego ścieżkę dostępu do pliku jest „\” Funkcja Right wycina z prawej strony ciągu znaków będącego jej argumentem (flePliki.Path) ciąg znaków o podanej długości - w tym przykładzie jest to pojedynczy znak (drugi argument funkcji Right). Jeżeli warunek ten nie jest spełniony pomiędzy ciąg ścieżkę dostępu do pliku a jego nazwę wprowadzany jest dodatkowo „\”. Wygenerowana w ten sposób informacja trafia na ekran poprzez cechę Caption etykiety lblNazwa. Kod odpowiedzialny za wyżej wymienione operacje ma postać:

If Right(flePliki.Path,1) <> „\” Then

lblNazwa.Caption = flePliki.Path & „\” & flePliki.FileName

Else

lblNazwa.Caption = flePliki.Path & flePliki.FileName

End If

Wygenerowana w ten sposób nazwa wykorzystywana jest do wyświetlenia wskazanego obrazka w obiekcie imgObrazek. Wykonuje się to poprzez przypisanie do cechy Picture tego obiektu nazwy pliku, przy czym nie można zastosować jedynie operatora przypisania w postaci znaku równości „=” - dodatkowo należy zastosować funkcje LoadPicture z argumentem określającym nazwę pliku do wyświetlenia na ekranie. Kod odpowiedzialny za wykonanie tej czynności ma postać:

imgObrazek.Picture = LoadPicture(lblNazwa.Caption)

  1. Do procedury Form_Load() formy frmObrazki wpisz następujący kod:

Sub frmObrazki_Load()

drvStacja.Drive = app.Path

dirKatalog.Path = app.Path

End Sub

Instrukcja

Ponieważ w trakcie uruchamiania aplikacji dysk wskazywany w obiekcie drvStacja i katalog wyświetlany w obiekcie dirKatalog mogą być przypadkowe istnieje konieczność nadania im wartości początkowych. W ćwiczeniu jako dysk i katalog początkowy wybrano miejsce, z którego uruchomiono program Obrazki. Wykonywane jest to poprzez przyporządkowanie do obiektu drvStacja (cecha Drive - napęd) i obiektu dirKatalog (cecha Path - ścieżka) dysku i katalogu, z którego uruchomiono program (cecha Path) obiektu App. Obiekt App jest obiektem logicznym udostępnianym użytkownikowi przez język Visual Basic, który określa ogólne cechy całej aplikacje m.in. katalog, z którego została ona uruchomiona. Przyporządkowanie to powinno być wykonywane za każdym razem, kiedy do pamięci komputera ładowana (uruchamiana) jest forma frmObrazki, zdarzenie, które występuje podczas ładowania dowolnego obiektu do pamięci nosi nazwę Load i dlatego właśnie z nim związano operacje przyporządkowywania początkowego dysku i ścieżki dostępu.

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

Sub cmdKoniec_Click()

End

End Sub

Uruchomienie programu Obrazki

  1. Uruchom program Obrazki.

  1. Korzystając z listy dysków twardych i katalogów znajdź pliki obrazów graficznych w formacie BMP, WMF lub ICO.

  1. Dwukrotnie kliknij na wybranym pliku. W okienku po prawej stronie powinien pojawić się wskazany obrazek.

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

Tworzenie pliku wykonywalnego (Obrazki.exe)

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

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

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

Ćwiczenie końcowe

  1. Zmień program Obrazki, tak aby przy każdej zmianie katalogu podawał liczbę plików pokazywanych w liście.

Informacja

W celu wykonania tej operacji należy umieścić w formie dodatkową etykietę (Label), w której będzie wyświetlana liczba plików. Liczbę plików przechowywanych w liście plików flePliki zawiera cecha ListCount tego obiektu.

5

5



Wyszukiwarka

Podobne podstrony:
Test 08 doc
Test 08 doc
08 (7) DOC
FIZ 08 DOC
Why the US is losing in Afghanistan A H Cordesman 1 Oct 08 doc
INSTR 07 DOC
INSTR 05 DOC
INSTR 06 DOC
INSTR 01 DOC
INSTR 09 DOC
GAMMA 08 (2) DOC
INSTR 02 DOC
1M07 08 DOC
INSTR 10 DOC
INSTR 04 DOC
200 08 DOC
INSTR 03 DOC

więcej podobnych podstron