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.

Ön a #If...Then...#Else irányelvet használva jelöli meg azokat a kódblokkokat, amelyeket feltételesen kell lefordítani. Például, ha ugyanazon alkalmazás francia- és német nyelvű verzióit szeretné létrehozni ugyanabból a forráskódból, az előre definiált állandók, mint amilyen a #If...Then és FrenchVersion segítségével platformspecifikus kódszegmenseket ágyazhat be a GermanVersion utasításokba. 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 GermanVersionállandó értékét True-re állítja, a fordító a német verziót használja. Ha egyik sincs beállítva True, az utolsó Else blokk kódja fut.

Megjegyzé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 Projekttervezőben

  • Parancssorban, amikor a parancssori fordítót használja

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

Hogyan van beállítva az állandó? Az állandó hatóköre
Projekttervező Nyilvános a projekt összes fájlja számára
Parancssor A parancssori fordítónak átadott összes fájl nyilvános
#Const kódbeli utasítás Privát ahhoz a fájlhoz, amelyben deklarálva van
Állandók beállítása a Project Designerben
– A végrehajtható fájl létrehozása előtt állítsa be az állandókat a Project Designerben a Projekt- és megoldástulajdonságok kezelésével kapcsolatos 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 Projekttervezőben megadott deklarációkat, de nem törlik őket. A Project Designerben beállított argumentumok 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.

Referenciák

#Const irányelv

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

-define (Visual Basic)