-c
fbc -c soubor.bas
Zkompiluje pouze do objektového souboru (.o), bez linkování.
Kompletní offline referenční příručka jazyka FreeBASIC (verze kompilátoru 1.0.1), 548 klíčových slov/funkcí seřazených podle funkce, plus přepínače příkazové řádky kompilátoru fbc. Sestaveno podle oficiální dokumentace FreeBASIC (fbc, GPL/GFDL).
FreeBASIC je svobodný (open-source), na příkazové řádce ovládaný kompilátor jazyka BASIC pro Windows, Linux, DOS, FreeBSD a další platformy, se syntaxí navazující na Microsoft QuickBASIC / QBasic, ale rozšířenou o moderní prvky: ukazatele, celočíselné typy různých velikostí a se znaménkem i bez, jmenné prostory, objektově orientované programování (Type/Class s dědičností, konstruktory, destruktory, virtuálními metodami), přetěžování procedur a operátorů, inline assembler, preprocesor podobný jazyku C, sdílené a dynamicky linkované knihovny a vícevláknové programování. Verze 1.0.1 (2013) je první stabilní řada 1.0 kompilátoru fbc.
' komentář
#include "soubor.bi"
Dim x As Integer = 10
Sub Pozdrav(jmeno As String)
Print "Ahoj, " & jmeno
End Sub
Pozdrav("svete")
Sleep
Zdrojové soubory mají příponu .bas, hlavičkové soubory .bi. Kód mimo proceduru se vykonává v pořadí, v jakém je zapsán
(pokud není zadán jiný vstupní modul přepínačem -m). Řádky komentářů začínají apostrofem ' nebo klíčovým slovem
Rem.
Kompilátor lze přepínačem -lang přepnout mezi dialekty: fb (výchozí, plné možnosti jazyka, case-sensitive
identifikátory u některých prvků), qb (kompatibilita s QuickBASIC/QBasic) a fblite (zjednodušený režim bez
nutnosti explicitních deklarací typů, ale s moderními rozšířeními) a deprecated (staré, dnes již neudržované chování).
| Typ | Velikost | Rozsah / poznámka |
|---|---|---|
| Boolean | 1 B | True(-1) / False(0) |
| Byte | 1 B | -128 až 127 |
| UByte | 1 B | 0 až 255 |
| Short | 2 B | -32768 až 32767 |
| UShort | 2 B | 0 až 65535 |
| Long | 4 B | -2 147 483 648 až 2 147 483 647 |
| ULong | 4 B | 0 až 4 294 967 295 |
| Integer | 4/8 B | velikost dle platformy (32/64bit) |
| UInteger | 4/8 B | velikost dle platformy (32/64bit) |
| LongInt | 8 B | 64bitové celé číslo se znaménkem |
| ULongInt | 8 B | 64bitové celé číslo bez znaménka |
| Single | 4 B | plovoucí řádová čárka, jednoduchá přesnost |
| Double | 8 B | plovoucí řádová čárka, dvojitá přesnost |
| String | proměnná | dynamický nebo pevné délky (String * n) |
| ZString | proměnná | řetězec ukončený nulou (C-string) |
| WString | proměnná | řetězec širokých znaků |
Základní syntaxe: fbc [přepínače] soubor1.bas [soubor2.bas ...]
fbc -c soubor.bas
Zkompiluje pouze do objektového souboru (.o), bez linkování.
fbc -d DEBUG=1 soubor.bas
Definuje preprocesorový symbol z příkazové řádky (jako #define).
fbc -e soubor.bas
Zapne kontrolu chyb za běhu (error checking, pole meze apod.).
fbc -exx soubor.bas
Zapne rozšířené kontroly za běhu včetně kontrol Null ukazatelů.
fbc -fpu sse soubor.bas
Zvolí, která jednotka pro desetinná čísla se má použít.
fbc -g soubor.bas
Zahrne ladicí informace pro debugger (gdb) a povolí Assert.
fbc -i cesta soubor.bas
Přidá adresář do cest prohledávaných pro #include.
fbc -l m soubor.bas
Přilinkuje zadanou knihovnu.
fbc -lang qb soubor.bas
Zvolí jazykový dialekt kompilátoru.
fbc -m main soubor1.bas soubor2.bas
Určí modul obsahující vstupní bod programu (výchozí Main).
fbc -maxerr 5 soubor.bas
Nastaví maximální počet chyb, po kterém kompilace skončí.
fbc -mt soubor.bas
Slinkuje program s vícevláknovou (thread-safe) run-time knihovnou.
fbc -o vystup soubor.bas
Nastaví jméno výstupního souboru.
fbc -O 2 soubor.bas
Nastaví úroveň optimalizace (0 až 5).
fbc -p cesta soubor.bas
Přidá adresář do cest prohledávaných pro knihovny (linker).
fbc -r soubor.bas
Vygeneruje pouze assemblerový výstup (.asm), bez sestavení.
fbc -s gui soubor.bas
Zvolí typ výstupu (konzolová aplikace, GUI, DLL, statická knihovna).
fbc -v soubor.bas
Zobrazí podrobnosti o průběhu kompilace (verbose).
fbc -w all soubor.bas
Zapne dodatečná varování při kompilaci.
fbc -x program.exe soubor.bas
Alternativní způsob zadání jména výstupního souboru.
fbc --version
Vypíše verzi kompilátoru FreeBASIC a ukončí program.
Erase pole[, pole2 ...]
Zruší (uvolní) obsah statického nebo dynamického pole; u dynamických polí uvolní i paměť.
LBound( pole [, dimenze] )
Vrátí dolní mez (index) zadané dimenze pole; výchozí dolní mez je 0.
ReDim Preserve pole(nové_meze)
Modifikátor příkazu ReDim, který zachová stávající obsah pole při změně velikosti poslední dimenze.
ReDim [Preserve] pole(meze) [As typ]
(Znovu)vytvoří dynamické pole se zadanými mezemi; vyžaduje deklaraci pomocí Dim ... ().
UBound( pole [, dimenze] )
Vrátí horní mez (nejvyšší platný index) zadané dimenze pole.
Bit( výraz, bitpozice )
Vrátí hodnotu 0 nebo 2^bitpozice podle toho, zda je daný bit ve výrazu nastaven.
BitReset( výraz, bitpozice )
Vrátí výraz se zadaným bitem vynulovaným (nastaveným na 0).
BitSet( výraz, bitpozice )
Vrátí výraz se zadaným bitem nastaveným na 1.
HiByte( výraz )
Vrátí horní (vyšší) bajt 16bitové hodnoty.
HiWord( výraz )
Vrátí horní (vyšší) 16bitové slovo 32bitové hodnoty.
LoByte( výraz )
Vrátí dolní (nižší) bajt 16bitové hodnoty.
LoWord( výraz )
Vrátí dolní (nižší) 16bitové slovo 32bitové hodnoty.
DefByte písmeno[-písmeno] [, ...]
Nastaví, že proměnné začínající zadaným písmenem mají implicitně typ Byte, pokud nejsou deklarovány jinak.
DefDbl písmeno[-písmeno]
Nastaví implicitní typ Double pro proměnné začínající daným písmenem.
DefInt písmeno[-písmeno]
Nastaví implicitní typ Integer pro proměnné začínající daným písmenem.
DefLng písmeno[-písmeno]
Nastaví implicitní typ Long pro proměnné začínající daným písmenem.
DefLongInt písmeno[-písmeno]
Nastaví implicitní typ LongInt pro proměnné začínající daným písmenem.
DefShort písmeno[-písmeno]
Nastaví implicitní typ Short pro proměnné začínající daným písmenem.
DefSng písmeno[-písmeno]
Nastaví implicitní typ Single pro proměnné začínající daným písmenem.
DefStr písmeno[-písmeno]
Nastaví implicitní typ String pro proměnné začínající daným písmenem.
DefUByte písmeno[-písmeno]
Nastaví implicitní typ UByte pro proměnné začínající daným písmenem.
DefUInt písmeno[-písmeno]
Nastaví implicitní typ UInteger pro proměnné začínající daným písmenem.
DefULongInt písmeno[-písmeno]
Nastaví implicitní typ ULongInt pro proměnné začínající daným písmenem.
DefUShort písmeno[-písmeno]
Nastaví implicitní typ UShort pro proměnné začínající daným písmenem.
Option Base 0|1
Nastaví výchozí dolní mez polí (0 nebo 1), pokud není explicitně uvedena.
Option ByVal
Přepne výchozí způsob předávání parametrů procedur na ByVal místo ByRef (QB kompatibilita).
Option Dynamic
Nastaví, že pole deklarovaná bez explicitní velikosti jsou dynamická (na haldě).
Option Escape
Povolí escape sekvence (např. \n) v řetězcových literálech.
Option Explicit
Vyžaduje explicitní deklaraci všech proměnných před použitím (zakáže implicitní deklaraci).
Option Gosub
Povolí staré klíčové slovo GOSUB v daném souboru/kontextu.
Option NoGosub
Zakáže použití GOSUB v daném kontextu.
Option NoKeyword ( "klíčové_slovo" [, ...] )
Zruší význam zadaných klíčových slov jako vyhrazených, takže je lze použít jako identifikátory.
Option Private
Nastaví výchozí viditelnost symbolů modulu na Private.
Option Static
Nastaví, že pole deklarovaná bez explicitní velikosti jsou statická.
Beep
Vydá krátký zvukový signál reproduktorem počítače.
Cls [metoda]
Vymaže obsah textové obrazovky nebo grafického okna.
Color [popředí][, pozadí]
Nastaví barvu textu a pozadí pro následující výstup.
CsrLin
Vrátí aktuální řádek (řádkovou pozici) kurzoru.
Open Cons For mód As #kanál
Otevře konzoli jako soubor pro čtení/zápis pomocí čísla kanálu.
Open Err As #kanál
Otevře standardní chybový výstup (stderr) jako souborový kanál.
Open Pipe "příkaz" For mód As #kanál
Otevře rouru (pipe) ke spuštěnému příkazu pro čtení nebo zápis.
Open Scrn For mód As #kanál
Otevře obrazovku jako souborový kanál (starší alternativa Open Cons).
Pos( dummy )
Vrátí aktuální sloupcovou pozici kurzoru na konzoli.
Print [#kanál,] [výrazy] [;|,]
Vypíše text/hodnoty na konzoli nebo do souboru; alias '?'.
Print Using formát; výrazy
Vypíše hodnoty formátované podle šablony (obdoba Format).
Screen mód[, barvy][, stránky]
Nastaví textový/grafický režim obrazovky (konzolová varianta).
Spc(n)
Vloží do výstupu Print n mezer.
Tab(n)
Přesune výstupní pozici Print na sloupec n.
View Print [řádek1 To řádek2]
Omezí textový výstup na zadanou oblast řádků konzole.
Width [sloupce, řádky] | Width #kanál, sloupce
Nastaví počet sloupců a řádků textového okna konzole nebo souboru.
Write [#kanál,] výrazy
Zapíše hodnoty odděleně čárkami a v uvozovkách (u řetězců), vhodné pro pozdější Input #.
Dim x As typ
Určuje datový typ proměnné, parametru, funkce nebo pole.
Dim x As Boolean
Logický datový typ; hodnoty True (-1) nebo False (0), velikost 1 bajt.
Dim x As Byte
Celočíselný typ se znaménkem, 1 bajt, rozsah -128 až 127.
Const jméno [As typ] = výraz
Deklaruje pojmenovanou konstantu vyhodnocenou při kompilaci.
Dim x As Const typ Ptr
Kvalifikátor typu označující, že hodnota, na kterou ukazatel ukazuje, je jen ke čtení.
Dim [Shared] jméno [(meze)] As typ [, ...]
Deklaruje proměnnou nebo pole daného typu.
Dim x As Double
64bitové číslo s plovoucí desetinnou čárkou dvojité přesnosti.
Enum jméno ... End Enum
Definuje výčtový typ pojmenovaných celočíselných konstant.
Type odvozený Extends základní
Určuje, že typ dědí (rozšiřuje) členy jiného typu (jednoduchá dědičnost).
Dim x As Integer
Celé číslo se znaménkem, velikost odpovídá velikosti ukazatele (32 nebo 64 bitů).
Dim x As Long
Celé číslo se znaménkem, 4 bajty (32 bitů).
Dim x As LongInt
Celé číslo se znaménkem, 8 bajtů (64 bitů).
Dim x As Object
Základní typ hierarchie tříd FreeBASIC (kořenová třída pro Extends).
Scope ... End Scope
Vytvoří nový lokální blok s vlastní platností proměnných.
Dim Shared jméno As typ
Zpřístupní proměnnou v procedurách jako sdílenou s hlavním modulem/vnějším blokem.
Dim x As Short
Celé číslo se znaménkem, 2 bajty (16 bitů).
Dim x As Single
32bitové číslo s plovoucí desetinnou čárkou jednoduché přesnosti.
Static jméno As typ
Deklaruje lokální proměnnou, jejíž hodnota se zachovává mezi voláními procedury.
Dim x As String [* délka]
Typ pro textové řetězce; volitelně pevná délka (fixed-length string).
Type jméno ... End Type
Definuje uživatelský strukturovaný typ (record) nebo třídu s metodami.
Type nový_typ As existující_typ
Vytvoří alias (jiné jméno) pro existující typ.
Type(výraz)
Vytvoří dočasnou (anonymní) instanci typu pro předání jako parametr.
Dim x As UByte
Celé číslo bez znaménka, 1 bajt, rozsah 0-255.
Dim x As UInteger
Celé číslo bez znaménka, velikost odpovídá Integer.
Dim x As ULong
Celé číslo bez znaménka, 4 bajty.
Dim x As ULongInt
Celé číslo bez znaménka, 8 bajtů.
Union jméno ... End Union
Struktura, jejíž všechny členy sdílejí stejné místo v paměti.
Dim x As Unsigned Integer
Modifikátor označující bezznaménkový celočíselný typ.
Dim x As UShort
Celé číslo bez znaménka, 2 bajty.
Dim x As Var(výraz)
Odvodí (inferuje) typ proměnné z inicializačního výrazu.
With proměnná ... End With
Umožní zkrácený přístup ke členům proměnné/instance typu (přes '.').
Dim x As WString [* délka]
Řetězec ze znaků wchar_t (širokých znaků, UTF-16/32 dle platformy).
Dim x As ZString [* délka]
Řetězec ukončený nulovým znakem (C-string), typicky přes ukazatel.
Date
Vrátí aktuální systémové datum jako řetězec MM-DD-YYYY.
DateAdd(interval, číslo, datum)
Přičte/odečte zadaný počet jednotek (rok, měsíc, den...) k datu.
DateDiff(interval, datum1, datum2)
Vrátí rozdíl mezi dvěma daty v zadaných jednotkách.
DatePart(interval, datum)
Vrátí zadanou část data (rok, měsíc, den, hodinu...).
DateSerial(rok, měsíc, den)
Sestaví sériové datum (Double) ze zadaného roku, měsíce a dne.
DateValue(řetězec)
Převede textovou reprezentaci data na serial date hodnotu.
Day(datum)
Vrátí den v měsíci (1-31) ze zadaného data.
Hour(čas)
Vrátí hodinu (0-23) ze zadaného času.
IsDate(výraz)
Vrátí True, pokud lze výraz interpretovat jako platné datum.
Minute(čas)
Vrátí minutu (0-59) ze zadaného času.
Month(datum)
Vrátí číslo měsíce (1-12) ze zadaného data.
MonthName(měsíc [, zkráceně])
Vrátí název měsíce jako řetězec.
Now
Vrátí aktuální datum a čas jako serial hodnotu (Double).
Second(čas)
Vrátí sekundu (0-59) ze zadaného času.
SetDate [řetězec]
Nastaví systémové datum operačního systému.
SetTime [řetězec]
Nastaví systémový čas operačního systému.
Time
Vrátí aktuální systémový čas jako řetězec HH:MM:SS.
Timer
Vrátí počet sekund (Double) od půlnoci nebo od startu systému, dle platformy.
TimeSerial(hodina, minuta, sekunda)
Sestaví serial čas z hodiny, minuty a sekundy.
TimeValue(řetězec)
Převede textovou reprezentaci času na serial hodnotu.
Weekday(datum [, první_den])
Vrátí číslo dne v týdnu pro dané datum.
WeekdayName(den [, zkráceně][, první_den])
Vrátí název dne v týdnu jako řetězec.
Year(datum)
Vrátí rok ze zadaného data.
Assert(výraz)
Za běhu ověří podmínku; pokud je nepravdivá, ukončí program s hlášením (jen v debug módu).
AssertWarn(výraz)
Jako Assert, ale při selhání pouze vypíše varování a pokračuje.
Stop
Zastaví běh programu (v debuggeru přeruší, jinak ukončí proces).
Erfn
Vrátí číslo souborového kanálu, u kterého došlo k poslední chybě.
Erl
Vrátí číslo řádku zdrojového kódu, na kterém nastala poslední chyba.
Ermn
Vrátí textový popis poslední chyby.
Err [= hodnota]
Vrátí nebo nastaví kód poslední chyby za běhu programu.
Error kód_chyby
Vyvolá chybu se zadaným kódem, případně spustí obslužnou rutinu On Error.
On Error Local ...
Modifikátor omezující platnost On Error handleru na aktuální proceduru.
On Error Goto návěští | On Error Goto 0
Nastaví obslužnou rutinu, na kterou se skočí při vzniku chyby.
Resume [návěští]
Pokračuje v běhu programu po ošetření chyby od řádku, kde chyba nastala, nebo od návěští.
Resume Next
Pokračuje v běhu programu na řádku následujícím po tom, kde nastala chyba.
Open jméno For mód Access přístup As #kanál
Určuje typ přístupu k otevíranému souboru (Read, Write, Read Write).
Open jméno For Append As #kanál
Otevře soubor pro připojování textu na konec.
Open jméno For Binary As #kanál
Otevře soubor v binárním režimu pro čtení/zápis libovolných dat.
BLoad jméno[, offset]
Načte binární obrazová data (uložená pomocí BSave) do paměti/na obrazovku.
BSave jméno, offset, délka
Uloží blok paměti (nebo obrazovky) do binárního souboru.
Close [#kanál [, ...]]
Zavře otevřený soubor/kanál; bez parametru zavře všechny.
Open jméno For mód Encoding "kódování" As #kanál
Určí textové kódování (např. utf8) pro čtení/zápis souboru.
EOF(kanál)
Vrátí True, pokud bylo dosaženo konce souboru.
FreeFile[(kanál)]
Vrátí první volné (nepoužité) číslo souborového kanálu.
Get #kanál, [záznam,] proměnná
Načte binární data ze souboru do proměnné.
Input #kanál, seznam_proměnných
Načte hodnoty oddělené čárkami ze souboru do proměnných.
Open jméno For Input As #kanál
Otevře textový soubor pro sekvenční čtení.
Line Input #kanál, řetězec
Načte celý řádek textu ze souboru do řetězcové proměnné.
Loc(kanál)
Vrátí aktuální pozici (např. číslo záznamu) v souboru.
Lock #kanál [, rozsah]
Uzamkne soubor nebo jeho část proti přístupu jiných procesů.
Lof(kanál)
Vrátí celkovou velikost souboru v bajtech.
Open jméno [For mód] [Access přístup] [Lock] As #kanál [Len=délka]
Otevře soubor pro čtení/zápis v zadaném režimu.
Open jméno For Output As #kanál
Otevře textový soubor pro sekvenční zápis (přepíše obsah).
Print #kanál, výrazy
Zapíše formátovaný text do souboru; alias '? #'.
Put #kanál, [záznam,] proměnná
Zapíše binární data z proměnné do souboru.
Open jméno For Random As #kanál Len=délka
Otevře soubor pro přístup s náhodným přístupem k záznamům pevné délky.
Open jméno For ... Access Read As #kanál
Omezí přístup k souboru pouze na čtení.
Access Read Write
Povolí ke souboru čtení i zápis současně.
Reset
Zavře všechny otevřené soubory a uvolní buffery.
Seek(kanál)
Vrátí aktuální pozici čtení/zápisu v souboru.
Seek #kanál, pozice
Nastaví pozici pro příští čtení/zápis v souboru.
Unlock #kanál [, rozsah]
Odemkne dříve uzamčenou část souboru.
Write #kanál, výrazy
Zapíše hodnoty do souboru odděleně čárkami, řetězce v uvozovkách.
Access Write
Omezí přístup k souboru pouze na zápis.
Put ..., Add
Režim Put přičítající barvu obrázku k cílovým pixelům.
Put ..., Alpha
Režim Put kombinující obrázek s cílem podle alfa kanálu.
Put ..., And
Režim Put provádějící bitové AND mezi obrázkem a cílem.
Circle (x,y), poloměr [, barva] [, start, konec] [, poměr] [, f]
Nakreslí kružnici, oblouk nebo výseč.
Color [popředí][, pozadí]
Nastaví barvu kreslení popředí/pozadí pro grafické příkazy.
Put ..., Custom
Umožní definovat vlastní funkci kombinující zdrojové a cílové pixely.
Draw řetězec_příkazů
Kreslí obrázek podle mikrojazyka příkazů (obdoba GW-BASIC DRAW).
Draw String (x,y), text [, barva]
Vykreslí text pomocí načteného grafického fontu.
ScreenEvent(event)
Přístup k datovým polím struktury události generované ScreenEvent.
ScreenSync / Flip
Přepne (zobrazí) zadní vyrovnávací paměť na obrazovku (double buffering).
Get [cíl](x1,y1)-(x2,y2), pole
Uloží obdélníkovou oblast obrazovky do pole/bufferu.
ImageConvertRow(zdroj, cíl, počet, formát)
Konvertuje řádek obrázkových dat mezi barevnými formáty.
ImageCreate(šířka, výška [, barva][, bpp])
Vytvoří v paměti nový obrázek (buffer).
ImageDestroy(obrázek)
Uvolní paměť obrázku vytvořeného ImageCreate.
ImageInfo(obrázek, šířka, výška, bpp, bajtů/řádek, formát)
Vrátí informace o rozměrech a formátu obrázku.
Line [(x1,y1)]-(x2,y2)[, barva[, B[F]][, styl]]
Nakreslí úsečku, obdélník nebo vyplněný obdélník.
Put ..., Or
Režim Put provádějící bitové OR mezi obrázkem a cílem.
Paint (x,y)[, barva/vzor][, ohraničení]
Vyplní souvislou oblast barvou nebo vzorkem.
Palette [index, barva] | Palette Get pole
Nastaví nebo přečte barvovou paletu obrazovky.
PCopy zdroj, cíl
Zkopíruje obsah jedné obrazové stránky do druhé.
PMap(souřadnice, funkce)
Přepočítá souřadnice mezi fyzickým a logickým (View/Window) systémem.
Point(x, y)
Vrátí barvu (index/RGB) pixelu na zadané souřadnici.
Point(n, souřadnice)
Vrátí uloženou souřadnici posledního bodu kreslení.
PReset [(x,y)][, barva]
Vykreslí bod barvou pozadí (nastaví pixel na barvu 0/pozadí).
PSet [(x,y)][, barva]
Vykreslí (nastaví) jeden pixel zadanou barvou.
Put ..., PSet
Výchozí režim Put — přímé přepsání cílových pixelů obrázkem.
Put [cíl] (x,y), pole/obrázek [, režim]
Vykreslí uložený obrázek/pole na obrazovku.
RGB(červená, zelená, modrá)
Sestaví hodnotu barvy z RGB složek.
RGBA(červená, zelená, modrá, alfa)
Sestaví hodnotu barvy s alfa kanálem.
Screen mód[, barevná_hloubka][, stránky][, příznaky]
Nastaví grafický režim obrazovky (rozlišení, barvy).
ScreenControl(příkaz, ...)
Provede řídicí operaci nad oknem/obrazovkou (např. pozice okna).
ScreenCopy [zdroj_stránka, cíl_stránka]
Zkopíruje obsah obrazové stránky do jiné.
ScreenEvent(event)
Vyzvedne další čekající událost okna/vstupu (klávesnice, myš).
ScreenGLProc("jméno_funkce")
Vrátí ukazatel na OpenGL funkci pro pokročilé grafické operace.
ScreenInfo šířka, výška[, bpp][, bajtů/řádek][, ukazatel]
Vrátí informace o aktuálním grafickém režimu.
ScreenList
Vypíše dostupné grafické režimy podporované ovladačem.
ScreenLock
Uzamkne obrazovku pro přímý přístup k paměti pixelů.
ScreenPtr
Vrátí ukazatel na paměť aktuální obrazové stránky.
ScreenRes šířka, výška [, bpp][, stránky][, příznaky]
Nastaví rozlišení a hloubku barev grafického okna.
ScreenSet [kreslicí_stránka, zobrazovaná_stránka]
Nastaví, do které stránky se kreslí a která se zobrazuje (double buffering).
ScreenSync
Počká na vertikální synchronizaci a přepne stránky.
ScreenUnlock
Odemkne obrazovku po ScreenLock.
Put ..., Trans
Režim Put ignorující (nekreslící) pixely s barvou pozadí (průhlednost).
View [(x1,y1)-(x2,y2)][, barva][, ohraničení]
Definuje výřez (viewport) pro kreslení v grafickém okně.
Window [(x1,y1)-(x2,y2)] [Screen]
Definuje logický souřadnicový systém pro kreslicí příkazy.
Put ..., Xor
Režim Put provádějící bitové XOR mezi obrázkem a cílem.
Inp(port)
Přečte bajt z hardwarového I/O portu (pouze DOS/x86).
Lpos(kanál)
Vrátí aktuální pozici tisku na paralelním portu.
LPrint výrazy
Vytiskne výraz na výchozí paralelní port/tiskárnu.
Lpt(n)
Odkazuje na paralelní tiskový port č. n při otevírání.
Open Com(param) As #kanál
Otevře sériový (COM) port pro komunikaci.
Open Lpt(param) As #kanál
Otevře paralelní (LPT) port pro výstup.
Out port, hodnota
Zapíše bajt na hardwarový I/O port (pouze DOS/x86).
Wait port, maska [, xor]
Čeká, dokud hodnota portu nesplní zadanou bitovou podmínku.
řetězec &= výraz
Připojí řetězec k proměnné a výsledek jí přiřadí.
x *= výraz
Vynásobí proměnnou hodnotou a výsledek uloží zpět.
x += výraz
Přičte hodnotu k proměnné a výsledek uloží zpět.
x -= výraz
Odečte hodnotu od proměnné a výsledek uloží zpět.
x /= výraz
Vydělí proměnnou hodnotou a výsledek uloží zpět.
proměnná = výraz
Přiřadí hodnotu výrazu proměnné.
x \= výraz
Provede celočíselné dělení a výsledek uloží zpět do proměnné.
x ^= výraz
Umocní proměnnou a výsledek uloží zpět.
x And= výraz
Provede bitové/logické AND a výsledek uloží zpět.
x Eqv= výraz
Provede bitovou ekvivalenci a výsledek uloží zpět.
x Imp= výraz
Provede bitovou implikaci a výsledek uloží zpět.
Let proměnná = výraz
Historické (nepovinné) klíčové slovo pro přiřazení hodnoty.
Operator Let (...)
Přetížený operátor přiřazení definovaný uvnitř typu/třídy.
x Mod= výraz
Vypočte zbytek po dělení a uloží jej zpět do proměnné.
x Or= výraz
Provede bitové/logické OR a výsledek uloží zpět.
x Shl= výraz
Posune bity proměnné vlevo a výsledek uloží zpět.
x Shr= výraz
Posune bity proměnné vpravo a výsledek uloží zpět.
x Xor= výraz
Provede bitové/logické XOR a výsledek uloží zpět.
a * b
Vynásobí dvě hodnoty.
a + b
Sečte dvě hodnoty nebo spojí řetězce (u String).
-a
Unární mínus — změní znaménko hodnoty.
a - b
Odečte hodnotu b od a.
a / b
Vydělí a hodnotou b (výsledek desetinný).
a \ b
Celočíselné dělení — vrátí celočíselný podíl bez zbytku.
a ^ b
Umocní a na b-tou.
a Mod b
Vrátí zbytek po celočíselném dělení a / b.
a Shl b
Posune bity a o b pozic vlevo.
a Shr b
Posune bity a o b pozic vpravo.
a And b
Bitový/logický součin (AND) dvou hodnot.
a Eqv b
Bitová/logická ekvivalence (negace XOR).
a Imp b
Bitová/logická implikace.
Not a
Bitová/logická negace hodnoty.
a Or b
Bitový/logický součet (OR) dvou hodnot.
a Xor b
Bitový/logický nesoučet (exkluzivní OR).
a AndAlso b
Logické AND se zkráceným vyhodnocením — b se vyhodnotí jen pokud a je True.
a OrElse b
Logické OR se zkráceným vyhodnocením — b se vyhodnotí jen pokud a je False.
Abs(x)
Vrátí absolutní hodnotu čísla.
Acos(x)
Vrátí arkuskosinus x (v radiánech).
Asin(x)
Vrátí arkussinus x (v radiánech).
Atan2(y, x)
Vrátí úhel (arkustangens) bodu (x,y) v radiánech, plný rozsah -π až π.
Atn(x)
Vrátí arkustangens x (v radiánech).
Cos(x)
Vrátí kosinus úhlu x (v radiánech).
Exp(x)
Vrátí e umocněné na x.
Fix(x)
Ořízne desetinnou část čísla směrem k nule.
Frac(x)
Vrátí desetinnou (zlomkovou) část čísla.
Int(x)
Zaokrouhlí číslo dolů na nejbližší celé (podlaha).
Log(x)
Vrátí přirozený logaritmus x.
Randomize [seed][, generátor]
Inicializuje generátor náhodných čísel.
Rnd[(x)]
Vrátí náhodné desetinné číslo v rozsahu 0 až 1.
Sgn(x)
Vrátí znaménko čísla: -1, 0 nebo 1.
Sin(x)
Vrátí sinus úhlu x (v radiánech).
Sqr(x)
Vrátí druhou odmocninu x.
Tan(x)
Vrátí tangens úhlu x (v radiánech).
Allocate(bajty)
Alokuje blok paměti na haldě a vrátí na něj ukazatel (neinicializovaný).
CAllocate(bajty)
Alokuje blok paměti a vynuluje jej.
Clear [, , zásobník]
Vynuluje paměť proměnných a volitelně nastaví velikost zásobníku.
Deallocate(ukazatel)
Uvolní paměť alokovanou pomocí Allocate/CAllocate/Reallocate.
Field #kanál, délka As proměnná [, ...]
Namapuje proměnné na části záznamu v souboru s náhodným přístupem.
Fre[(dummy)]
Vrátí množství dostupné volné paměti (historická funkce).
Peek([typ,] adresa)
Přečte hodnotu ze zadané paměťové adresy.
Poke [typ,] adresa, hodnota
Zapíše hodnotu na zadanou paměťovou adresu.
Reallocate(ukazatel, nové_bajty)
Změní velikost dříve alokovaného bloku paměti.
'$Dynamic
Meta-direktiva nastavující dynamické (haldové) pole jako výchozí.
'$Include: 'soubor'
Vloží obsah jiného zdrojového souboru (starší styl, ekvivalent #include).
'$Lang: "dialekt"
Meta-direktiva nastavující jazykový dialekt (fb/qb/fblite/deprecated) v souboru.
'$Static
Meta-direktiva nastavující statické pole jako výchozí.
Asm ... End Asm
Vloží blok inline assembleru přímo do zdrojového kódu.
Data hodnota [, hodnota ...]
Definuje statická data čtená pomocí příkazu Read.
End Type / End Sub / End If ...
Ukončuje blokovou konstrukci (Type, Sub, Function, If, Select apod.).
objekt Is typ
Ověří za běhu, zda je objekt daného typu (RTTI).
Let proměnná = výraz
Historické klíčové slovo pro přiřazení (viz operátor =).
OffsetOf(typ, člen)
Vrátí offset (posun v bajtech) člena uvnitř struktury Type.
Option(příznak)
Zjistí, zda je za běhu nastavena určitá compile-time volba.
Read proměnná [, ...]
Načte další hodnotu(y) z bloku Data do proměnných.
Rem komentář ' komentář
Uvozuje jednořádkový komentář (alternativa k apostrofu).
Restore [návěští]
Nastaví, od kterého bloku Data se bude příště číst pomocí Read.
SizeOf(typ/proměnná)
Vrátí velikost typu nebo proměnné v bajtech.
Swap proměnná1, proměnná2
Prohodí hodnoty dvou proměnných stejného typu.
For i = 1 To 10 / Select Case 1 To 5
Odděluje meze rozsahu v cyklu For nebo v Case.
TypeOf(proměnná)
Vrátí identifikátor datového typu proměnné (podobně jako typeid).
Common [Shared] proměnná As typ
Deklaruje proměnnou sdílenou mezi moduly (starší mechanismus).
DyLibFree(knihovna)
Uvolní dynamicky načtenou knihovnu (DLL/.so) otevřenou pomocí DyLibLoad.
DyLibLoad("jméno")
Za běhu načte dynamickou knihovnu a vrátí na ni handle.
DyLibSymbol(knihovna, "symbol")
Vrátí adresu funkce/symbolu v dynamicky načtené knihovně.
Sub/Function ... Export
Označí proceduru jako exportovanou z DLL pro externí použití.
Extern "C" jméno As typ
Deklaruje externí symbol definovaný jinde (jiný soubor/jazyk).
Extern "C" ... End Extern
Blok deklarující více externích symbolů se společnou linkovací konvencí.
'$Import knihovna nebo Extern Import
Naznačí, že symbol se importuje z externí knihovny/DLL.
Namespace jméno ... End Namespace
Seskupí deklarace do pojmenovaného prostoru zabraňujícího kolizím jmen.
Private proměnná/procedura
Omezí viditelnost symbolu na aktuální modul.
Public proměnná/procedura
Zpřístupní symbol i mimo aktuální modul (výchozí chování).
Using jmenný_prostor
Zpřístupní obsah jmenného prostoru bez nutnosti plně kvalifikovaného jména.
CondBroadcast(podmínka)
Probudí všechna vlákna čekající na podmínkovou proměnnou.
CondCreate
Vytvoří novou podmínkovou proměnnou (condition variable) pro synchronizaci vláken.
CondDestroy(podmínka)
Zruší podmínkovou proměnnou a uvolní její prostředky.
CondSignal(podmínka)
Probudí jedno vlákno čekající na podmínkovou proměnnou.
CondWait(podmínka, mutex)
Uspí vlákno, dokud nebude podmínka signalizována; atomicky uvolní mutex.
MutexCreate
Vytvoří nový mutex pro vzájemné vyloučení přístupu vláken.
MutexDestroy(mutex)
Zruší mutex a uvolní jeho prostředky.
MutexLock(mutex)
Uzamkne mutex; čeká, pokud je již uzamčen jiným vláknem.
MutexUnlock(mutex)
Odemkne dříve uzamčený mutex.
ThreadCall jméno_procedury(args)
Zkrácený zápis pro vytvoření vlákna volajícího proceduru.
ThreadCreate(@procedura[, param])
Vytvoří a spustí nové vlákno spouštějící zadanou proceduru.
ThreadDetach(vlákno)
Odpojí vlákno — uvolní jeho prostředky bez čekání pomocí ThreadWait.
ThreadWait(vlákno)
Počká na dokončení vlákna a uvolní jeho prostředky.
Chain "program"
Ukončí aktuální program a spustí jiný spustitelný soubor.
ChDir cesta
Změní aktuální pracovní adresář.
Command[(n)]
Vrátí argumenty příkazové řádky předané programu.
CurDir[(disk)]
Vrátí aktuální pracovní adresář jako řetězec.
Dir[(vzor[, atributy])]
Vyhledá soubory podle vzoru; opakovaným voláním bez parametru vrací další nalezené.
End [kód]
Okamžitě ukončí program, volitelně s návratovým kódem.
Environ(jméno/index)
Vrátí hodnotu proměnné prostředí operačního systému.
Exec("program", "parametry")
Spustí externí program a vrátí handle k jeho vstupu/výstupu.
ExePath
Vrátí cestu k adresáři, ve kterém se nachází spuštěný program.
FileAttr(kanál, typ)
Vrátí informace o režimu otevření souborového kanálu.
FileCopy zdroj, cíl
Zkopíruje soubor ze zdrojové cesty na cílovou.
FileDateTime(jméno)
Vrátí datum a čas poslední změny souboru.
FileExists(jméno)
Vrátí True, pokud zadaný soubor/adresář existuje.
FileLen(jméno)
Vrátí velikost souboru v bajtech.
IsRedirected(kanál)
Vrátí True, pokud je standardní vstup/výstup přesměrován.
Kill jméno
Smaže zadaný soubor.
MkDir cesta
Vytvoří nový adresář.
Name staré_jméno As nové_jméno
Přejmenuje nebo přesune soubor.
RmDir cesta
Smaže (prázdný) adresář.
Run "program"
Spustí externí program (varianta pro DOS).
SetEnviron("jméno=hodnota")
Nastaví hodnotu proměnné prostředí pro aktuální proces.
Shell ["příkaz"]
Spustí příkaz v systémovém shellu a čeká na jeho dokončení.
System [kód]
Ukončí program a vrátí řízení operačnímu systému (alias End).
WindowTitle "text"
Nastaví titulek okna konzole/grafického okna.
Dim x As typ Ptr
Obecné označení pro datový typ ukazatele na jiný typ.
Dim p As Function(...) As typ
Ukazatel na proceduru (funkci/sub), umožňující volání přes proměnnou.
typ Ptr
Modifikátor typu vytvářející ukazatel na daný typ.
SAdd(řetězec)
Vrátí adresu datového bufferu dynamického řetězce.
StrPtr(řetězec)
Vrátí ukazatel (adresu) na data řetězce jako ZString Ptr.
VarPtr(proměnná)
Vrátí adresu (ukazatel) na proměnnou.
__DATE__
Textový literál s datem kompilace ve formátu MM/DD/YYYY.
__DATE_ISO__
Textový literál s datem kompilace ve formátu ISO YYYY-MM-DD.
__FB_64BIT__
Definováno, pokud je cíl kompilace 64bitový.
__FB_ARGC__
Počet argumentů příkazové řádky (v kontextu makra/preprocesoru).
__FB_ARGV__
Pole argumentů příkazové řádky (v kontextu preprocesoru).
__FB_ARM__
Definováno při kompilaci pro architekturu ARM.
__FB_BIGENDIAN__
Definováno, pokud je cílová architektura big-endian.
__FB_BUILD_DATE__
Datum sestavení použitého kompilátoru FreeBASIC.
__FB_CYGWIN__
Definováno při kompilaci pod Cygwin.
__FB_DARWIN__
Definováno při kompilaci pro macOS (Darwin).
__FB_DEBUG__
Definováno, pokud byl program zkompilován s přepínačem -g (debug).
__FB_DOS__
Definováno při kompilaci pro cíl DOS.
__FB_ERR__
Kód poslední chyby preprocesoru/kompilace.
__FB_FREEBSD__
Definováno při kompilaci pro FreeBSD.
__FB_LANG__
Textový řetězec aktuálního jazykového dialektu (fb/qb/fblite/deprecated).
__FB_LINUX__
Definováno při kompilaci pro Linux.
__FB_MAIN__
Definováno v hlavním (kompilovaném) zdrojovém souboru.
__FB_MIN_VERSION__(major,minor,patch)
Makro pro test minimální požadované verze kompilátoru.
__FB_MT__
Definováno, pokud je program kompilován s podporou vícevláknového běhu (-mt).
__FB_NETBSD__
Definováno při kompilaci pro NetBSD.
__FB_OPENBSD__
Definováno při kompilaci pro OpenBSD.
__FB_OPTION_BYVAL__
Definováno, pokud je aktivní Option ByVal.
__FB_OPTION_DYNAMIC__
Definováno, pokud je aktivní Option Dynamic.
__FB_OPTION_ESCAPE__
Definováno, pokud je aktivní Option Escape.
__FB_OPTION_EXPLICIT__
Definováno, pokud je aktivní Option Explicit.
__FB_OPTION_GOSUB__
Definováno, pokud je aktivní Option Gosub.
__FB_OPTION_PRIVATE__
Definováno, pokud je aktivní Option Private.
__FB_OUT_DLL__
Definováno, pokud se výstup kompiluje jako DLL/sdílená knihovna.
__FB_OUT_EXE__
Definováno, pokud se výstup kompiluje jako spustitelný soubor.
__FB_OUT_LIB__
Definováno, pokud se výstup kompiluje jako statická knihovna.
__FB_OUT_OBJ__
Definováno, pokud se generuje pouze objektový soubor.
__FB_SIGNATURE__
Interní signatura identifikující kompilátor FreeBASIC.
__FB_SSE__
Definováno, pokud kompilátor používá instrukce SSE pro desetinná čísla.
__FB_VER_MAJOR__
Hlavní číslo verze kompilátoru.
__FB_VER_MINOR__
Vedlejší číslo verze kompilátoru.
__FB_VER_PATCH__
Číslo opravné verze (patch) kompilátoru.
__FB_VERSION__
Textový řetězec s celou verzí kompilátoru, např. "1.0.1".
__FB_WIN32__
Definováno při kompilaci pro Windows.
__FB_XBOX__
Definováno při kompilaci pro platformu Xbox.
__FILE__
Textový literál s úplnou cestou aktuálního zdrojového souboru.
__FILE_NQ__
Jako __FILE__, ale bez uvozovek kolem hodnoty.
__FUNCTION__
Textový literál se jménem aktuální procedury.
__FUNCTION_NQ__
Jako __FUNCTION__, ale bez uvozovek kolem hodnoty.
__LINE__
Číslo aktuálního řádku zdrojového kódu.
__PATH__
Cesta k adresáři aktuálního zdrojového souboru.
__TIME__
Textový literál s časem kompilace ve formátu HH:MM:SS.
False
Předdefinovaná konstanta logické nepravdy (hodnota 0).
True
Předdefinovaná konstanta logické pravdy (hodnota -1).
#Assert výraz
Vyhodnotí výraz při kompilaci; pokud je nepravdivý, kompilace selže s chybou.
#define jméno [(params)] [text]
Definuje makro nebo konstantu pro preprocesor.
#else
Alternativní větev podmíněné kompilace #if/#ifdef.
#elseif výraz
Další podmínka v řetězci podmíněné kompilace.
#endif
Ukončuje blok podmíněné kompilace #if/#ifdef.
#endmacro
Ukončuje víceřádkovou definici #macro.
#error "zpráva"
Vyvolá chybu kompilace se zadanou zprávou.
#if výraz ... #endif
Podmíněná kompilace bloku kódu na základě výrazu vyhodnoceného při kompilaci.
#ifdef symbol
Kompiluje následující blok, pokud je symbol definován.
#ifndef symbol
Kompiluje následující blok, pokud symbol není definován.
#inclib "knihovna"
Přidá knihovnu k seznamu knihoven pro linker.
#include "soubor" / #include Once "soubor"
Vloží obsah jiného zdrojového nebo hlavičkového souboru.
#lang "dialekt"
Nastaví jazykový dialekt (fb/qb/fblite/deprecated) preprocesorově.
#libpath "cesta"
Přidá cestu k adresáři s knihovnami pro linker.
#line číslo ["soubor"]
Změní číslo řádku/jméno souboru hlášené kompilátorem (pro generovaný kód).
#macro jméno(params) ... #endmacro
Definuje víceřádkové makro.
#pragma příkaz
Předá kompilátoru speciální direktivu (např. pragma pack).
#print text
Vypíše text do konzole během kompilace (ladicí výstup preprocesoru).
#undef jméno
Zruší dříve definované makro.
defined(symbol)
Vrátí True/False, zda je symbol definován (pro použití v #if).
#include Once "soubor"
Zajistí, že se soubor vloží jen jednou i při vícenásobném #include.
Sub jméno(... As Any Ptr)
Označuje proceduru s proměnným počtem argumentů (varargs).
Abstract Sub/Function ...
Označí členskou metodu jako abstraktní — musí být implementována v potomkovi.
Declare Sub jméno Lib "lib" Alias "skutečné_jméno"
Určuje skutečné jméno symbolu v externí knihovně.
ByVal x As Any Ptr
Obecný (netypovaný) ukazatel, kompatibilní s libovolným typem ukazatele.
Constructor(...) : Base(...)
Explicitně zavolá konstruktor základní třídy s danými argumenty.
Base.člen
Přistoupí k členu základní (rodičovské) třídy z odvozeného typu.
Function jméno() ByRef As typ
Funkce vrací hodnotu odkazem místo kopií.
Sub jméno(ByRef param As typ)
Parametr je předán odkazem — procedura pracuje přímo s originální proměnnou.
Sub jméno(ByVal param As typ)
Parametr je předán hodnotou — procedura pracuje s kopií.
Call jméno(args) / jméno args
Explicitně zavolá proceduru (nepovinné klíčové slovo).
Declare Sub jméno CDecl(...)
Nastaví volací konvenci jazyka C pro deklarovanou proceduru.
Sub jméno() Const
Označí členskou metodu jako neměnící stav instance (const metoda).
Constructor([params])
Speciální metoda volaná automaticky při vytváření instance typu.
Constructor jméno
Procedura spuštěná automaticky před Main() při startu programu.
Declare Sub/Function jméno(...) [Lib "lib"]
Deklaruje prototyp procedury (interní nebo externí).
Destructor
Speciální metoda volaná automaticky při zániku instance typu.
Destructor jméno
Procedura spuštěná automaticky po ukončení programu.
Function jméno(params) As typ ... End Function
Definuje proceduru vracející hodnotu daného typu.
Function jméno(params) As typ ... End Function
Metoda typu/třídy vracející hodnotu.
Declare Sub jméno Lib "knihovna"
Určuje knihovnu, ve které se hledá externí symbol procedury.
Sub jméno() Naked
Procedura bez automaticky generovaného prologu/epilogu (pro ruční assembler).
Operator +(...) As typ ... End Operator
Definuje přetížený operátor pro uživatelský typ.
Sub/Function jméno(...) Overload
Umožní definovat více procedur se stejným jménem a různými parametry.
Sub jméno(...) Override
Přepíše virtuální metodu zděděnou od základní třídy.
Declare Sub jméno Pascal(...)
Nastaví Pascal volací konvenci pro deklarovanou proceduru.
Private: ...
Omezí viditelnost následujících členů typu jen na tento typ.
Property jméno(...) As typ ... End Property
Definuje metodu přístupnou syntakticky jako proměnná (getter/setter).
Protected: ...
Zpřístupní následující členy typu jen jemu a jeho potomkům.
Public: ...
Zpřístupní následující členy typu odkudkoli (výchozí viditelnost).
Static proměnná As typ
Člen typu sdílený všemi instancemi (třídní proměnná/metoda).
Declare Sub jméno StdCall(...)
Nastaví stdcall volací konvenci (typicky pro Windows API).
Sub jméno(params) ... End Sub
Definuje proceduru, která nevrací hodnotu.
Sub jméno(params) ... End Sub
Metoda typu/třídy, která nevrací hodnotu.
This
Uvnitř metody odkazuje na ukazatel na aktuální instanci objektu.
va_arg(ukazatel, typ)
Přečte další argument z proměnného seznamu argumentů (varargs).
va_first()
Vrátí ukazatel na první argument proměnného seznamu argumentů.
va_next(ukazatel, typ)
Posune ukazatel na další argument v proměnném seznamu argumentů.
Virtual Sub/Function ...
Označí metodu jako virtuální, umožňující její přepsání (Override) v potomcích.
Case výraz[, výraz2...] / Case Is op výraz / Case v1 To v2
Definuje jednu větev konstrukce Select Case.
Continue [For|Do|While]
Přeskočí na další iteraci nejbližšího (nebo zadaného) cyklu.
Do [{While|Until} podmínka]
Zahajuje cyklus Do...Loop s volitelnou podmínkou na začátku.
Do ... Loop [{While|Until} podmínka]
Cyklus opakující blok kódu, dokud/pokud platí podmínka.
Else
Alternativní větev konstrukce If...Then nebo Select Case (Case Else).
ElseIf podmínka Then
Další podmíněná větev uvnitř bloku If...Then.
End If
Ukončuje víceřádkový blok If...Then.
Exit For|Do|Sub|Function|...
Okamžitě opustí zadanou blokovou konstrukci nebo proceduru.
For proměnná = start To konec [Step krok]
Zahajuje cyklus For...Next s počítanou proměnnou.
For ... Next [proměnná]
Cyklus opakující blok kódu pro zadaný rozsah hodnot proměnné.
GoSub návěští
Skočí na podprogram označený návěštím a vrátí se po Return (zastaralé).
Goto návěští
Nepodmíněný skok na řádek označený návěštím.
If podmínka Then ... [Else ...] [End If]
Podmíněně provede blok kódu podle vyhodnocení výrazu.
IIf(podmínka, hodnota_true, hodnota_false)
Vrátí jednu ze dvou hodnot podle podmínky (vyhodnotí oba výrazy).
Case Is op výraz
Umožní v Case porovnávat pomocí relačního operátoru vůči testované hodnotě.
Loop [{While|Until} podmínka]
Ukončuje cyklus Do, volitelně s podmínkou na konci.
Next [proměnná]
Ukončuje cyklus For a posune řídicí proměnnou o krok.
On výraz GoSub návěští1, návěští2, ...
Skočí do jednoho z podprogramů podle hodnoty výrazu (zastaralé).
On výraz Goto návěští1, návěští2, ...
Skočí na jedno z návěští podle hodnoty výrazu (zastaralé).
Return [výraz]
Návrat z GoSub, nebo (s výrazem) návrat hodnoty z Function.
Select Case výraz ... End Select
Vícenásobná podmínka porovnávající výraz se sadou hodnot/rozsahů.
Sleep [ms] [, flag]
Pozastaví běh programu na daný počet milisekund nebo do stisku klávesy.
For i = a To b Step krok
Určuje velikost kroku v cyklu For.
If podmínka Then
Uvozuje blok/příkaz vykonaný při splnění podmínky If.
Do ... Loop Until podmínka
Opakuje cyklus, dokud se podmínka nestane pravdivou.
Wend
Ukončuje cyklus While...Wend.
While podmínka ... Wend
Zahajuje cyklus opakovaný, dokud platí podmínka.
While podmínka ... Wend
Cyklus s podmínkou testovanou na začátku každé iterace.
InStr([start,] řetězec, hledaný)
Vrátí pozici prvního výskytu podřetězce, 0 pokud nenalezeno.
InStrRev(řetězec, hledaný[, start])
Vrátí pozici posledního výskytu podřetězce (hledá od konce).
LCase(řetězec)
Převede všechna písmena řetězce na malá.
Left(řetězec, počet)
Vrátí zadaný počet znaků od začátku řetězce.
Len(řetězec/proměnná)
Vrátí délku řetězce ve znacích nebo velikost proměnné v bajtech.
LSet proměnná = řetězec
Zarovná řetězec doleva v poli pevné délky (doplní mezerami zprava).
LTrim(řetězec[, znaky])
Odstraní úvodní mezery (nebo zadané znaky) z řetězce.
Mid(řetězec, start[, délka])
Vrátí podřetězec počínaje pozicí start o zadané délce.
Mid(proměnná, start[, délka]) = řetězec
Nahradí část existujícího řetězce novým obsahem na místě.
Right(řetězec, počet)
Vrátí zadaný počet znaků od konce řetězce.
RSet proměnná = řetězec
Zarovná řetězec doprava v poli pevné délky (doplní mezerami zleva).
RTrim(řetězec[, znaky])
Odstraní koncové mezery (nebo zadané znaky) z řetězce.
Space(počet)
Vrátí řetězec složený ze zadaného počtu mezer.
String(počet, znak)
Vrátí řetězec vytvořený opakováním zadaného znaku.
Trim(řetězec[, znaky])
Odstraní úvodní i koncové mezery (nebo zadané znaky).
UCase(řetězec)
Převede všechna písmena řetězce na velká.
WSpace(počet)
Vrátí WString složený ze zadaného počtu mezer (široké znaky).
WString(počet, znak)
Vrátí WString vytvořený opakováním zadaného širokého znaku.
Asc(řetězec[, pozice])
Vrátí kód (ordinální hodnotu) znaku na dané pozici řetězce.
Bin(číslo[, délka])
Převede číslo na řetězec v binární (dvojkové) soustavě.
Chr(kód[, ...])
Vrátí znak odpovídající zadanému znakovému kódu.
CVD(řetězec)
Převede 8bajtový řetězec na hodnotu typu Double (opak MKD).
CVI(řetězec)
Převede 2bajtový řetězec na hodnotu typu Integer/Short (opak MKI).
CVL(řetězec)
Převede 4bajtový řetězec na hodnotu typu Long (opak MKL).
CVLongInt(řetězec)
Převede 8bajtový řetězec na hodnotu typu LongInt (opak MKLongInt).
CVS(řetězec)
Převede 4bajtový řetězec na hodnotu typu Single (opak MKS).
CVShort(řetězec)
Převede 2bajtový řetězec na hodnotu typu Short (opak MKShort).
Format(číslo[, formát])
Naformátuje číslo do řetězce podle zadané formátovací masky.
Hex(číslo[, délka])
Převede číslo na řetězec v šestnáctkové soustavě.
MKD(hodnota As Double)
Převede hodnotu Double na 8bajtový řetězec (pro binární zápis do souboru).
MKI(hodnota)
Převede celočíselnou hodnotu na 2bajtový řetězec.
MKL(hodnota As Long)
Převede hodnotu Long na 4bajtový řetězec.
MKLongInt(hodnota As LongInt)
Převede hodnotu LongInt na 8bajtový řetězec.
MKS(hodnota As Single)
Převede hodnotu Single na 4bajtový řetězec.
MKShort(hodnota As Short)
Převede hodnotu Short na 2bajtový řetězec.
Oct(číslo[, délka])
Převede číslo na řetězec v osmičkové soustavě.
Str(číslo)
Převede číselnou hodnotu na její textovou reprezentaci.
Val(řetězec)
Převede textovou reprezentaci čísla na hodnotu Double.
ValInt(řetězec)
Převede řetězec na hodnotu typu Integer.
ValLng(řetězec)
Převede řetězec na hodnotu typu Long.
ValUInt(řetězec)
Převede řetězec na hodnotu typu UInteger.
ValULng(řetězec)
Převede řetězec na hodnotu typu ULong.
WBin(číslo[, délka])
Jako Bin, ale vrací WString (široké znaky).
WChr(kód[, ...])
Jako Chr, ale vrací WString (široké znaky).
WHex(číslo[, délka])
Jako Hex, ale vrací WString (široké znaky).
WOct(číslo[, délka])
Jako Oct, ale vrací WString (široké znaky).
WStr(číslo)
Jako Str, ale vrací WString (široké znaky).
Cast(typ, výraz)
Explicitně přetypuje výraz na zadaný typ (bez kontroly).
CBool(výraz)
Převede výraz na hodnotu typu Boolean.
CByte(výraz)
Převede výraz na hodnotu typu Byte.
CDbl(výraz)
Převede výraz na hodnotu typu Double.
CInt(výraz)
Převede výraz na hodnotu typu Integer.
CLng(výraz)
Převede výraz na hodnotu typu Long.
CLngInt(výraz)
Převede výraz na hodnotu typu LongInt.
CPtr(typ Ptr, výraz)
Přetypuje výraz na ukazatel zadaného typu.
CShort(výraz)
Převede výraz na hodnotu typu Short.
CSign(výraz)
Převede výraz na odpovídající znaménkový (signed) typ.
CSng(výraz)
Převede výraz na hodnotu typu Single.
CUByte(výraz)
Převede výraz na hodnotu typu UByte.
CUInt(výraz)
Převede výraz na hodnotu typu UInteger.
CULng(výraz)
Převede výraz na hodnotu typu ULong.
CULngInt(výraz)
Převede výraz na hodnotu typu ULongInt.
CUnsg(výraz)
Převede výraz na odpovídající bezznaménkový (unsigned) typ.
CUShort(výraz)
Převede výraz na hodnotu typu UShort.
GetJoystick(joy, tlačítko, x, y, ...)
Přečte stav zadaného joysticku (osy, tlačítka).
GetKey
Počká na stisk klávesy a vrátí její kód (blokující varianta Inkey).
GetMouse(x, y[, kolečko][, tlačítka])
Zjistí aktuální polohu a stav tlačítek myši v grafickém okně.
Inkey
Vrátí stisknutou klávesu jako řetězec, nebo prázdný řetězec pokud žádná nečeká.
Input(počet[, #kanál])
Přečte zadaný počet znaků ze vstupu/souboru bez čekání na Enter.
Input ["výzva";] proměnná[, ...]
Vyzve uživatele a načte hodnoty zadané z klávesnice.
Line Input ["výzva";] řetězec
Načte celý řádek textu zadaný uživatelem do proměnné.
MultiKey(scan_kód)
Zjistí, zda je právě stisknuta klávesa se zadaným scan kódem (bez bufferování).
SetMouse [x, y][, viditelnost][, klip]
Nastaví polohu kurzoru myši a jeho viditelnost.
Stick(osa)
Vrátí hodnotu zadané osy joysticku (starší rozhraní).
Strig(tlačítko)
Vrátí stav zadaného tlačítka joysticku (starší rozhraní).
WInput ["výzva";] wřetězec
Jako Input, ale pro WString (široké znaky).