Kompilacja warunkowa

Kompilacja warunkowa



Kompilacja warunkowa

W czasie kompilacji programu Visual Basic moto podjąć decyzję, czy należy odtworzyć. czy tez pominąć pewne bloki instrukcji Korzystając z kompilacji wam tików ej. nasz program może zachować się w zależności od podanego warunku. Kompilacja warunkowa pozwala na przykład na zaprojektowanie aplikacji, która może działać na różnych platformach (Windows lub Macintosh). Kompilacja warunkowa jest także wykorzystywana do dystrybucji tego samego programu w wielu wersjach językowych. Kod programu wyłączony podczas kompilacji warunkowej jest całkowicie pomijany, w związku z czym nic wpływa na rozmiar ani efektywność programu

548_Visual Basic w Kxcclu 2000 - Programowanie dla każdego

Przy odtwarzaniu procedury po raz pierwszy Vi$ual Basic tłumaczy instrukcje VBA użyte w danej procedurze na język zrozumiały przez komputer. Proces ten określa się kompilacją programu. Możemy samodzielnie skompilować cały projekt VBA. w każdej chwili wybierając z menu Analiza opcję Kompiluj (Debug I font-pile ) (w nazw ie opcji umieszczona jest nazwa bieżącego projektu VBA).

Aby umożliwić kompilację warunkową, należy skorzystać ze specjalnych wyrażeń zwanych dyrektywami. Najpierw deklaruje się stałą typu Boolean za pomocą dyrektywy fCoost. następnie zaś sprawdza się tę stałą wewnątrz dyrektywy #If...Then... ffEbe. Porcja kodu. którą chcemy warunkowo kompilować, musi być wpisana między tymi dyrektywami. Zwróćmy uwagę, ze znane z instrukcji warunkowej If... Then... Klse słowa kluczowe If oraz Ełse są poprzedzone znakiem numeru (#>

Jeżeli dana porcja programu ma być odtworzona, wartość stałej kompilacji należy ustaw ie na True (-1). w przeciwnym razie wartość tej stałej powinna być Fałse

(0).

Deklaracji stałych kompilacji warunkowej należy dokonać w sekcji deklaracji w karcie modułu, na przykład

•Conat User = Tru«

Powyższa instrukcja deklaruje stalą kompilacji o nazwie User V* przykładzie poniżej procedura WhatDay pobiera i wyświetla informację w języ ku polskim, gdy stała kompilacji o nazwie jpolski ma wartość Tnie (Prawda) Procedura WhatDay woła funkcję DzieńTygodnia, która zwraca dzień tygodnia na podstawie podanej przez użytkownika daty. Funkcja Dzień Tygodnia korzysta z wbudowanej funkcji Visual Basic o nazwie Choose. która wybiera i zwraca określoną wartość z listy argumentów Jeżeli chcemy skompilować program w języku angielskim, wystarc/\ zmienić wartość stałej kompilacji na Falsc < Fałsz i i Visual Basic skoczy do bloku instrukcji, który znajduje się po dyrektyw ie #Eise. Gdy wartość stałej kompilacji jest Falsc. procedura WhatDay woła funkcję WrekdayName która zwraca dzień tygodnia korzystając ze struktury Selcct Case

1.    Wstaw nowy moduł do bieżącego projektu VBA i zmień nazwę tego modułu Conditional

2.    Wpisz następujące procedury i funkcje:

___549

•Conat verPolish * True Sub WhatDayI)

Dim dayNr Afl Xnteqer (If verPoliah • Truś Then

dayNr - MaekdayUnputBoxt"Wpisz datę, np. 00/01/2001"))

MsgBox "To bodzie " 4 DzieATyęodnla(dayNri s IIIM

WeekdayName

• End If End Sub

Functlon OstaATyęodnia(dayNr Aa Inteęar) Aa Strlng

DzlertTygodnla - Chooaa(dayNr, "niedziela", "poniedziałek", "wtorek", _ "środa", "czwartek", "płatek", "sobota")

End Function

Punction X*---.1 i/Kar- I Ar. tri . i Select Caae WeekdayłInput&oal‘Enter datę, eg. 00/01/2001•)) Case 1

WeokdayNnmo * *Sunday’

Case 2

WeekdayName *Monday'

Case 1

WeekdayName •Tuesday*

Case 4

WeekdayName •Wedneaday’

Case 5

WeekdayName 'Thurnday*

Case 6

WeekdayName •Priday*

Case 7

WeekdayName - ‘Saturday*

End Select

MaęBox *Thla datę fal la on * 4 WeekdayName 4 End Function

3. Uruchom procedurę WhatDay

_Vwual Basic w Łxcdu 2000 Programowanie dla każdego

Ponieważ wartość stałej kompilacyjncj u góry kartki modułu jest True (verPo-llsh). Visual Basic wykonuje polską wersję proedury WhatDay Program pyta o wprowadzenie danych i wyświetla rezultat w tym samym języku Aby uruchomić angielską wersję kodu. należy zmienić wartość stałej rerPoliah na Fabe i ponownie odtworzyć tę procedurę

Zamiast deklaracji stałych warunkowych kompilacji u góry karty modułu, można :,    wiimiummi i Vn/v«i/i;i iooK i»»i>m-L.i«u PropertSes

. okno Właściwości przedstawione na rysunku 13.13. Przy korzystaniu i Właściwości należy wpisać następujące wyrażenie w polu tekstu Conditional ( ompilatkin Arguments w celu włączenia angielskiej WCnyi proocdw) WhatDay: v«rPoliah • 0

Jc/eli mamy więcej mz jedną Małą warunkową kompilacji, to stale tc musimy oddzielić dwukropkiem.

CMolD-


f

l    A G

OwOg1    *»—«»_

Rysunek 13.15 Stałą warunkową kompilacji można zadeklarować u góry karty modułu lub w oknie Właściwości, ak nigdy w obu tych mieiscach


Wyszukiwarka

Podobne podstrony:
31MS EXCEL for WindowsĆwiczenie nr 4 czas 3x45 minZagadnienia: Programowanie w Visual Basic for Appl
Do utworzenia programu w danym języku niezbędne są edytor tekstu, debugger i kompilator. Programy te
DSC1200377 •    fcq
Błędy kompilacji Bezproblemowy przebieg kompilacji programu jest rzadkim zjawiskiem nawet u doświadc
Maty wstęp Klasy i obiekty Hermetyzacja w C# Konstruktory Kompilacja programów Deklar
Maty wstęp Klasy i obiekty Hermetyzacja w C# Konstruktory Kompilacja programów Deklar
Maty wstęp Klasy i obiekty Hermetyzacja w C# Konstruktory Kompilacja programów Deklar
Maty wstęp Klasy i obiekty Hermetyzacja w C# Konstruktory Kompilacja programówDeklara
Maty wstęp Klasy i obiekty Hermetyzacja w C# Konstruktory Kompilacja programów Deklar
Maty wstęp Klasy i obiekty Hermetyzacja w C# Konstruktory Kompilacja programów Deklar
s371 Podstawowe narzędzia programistyczne 371 Kompilowanie programu w XII 1.    Aby
39137 s365 Rozdział 23Podstawowe narzędzia programistyczneJan Walter Kompilowanie programów za pomoc
•    Podczas kompilacji programu mogą wystąpić błędy. •
PROGRAM PARTNERSKI DLA DEALERÓW- warunki uczestnictwa -mechanizm PROGRAM PARTNERSKI DLA INTEGRATORÓW

więcej podobnych podstron