Megosztás a következőn keresztül:


Feltételes fordítás a Visual Basicben

A feltételes fordítás során a program egyes kódblokkjainak fordítása szelektíven, másokat figyelmen kívül hagyva.

Előfordulhat például, hogy olyan hibakeresési utasításokat szeretne írni, amelyek összehasonlítják ugyanahhoz a programozási feladathoz képest a különböző megközelítések sebességét, vagy több nyelvre szeretné honosítani az alkalmazásokat. A feltételes fordítási utasítások úgy vannak kialakítva, hogy a fordítási idő alatt fussanak, nem pedig futásidőben.

Az irányelvvel #If...Then...#Else feltételesen lefordítandó kódblokkokat jelöli. Ha például ugyanazon alkalmazás francia és német nyelvű verzióit ugyanabból a forráskódból szeretné létrehozni, platformspecifikus kódszegmenseket #If...Then ágyazhat be az előre definiált állandók FrenchVersion és GermanVersion. Az alábbi példa bemutatja, hogyan:

#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

Ha a FrenchVersion feltételes fordítási állandó értékét fordítási időpontra True állítja, a rendszer lefordítja a francia verzió feltételes kódját. Ha az állandó Trueértékét állítja GermanVersion be, a fordító a német verziót használja. Ha egyik sincs beállítva True, az utolsó Else blokk kódja fut.

Feljegyzés

Az automatikus kiegészítés nem fog működni a kód szerkesztésekor és a feltételes fordítási irányelvek használatakor, ha a kód nem része az aktuális ágnak.

Feltételes fordítási állandók deklarálása

A feltételes fordítási állandókat háromféleképpen állíthatja be:

  • A Project Tervező

  • A parancssori fordító használatakor

  • A kódban

A feltételes fordítási állandók speciális hatókörrel rendelkeznek, és nem érhetők el a standard kódból. A feltételes fordítási állandó hatóköre a beállítás módjától függ. Az alábbi táblázat a fent említett három módszer mindegyikével deklarált állandók hatókörét sorolja fel.

Az állandó beállítása Az állandó hatóköre
Project Tervező Nyilvános a projekt összes fájlja számára
Parancssor A parancssori fordítónak átadott összes fájl nyilvános
#Const utasítás kódban Privát ahhoz a fájlhoz, amelyben deklarálva van
Állandók beállítása a Project Tervező
– A végrehajtható fájl létrehozása előtt állítsa be az állandókat a Project Tervező a Projekt- és megoldástulajdonságok kezelése című témakörben ismertetett lépések végrehajtásával.
Állandók beállítása a parancssorban
- A -d kapcsolóval feltételes fordítási állandókat adhat meg, ahogyan az alábbi példában is látható:
vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0
Nincs szükség szóközre a -d kapcsoló és az első állandó között. További információ: -define (Visual Basic).
A parancssori deklarációk felülírják a Project Tervező beírt deklarációkat, de nem törlik őket. A Project Tervező argumentumai továbbra is érvényben maradnak a későbbi fordítások esetében.
Amikor állandókat ír a kódba, nincsenek szigorú szabályok az elhelyezésükre, mivel a hatókörük az egész modul, amelyben deklarálva vannak.
Állandók beállítása a kódban
- Helyezze az állandókat annak a modulnak a deklarációs blokkjára, amelyben azokat használják. Ez segít a kód rendszerezésében és könnyebb olvashatóságában.
Cím Leírás
Programstruktúra és kódkonvenciók Javaslatokat nyújt a kód egyszerű olvashatóságához és karbantartásához.

Referencia

#Const irányelv

#If... Ezután...#Else irányelvek

-define (Visual Basic)