Turinys

# CompatibilityMode() funkcija

CompatibilityMode() function controls or queries runtime mode. It affects all code executed after setting or resetting the runtime mode.

Naudokite šią funkciją atsargiai, apsiribokite, pavyzdžiui, dokumentų konvertavimu.

### Sintaksė:

          CompatibilityMode(Optional Enable As Boolean) As Boolean

### Return type:

CompatibilityMode function always returns the mode that is active after its execution. That is, if called with an argument, it returns the new mode; if called without an argument, it returns the active mode without modifying it.

### Parametrai:

Enable: Sets or unsets new compatibility mode when the argument is present.

CompatibilityMode function relates to Option VBASupport 1, in which case it always returns True. It is unrelated to Option Compatible compiler directive.

Ši funkcija gali paveikti arba padėti šiose situacijose:

- Scoping of variables.

- VBA būsena vykdoma naudojant komandą RmDir. VBA pašalina tik tuščius katalogus, naudodama RmDir, tuo tarpu kai „LibreOffice Basic“ katalogą pašalina rekursyviai.

- „Basic“ komandos Dir elgesio pokytis. Katalogo vėliava (16) komandai Dir reiškia, kad tik „LibreOffice Basic“ katalogai grąžinami, tuo tarpu kai VBA grąžinami normalūs failai ir katalogai.

- Color components calculation with the Red and Blue functions which are interchanged (The Green function is not affected).

### Pavyzdys:

Pateikiama NOT tuščias katalogas iš file:///home/me/Test

          Sub RemoveDir
              MsgBox CompatibilityMode() ' False

              CompatibilityMode( True )
              RmDir( "file:///home/me/Test" )
              CompatibilityMode False

              MsgBox CompatibilityMode ' False
          End Sub

With CompatibilityMode( True ) the program raises an error, otherwise the Test directory and all its content is deleted.

### Pavyzdys:

Modifikuojant Dir elgesį

        Sub VBADirCommand
            CompatibilityMode( Enable := True )   ' Shows also normal files
            Entry$ = Dir( "file:///home/me/Tmp/*.*", 16 )
            Total$ = ""
            While Entry$ <> ""
                Total$ = Total$ + Entry$ + Chr$(13)
                Entry$ = Dir
            Wend
            MsgBox Total$
            CompatibilityMode Enable := False ' Shows only directories
        End Sub

Susijusios temos

Suderinamumo parinkties sakinys

Rem sakinys

Kintamųjų srities modifikacija Naudojant procedūras ir funkcijas taikant CompatibilityMode() funkciją.

Pasirinktinis Base sakinys

Pasirinktinis išreikštinis sakinys

Pasirinktinis VBASupport sakinys

ClassModule parinkties sakinys

Paremkite mus!