Podmíněná kompilace v jazyce Visual BasicConditional Compilation in Visual Basic

V podmíněné kompilacijsou konkrétní bloky kódu v programu kompilovány selektivně, zatímco ostatní jsou ignorovány.In conditional compilation, particular blocks of code in a program are compiled selectively while others are ignored.

Například můžete chtít napsat příkazy ladění, které porovnávají rychlost různých přístupů ke stejnému programovacímu úkolu, nebo můžete chtít lokalizovat aplikaci pro více jazyků.For example, you may want to write debugging statements that compare the speed of different approaches to the same programming task, or you may want to localize an application for multiple languages. Příkazy podmíněné kompilace jsou navrženy tak, aby běžely v době kompilace, nikoli v době běhu.Conditional compilation statements are designed to run during compile time, not at run time.

Všimněte si, že bloky kódu budou podmíněně kompilovány pomocí direktivy #If...Then...#Else.You denote blocks of code to be conditionally compiled with the #If...Then...#Else directive. Chcete-li například vytvořit francouzsky a německé verze stejné aplikace ze stejného zdrojového kódu, vložte segmenty kódu specifické pro platformu v příkazu #If...Then pomocí předdefinovaných konstant FrenchVersion a GermanVersion.For example, to create French- and German-language versions of the same application from the same source code, you embed platform-specific code segments in #If...Then statements using the predefined constants FrenchVersion and GermanVersion. Následující příklad ukazuje, jak:The following example demonstrates how:

#If FrenchVersion Then
   ' <code specific to the French language version>.
#ElseIf GermanVersion Then
   ' <code specific to the German language version>.
#Else
        ' <code specific to other versions>.
#End If

Pokud nastavíte hodnotu FrenchVersion konstanty podmíněné kompilace na True v době kompilace, bude zkompilován podmíněný kód pro francouzskou verzi.If you set the value of the FrenchVersion conditional compilation constant to True at compile time, the conditional code for the French version is compiled. Pokud nastavíte hodnotu GermanVersion konstanty na True, kompilátor použije německou verzi.If you set the value of the GermanVersion constant to True, the compiler uses the German version. Pokud není ani nastaveno na True, kód v posledním bloku Else spuštěn.If neither is set to True, the code in the last Else block runs.

Poznámka

Automatického dokončování nebude fungovat při úpravách kódu a použití direktiv podmíněné kompilace, pokud kód není součástí aktuální větve.Autocompletion will not function when editing code and using conditional compilation directives if the code is not part of the current branch.

Deklarace konstant podmíněné kompilaceDeclaring Conditional Compilation Constants

Můžete nastavit konstanty podmíněné kompilace jedním ze tří způsobů:You can set conditional compilation constants in one of three ways:

  • V Návrháři projektuIn the Project Designer

  • Při použití kompilátoru příkazového řádku na příkazovém řádkuAt the command line when using the command-line compiler

  • Ve vašem kóduIn your code

Konstanty podmíněné kompilace mají speciální rozsah a nelze k němu přicházet ze standardního kódu.Conditional compilation constants have a special scope and cannot be accessed from standard code. Rozsah podmíněné kompilační konstanty závisí na způsobu, jakým je nastaven.The scope of a conditional compilation constant is dependent on the way it is set. V následující tabulce je uveden rozsah konstant deklarovaných pomocí každého ze tří způsobů uvedených výše.The following table lists the scope of constants declared using each of the three ways mentioned above.

Jak je nastavená konstantaHow constant is set Rozsah konstantyScope of constant
Návrhář projektuProject Designer Veřejné pro všechny soubory v projektuPublic to all files in the project
Příkazový řádekCommand line Veřejné ke všem souborům předaným kompilátoru příkazového řádkuPublic to all files passed to the command-line compiler
#Const – příkaz v kódu#Const statement in code Soukromá k souboru, ve kterém je deklarovanýPrivate to the file in which it is declared
Nastavení konstant v Návrháři projektuTo set constants in the Project Designer
– Před vytvořením spustitelného souboru nastavte konstanty v Návrháři projektu podle kroků uvedených v části Správa vlastností projektu a řešení.- Before creating your executable file, set constants in the Project Designer by following the steps provided in Managing Project and Solution Properties.
Nastavení konstant na příkazovém řádkuTo set constants at the command line
– Použijte přepínač -d k zadání konstant podmíněné kompilace, jako v následujícím příkladu:- Use the -d switch to enter conditional compilation constants, as in the following example:
vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0
Mezi přepínačem -d a první konstantou není nutné žádné místo.No space is required between the -d switch and the first constant. Další informace naleznete v tématu -define (Visual Basic).For more information, see -define (Visual Basic).
Deklarace příkazového řádku, které jsou popsány v Návrháři projektu, však nejsou smazány.Command-line declarations override declarations entered in the Project Designer, but do not erase them. Argumenty nastavené v Návrháři projektu zůstávají platné pro následné kompilace.Arguments set in Project Designer remain in effect for subsequent compilations.
Při psaní konstant v samotném kódu nejsou k dispozici žádná striktní pravidla pro jejich umístění, protože jejich rozsah je celý modul, ve kterém jsou deklarovány.When writing constants in the code itself, there are no strict rules as to their placement, since their scope is the entire module in which they are declared.
Nastavení konstant v kóduTo set constants in your code
-Vložte konstanty do bloku deklarací modulu, ve kterém jsou použity.- Place the constants in the declaration block of the module in which they are used. To pomáhá zajistit, aby byl kód uspořádán a čitelnější.This helps keep your code organized and easier to read.
NázevTitle PopisDescription
Struktura programu a zásady týkající se kóduProgram Structure and Code Conventions Poskytuje návrhy, jak snadno číst a udržovat váš kód.Provides suggestions for making your code easy to read and maintain.

OdkazReference

Direktiva #Const#Const Directive

Direktivy #If...Then...#Else#If...Then...#Else Directives

-define (Visual Basic)-define (Visual Basic)