Visual Basic

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 22. března 2021; kontroly vyžadují 14 úprav .
Visual Basic
Jazyková třída Procedurální , objektově orientovaný , komponentně orientovaný , událostně orientovaný
Typ provedení Sestaveno , interpretováno
Objevil se v 1991
Vývojář Microsoft
Přípona souboru .bas, .cls, .frm, .vbp, .vbg
Uvolnění Visual Basic 6.0 (1998 ) ( 1998 )
Typový systém Statické psaní , silné psaní , dynamické psaní
Hlavní implementace Microsoft Visual Studio
Dialekty Visual Basic for Applications , Visual Basic Script
Byl ovlivněn QuickBasic , BASIC
ovlivnil Visual Basic .NET , REALbasic , Gambas , Xojo , Basic4ppc
webová stránka msdn.microsoft.com/ru-RU/vstudio/ms788229.aspx
 Mediální soubory na Wikimedia Commons

Microsoft Visual Basic  je programovací jazyk a integrované vývojové prostředí softwaru vyvinuté společností Microsoft Corporation . Jazyk Visual Basic zdědil ducha, styl a částečně i syntaxi svého předka, jazyka BASIC , který má mnoho dialektů. Visual Basic zároveň kombinuje postupy a prvky objektově orientovaných a komponentově orientovaných programovacích jazyků. VB IDE obsahuje nástroje pro návrh vizuálního uživatelského rozhraní, editor kódu s IntelliSense a zvýrazňováním syntaxe a nástroje pro ladění aplikací.

Visual Basic je také dobrým nástrojem pro rychlý vývoj (RAD) databázových aplikací pro operační systémy rodiny Microsoft Windows . Mnoho hotových komponent dodávaných s prostředím je navrženo tak, aby pomohly programátorovi okamžitě začít vyvíjet obchodní logiku obchodní aplikace, aniž by odváděl jeho pozornost na psaní kódu pro spouštění programu, přihlašování k událostem a další mechanismy, které VB implementuje automaticky.

Visual Basic byl poprvé uznán vážnými vývojáři po vydání verze 3. Konečné uznání za plnohodnotný programovací nástroj pro Windows přišlo s vydáním verze 5. Verze VB6, která je součástí Microsoft Visual Studio 6.0, se stala skutečně vyzrálý a na funkce bohatý produkt.

Historie vývoje

Datum vydání Verze Popis
května 1991 1,0 Visual Basic 1.0 pro Microsoft Windows . Jako základ jazyka byla vzata syntaxe QBasic a inovací, která pak jazyku přinesla velkou oblibu, byl princip komunikace mezi jazykem a grafickým rozhraním. Tento princip vyvinul Alan Cooper ( Alan Cooper ) a implementoval jej do prototypu stativu (také známého jako Ruby )
září 1992 1,0 Visual Basic 1.0 pod DOSem . Nebyl plně kompatibilní s verzí Windows VB, protože se jednalo o další verzi QuickBASIC a běžel v režimu textu na obrazovce. Je zajímavé poznamenat, že balíček obsahoval speciální nástroj, který převáděl projekty této verze do projektů Visual Basic 1.0 pro Windows. Udělala kód co nejvíce kompatibilní s verzí pro Windows, převedla formuláře (i když výsledek byl neuspokojivý kvůli rozdílům v textovém a grafickém režimu) a také v kódu poskytla komentáře s tipy na další vylepšení.
listopadu 1992 2,0 Visual Basic 2.0. Vývojové prostředí se snáze používá a pracovalo rychleji. Okno Vlastnosti se přesunulo do samostatného seznamu. Přidáno zvýraznění zdrojového kódu .
1993 3.0 Visual Basic 3.0 byl vydán v edicích Standard a Professional. Kromě toho byl do balíčku přidán engine pro práci s databázemi Accessu .
srpna 1995 4,0 Visual Basic 4.0 byla verze, která mohla vytvářet 32bitové i 16bitové aplikace Windows. Navíc bylo možné psát třídy ve VB a Visual Basic se konečně stal plnohodnotným kompilátorem , což výrazně zvýšilo rychlost provádění programu. Přidána podpora pro ovládací prvky OLE (OCX), která nahrazuje staré ovládací prvky VBX
února 1997 5,0 Visual Basic 5.0 - počínaje touto verzí bylo možné spolu s konvenčními aplikacemi vyvíjet vlastní komponenty COM . Kompilací takové komponenty do souboru OCX a jejím doručením bylo možné poskytnout její ovládací objekt nejen koncovému uživateli , ale i dalším vývojářům, poté mohli tento objekt integrovat do svých aplikací. Integrované prostředí zahrnuje P-Code a Native kompilátory. Aplikace jsou spouštěny novým virtuálním strojem implementovaným v dynamické knihovně MSVBVM50.DLL. Také v 1. čtvrtletí letošního roku Microsoft vydává produkt ve speciální edici Visual Basic 5 Control Creation Edition (VB5CCE), která se specializuje pouze na návrh ovládacích prvků ActiveX .
Polovina roku 1998 6.0 Visual Basic 6.0  – Optimalizovaný provoz virtuálního stroje a přesunuto do MSVBVM60.dll. Vylepšený výkon nativního kompilátoru. Přidány nové funkce pro práci s řetězci a poli. Tato verze jazyka je nejnovější v řadě klasického VB. Microsoft změnil jazykovou politiku pro rodinu Basic a místo vývoje jazyka Visual Basic byl vytvořen zcela nový jazyk, Visual Basic .NET .
2002 7,0 První vydání Visual Basic .NET . Nejdůležitější vlastností je, že kód je plně spravován .NET Framework Common Language Runtime . Zlomená zpětná kompatibilita s klasickým Visual Basicem (zamrzlý jako VB6).
dubna 2003 7.1 Microsoft upgradoval Visual Basic .NET, optimalizoval kompilátor. Vydáno s aktualizovanou verzí rozhraní .NET Framework 1.1.
2005 8,0 Součástí sady Visual Studio 2005 . Vyžaduje rozhraní .NET Framework 2.0. Po vydání Visual Basic .NET 2003 Microsoft vypustil předponu „.NET“ z názvu produktu a další verze se nazývá Visual Basic 2005.
2008 9,0 Součástí sady Visual Studio 2008 . Vyžaduje rozhraní .NET Framework 3.5
2010 10,0 Součástí sady Visual Studio 2010 . Vyžaduje rozhraní .NET Framework 4
2012 11.0 Součástí sady Visual Studio 2012 . Vyžaduje rozhraní .NET Framework 4.5
2013 12.0 Součástí sady Visual Studio 2013 . Vyžaduje rozhraní .NET Framework 4.5.1
2015 14.0 (nevydáno jako 13.0) Součástí sady Visual Studio 2015 . Aktualizováno rozhraní .NET Framework na verzi 4.6
2017 15,0 Součástí sady Visual Studio 2017 .

Po vydání Visual Basic verze 6.0 vývojáři z Microsoftu výrazně změnili směr vývoje této technologie. Visual Basic .NET neumožňuje programovat starým způsobem, protože ve skutečnosti je to úplně jiný jazyk, stejný jako jakýkoli jiný programovací jazyk pro platformu .NET . Individualita jazyka, stejně jako jeho výhody (jednoduchost, rychlost tvorby programů, snadnost použití hotových komponent), při použití v prostředí .NET nejsou tak důležité jako dříve - vše je zaměřeno na schopnosti samotné platformy .NET, na jejích knihovnách tříd. V tuto chvíli (červen 2015) je třeba mluvit o Visual Basic, jako o klasických verzích jazyka 4.0 - 6.0, jeho dialektech: Visual Basic for Applications (VBA) a Visual Basic Scripting Edition (VBScript) a jazyku pro platforma .NET - Visual Basic .NET

V březnu 2020 Microsoft uvedl, že bude podporovat Visual Basic v .NET 5.0 Unified Platform, ale již nebude přidávat nové funkce nebo jazyk vyvíjet [1] [2] .

Prvky jazyka

Datové typy

Proměnné ve Visual Basicu jsou deklarovány operátorem Dim, za kterým následuje název, poté klíčové slovo Asa poté typ proměnné. Pokud je typ vynechán, pak klíčové slovo Asnení zadáno a proměnná je deklarována jako Variant. Pokud neurčíte konstrukci Option Explicitv sekci deklarace, není vyžadována žádná explicitní deklarace proměnných a budou automaticky vytvořeny při prvním použití. Toto chování může vést ke snížení rychlosti provádění programu, protože nedeklarované proměnné budou typu Variant, stejně jako logické chyby spojené s nesprávným zadáním názvu existující proměnné nebo riziko konfliktů v aplikaci při rozsahu proměnné není zcela jasné.

Dim strMessage As String 'deklarace proměnné typu znaku Dim iProductCount As Integer 'deklarace proměnné celočíselného typu Dim dt70YearsOfVictory As Date 'deklarace proměnné pro uložení data a času Dim otherValue ' typ neuveden, proměnná typu Variant Public Sub Main () strMessage = "Ahoj světe!" iProductCount = 125 dt70YearsOfVictory = # 5/9/2015 14:00:00 # ' datum 9. května 2015 14:00:00 _ _ _ otherValue = 12,5 ' typ proměnné Variant, podtyp Double. otherValue = "Wikipedia" ' typ proměnné Varianta, podtyp String. konec sub

Tabulka základních typů jazyka Visual Basic 6.0

název Velikost typu Popis datového typu
bajtů 1 bajt Byte. Navrženo pro ukládání celých čísel od 0 do 255. Pokud je proměnné tohoto typu přiřazena hodnota, která překračuje tyto limity, pak Visual Basic vygeneruje chybu při běhu.
Celé číslo 2 bajty Celý. Navrženo pro ukládání celých čísel v rozsahu − 32 76832 767 . Přípona pro typové označení "%".
Dlouho 4 byty dlouhé celé číslo. Navrženo pro ukládání celých čísel v rozsahu − 2 147 483 6482 147 483 647 . Přípona pro typové označení "&".
Singl 4 byty Jediná přesnost s plovoucí desetinnou čárkou. Rozsah - 3,402823E38-1,401298E−45 pro záporné hodnoty; 1,401298E −453,402823E38 pro kladné hodnoty. Přípona pro typové označení "!"
Dvojnásobek 8 bajtů Dvojitá přesnost s plovoucí desetinnou čárkou. Proměnné tohoto typu umožňují ukládat čísla o délce až 16 číslic a délce až 300 znaků. Rozsah hodnot se pohybuje od -1,80E+308 do 1,80E+308. Přípona je „#“. Výpočty s ním jsou přibližné, protože binární reprezentace čísla se používá podle standardu IEEE 754 .
Desetinný 16 bajtů Škálované celé číslo. Tento typ používá desítkovou reprezentaci čísel. Výpočty s ním, stejně jako s typem Currency, jsou přesné. Rozsah hodnot je od -7,92E+28 do 7,92E+28. Nemůžete přímo deklarovat proměnnou typu Decimal. Lze ji použít pouze jako podtyp varianty a proměnnou lze na tento typ přetypovat pomocí funkce přetypování CDec.
Boolean 2 bajty Booleovský datový typ může ukládat pouze dvě hodnoty: True nebo False, true nebo false. Hodnota true ve VB odpovídá celému číslu −1 a hodnota false se rovná 0 a při přetypování implicitního typu se jakákoli číselná hodnota jiná než nula považuje za pravdivou. Toto chování umožňuje používat logické operátory AND, OR, NOT, XORnejen pro booleovskou algebru, ale také pro bitové operace. [3]
Tětiva 10 + 2*N bajtů Řetěz s proměnnou délkou. Navrženo pro ukládání informací o řetězcích (znakech). Samotný řetězec je uložen v kódování Unicode , takže každý znak je zakódován 2 bajty. Pokud se podíváte na typ zevnitř, pak další 4 bajty slouží k uložení ukazatele na řetězec, 4 bajty na velikost řetězce a samotný řetězec je ukončen nulovými znaky (další 2 bajty). Maximální velikost řádku tedy může být až 2 GB. Přípona jako „$“.
Řetězec*N 2*N bajtů Řetězec konstantní délky. Stejně jako typ String ukládá znaková data, kromě toho, že velikost dat je pevná a je specifikována při deklaraci proměnné. Pokud je hodnota řetězce příliš velká, bude zkrácena na požadovanou velikost. Pokud je řetězec menší, než je požadováno, pak se velikost vyrovná přidáním mezery. Je třeba poznamenat, že pevné řetězce a pole, stejně jako struktury, nemohou být větší než 64 kb.
datum 8 bajtů Datový typ umožňuje ukládat hodnoty času a data mezi půlnocí 1. ledna 100 a půlnocí 31. prosince 9999. Pokud je proměnné přiřazena pouze hodnota data, pak je čas 00:00. Celočíselná jednotka představuje jeden den. To vám umožňuje sčítat a odečítat data pouze pomocí matematických operátorů, ale VB poskytuje specializované funkce pro datum, aby toho dosáhly.
Objekt 4 byty Používá se k uložení odkazu na objekt. Přiřazení k proměnné pro tento typ se provádí pomocí Set. Samotný typ je analogický s IDispatch, ukládá odkaz na rozhraní IDispatch. Pro jakýkoli objekt musíte použít IUnknown.
Měna 8 bajtů Měnový. Tento typ může mít až 4 číslice za desetinnou čárkou a až 14 před ní. Hodnoty jsou desetinná čísla, nikoli binární, jako je tomu u typů s jednoduchou a dvojitou přesností s plovoucí desetinnou čárkou. Výpočty tak budou provedeny přesně. Rozsah hodnot je −922337203685477,6000922337203685477,6000 . Tento typ je preferován pro finanční výpočty. Přípona „@“
Varianta 16 bajtů / 22 bajtů+N bajtů / N-bytů Proměnná typu Variant může obsahovat data libovolného typu, včetně odkazů na objekty, uživatelem definovaných typů a polí. Visual Basic automaticky provede potřebné transformace dat . Podtyp obsahující číslo vyžaduje 16 bajtů paměti a pro uložení řetězcových dat 22 bajtů + délka samotného řetězce. Rozsah hodnot se rovná rozsahu hodnot podtypu. Tento typ je z hlediska rychlosti provádění nejpomalejší, protože rozbalení a zabalení hodnot zabere čas.

Operátoři

Jazyk Visual Basic obsahuje mnoho operátorů, kteří jsou zodpovědní za aritmetické operace, porovnávání a přiřazovací operace a zřetězení .

operátor přiřazení

  • Rovnítko (=) se používá k přiřazení hodnoty proměnné. Je také možné použít klíčové slovo Letpřed názvem proměnné. V raných verzích jazyka BASIC to bylo vyžadováno, ale ve Visual Basicu je ponecháno kvůli kompatibilitě. Pro přiřazení typu objektu proměnné je vyžadována přítomnost klíčového slova Set. Příklady: nVar = 10, Let iCount = 20, Set refDouble = objClass.

Vícenásobné přiřazení, jak je implementováno v C, není možné. A = B = Cneznamená to Aa Bbude Cmít stejné hodnoty. VB vyhodnotí výraz a přiřadí výsledek B = Cproměnné , nebo , 0 nebo −1, v závislosti na typu. ATrueFalse

Aritmetické operátory

  • sčítání (+), odčítání (-), násobení (*), dělení (/)
  • umocňování (^). Příklad:2 ^ 3 = 8
  • celočíselné dělení (\). Vydělí první číslo druhým a zahodí (nezaokrouhlí) zlomkovou část. Příklad:5 \ 2 = 2
  • dělení modulo (Mod). Vydělí první číslo druhým a vrátí pouze zbytek dělení. Příklad:5 Mod 2 = 1

Porovnávací operátory

  • rovnost (=). Příklad:If nVar = 10 Then
  • větší než a menší než (> a <). Příklad:If nVar > 10 Then
  • větší nebo rovno a menší nebo rovno (>= a <=). Příklad:If nVar >= 10 Then
  • nerovná se (<>). Příklad:If nVar <> 10 Then
  • srovnání objektů (Is). Určuje, zda objektové proměnné odkazují na stejný objekt nebo na různé. Příklad:If obj1 Is obj2 Then
  • operátor podobnosti (Like). Porovná objekt typu řetězec se vzorem a určí, zda se vzor shoduje. Příklad:If strEmail Like "*@*.*" Then

Logické operátory

  • logické AND (And) - Aby se celý výraz stal pravdivým, musí být pravdivé obě části výrazu. Příklad:If (2 * 2 = 4) And (2 * 3 = 6) Then
  • logické NEBO (Nebo) - alespoň jeden z výrazů musí být pravdivý. Příklad:If (2 * 2 = 5) Or (2 * 2 = 4) Then
  • logická negace (Not) - vrátí True, pokud je podmínka nepravdivá a naopak. Příklad:If Not(2 * 2 = 5) Then
  • logická výjimka (Xor) - ve výrazu E1 Xor E2vrátí Trueif only E1 = Truenebo only E2 = True, jinak - False.
  • Ekvivalence (Eqv) − Vyhodnocuje ekvivalenci dvou výrazů, vrací, Truepokud mají stejnou hodnotu.
  • implikace (Imp) — vrátí Falseif E1 = Truea E2 = False, jinak — True.

Operátoři zřetězení

  • Operátor (+) se používá ke zřetězení řetězců. Pokud jsou obě části výrazu znakového typu, bude operace zřetězení řetězce úspěšná. Pokud má jedna z částí výrazu číselný typ, ale druhou část nelze správně převést na číslo, dojde k chybě přetypování. Abyste se vyhnuli takovým situacím, doporučuje se použít vhodné operátory pro převod typu nebo použít operátor (&) ke zřetězení řetězců.
  • Operátor (&) automaticky převádí výrazy a hodnoty na typ řetězce. Například výraz str = "10" & 20dává výsledek "1020", nikoli "30". Pokud bychom v tomto výrazu použili operátor (+), pak by VB přetypoval výraz „10“ na číselný typ 10 a v případě úspěchu by provedl aritmetické sčítání.

Řídící struktury

Ve Visual Basicu, stejně jako v mnoha programovacích jazycích, existují konstrukce, které řídí pořadí, ve kterém jsou akce prováděny. Některé z konstrukcí, jako je GoSuba Return, jsou zachovány kvůli kompatibilitě s dřívějšími verzemi jazyka BASIC, ale implementace jako samostatné procedury může poskytnout strukturovanější kód.

Operátor pobočky

Obecná syntaxe:

'Napište příkaz větvení na jeden řádek If < condition > Then [ action_when_condition_is_true ] 'Tento záznam vám umožní provádět akce v závislosti na pravdivosti podmínky If < condition > Then [ action_when_condition_is true ] Else [ action_when_condition_false ] 'Napište víceřádkový příkaz větve If < condition > Then [ action_when_condition_is true ] ElseIf < condition2 > Then [ action_when_condition2_true ] ElseIf < conditionN > Then [ action_when_conditionN_true ] Else [ action_when_condition_false ] End If Výběr operátora

Obecná syntaxe:

Vyberte případ < value_tested > 'Proměnná nebo výraz, který má být testován na jednu nebo více podmínek Případ < value_1 > 'Akce se provede, pokud testovaná hodnota odpovídá hodnotě 1 [ action_1 ] Případ < value_2 > , < value_3 > , < value_3 > 'Tests seznam hodnot. Pokud je nalezena shoda, pak se provede akce [ action_2 ] Case < value_5 > To < value_6 > 'Zkontroluje rozsah hodnot ​​[ action_3 ] Case Is >= < value_7 > 'Zkontroluje pravdivost hodnoty s podmínkou [ action_4 ] Case Else ' Akce se provede , pokud žádná z podmínek neselže [ action_5 ] End Select

Příklad: zobrazení různých zpráv v závislosti na hodnotě proměnné

'Zadáme proměnnou a ručně jí dáme hodnotu Dim X As Double X = InputBox ( "Zadejte číselnou hodnotu proměnné X" ) Vyberte Case X 'Zkontrolujte, zda naše hodnota odpovídá nějaké imaginární funkci Case Is < 5 , Is >= 20 , 12 až 15 'Rozsah platných hodnot MsgBox "Platná hodnota pro nějakou funkci" Case Else ' Neplatné hodnoty MsgBox " Hodnotu nelze v některých funkcích použít" End Select Smyčka s počítadlem

Obecná syntaxe:

For < variable > = < value > To < end_value > [ Step < step_value >] [ statement_block ] [ Exit For ] 'Exit loop Next [ variable ]

Příklad: výpočet součtu sudých čísel od 1 do 100

Pro I = 0 100 Krok 2 Součet = Součet + I Další Společný cyklus

Obecná syntaxe:

For Each < variable > In < collection > [ statement_block ] [ Exit For ] 'Vynutit výstupní smyčku Next [ variable ]

Příklad: Zobrazí každý prvek v poli

Dim strItem As Variant Pro každý strItem v poli ( "Apple" , "Hruška" , "Plum" ) Tisk strItem Další Podmíněná smyčka

Obecná syntaxe:

Do While < condition > 'Smyčka se provede, když je podmínka pravdivá [ blok_příkazů ] [ Exit Do ] 'Vynucené opuštění smyčky Do dokud < podmínka > 'Smyčka se provede, když je podmínka nepravdivá [ blok_příkazů ] [ Konec Provést ] Smyčka While < condition > 'Smyčka se provede, když je podmínka pravdivá [ blok_příkazů ] Wend

Příklad: Čtení textového souboru řádek po řádku

Otevřít "file.txt" pro vstup jako # 1 Udělej , když ne EOF ( 1 ) 'Vraťte True, pokud se očekává konec souboru Line Input # 1 , strBuffer 'Čtení řádku do proměnné Debug . Print strBuffer 'Výstup do okna ladění Loop Close # 1 Smyčka s postcondition

Obecná syntaxe:

Proveďte [ blok_příkazů ] [ Konec Proveďte ] Opakujte při < podmínka > Do [ blok příkazů ] [ Konec Do ] Opakovat do < podmínka >

Procedury a funkce

Podprogramy jsou jedním ze základních prvků jazyka. Jsou to procedury a funkce.

  • Procedura začíná operátorem Suba končí End Sub, mezi které je umístěn kód. Procedury lze volat buď samotným Visual Basicem, například implementovaným jako obslužné rutiny událostí, nebo jinými procedurami a funkcemi. Název procedury události se skládá z názvu objektu, podtržítka a názvu události:
Private Sub Command1_Click () 'Událost bude spuštěna po kliknutí na ovládací tlačítko ... End Sub Private Sub Form_MouseMove ( Button As Integer , Shift As Integer , X As Single , Y As Single ) " Volá se , když se ukazatel myši pohybuje v okně formuláře ... End Sub

Visual Basic ve skutečnosti implementuje smyčku zpráv systému Windows. V příkladu formuláře smyčka vyfiltruje zprávu WM_MOUSEMOVEa automaticky vyvolá proceduru Form_MouseMoves parametry: která tlačítka myši byla stisknuta, souřadnice ukazatele. Tento mechanismus skrývá před vývojářem některé aspekty programování v prostředí Windows, což mu umožňuje okamžitě začít psát komerční kód. Ve většině případů třída úloh, které mají být řešeny, nebude vyžadovat, aby programátor věděl o zprávách a funkcích oken. Ale Visual Basic neomezuje programátora v implementaci zpracování zpráv okna. To umožňuje velmi flexibilní přístup k vytváření aplikací, ale také vyžaduje dostatečné zkušenosti s psaním takového kódu, což může způsobit nestabilní běh programu až pád.

  • Funkce ve VB začínají klíčovým slovem Functiona končí End Function. Návratová hodnota funkce je přiřazena proměnné, která odpovídá názvu funkce. Aby bylo možné předčasně přerušit provádění procedury nebo funkce, existují speciální operátory Exit Suba Exit Function. Visual Basic 6.0 obsahuje vestavěné funkce pro práci se souborovým systémem, datem a časem, matematické funkce, funkce pro interakci se systémem, funkce pro práci s řetězci, funkce pro přetypování a funkce pro finanční výpočty. Nechybí ani nezdokumentované funkce, které umožňují pracovat například s ukazateli.

Příklad funkce pro řešení kvadratické rovnice:

Private Sub Main () Dim RetX1 As Double , RetX2 As Double Dim strStatus As String strStatus = SolveQuadraticEquation ( 4 , 6 , 2 , RetX1 , RetX2 ) 'Vyřešte rovnici 4*X^2 + 6*X - 2 = 0 'Zobrazit odpověď MsgBox "Resolution: " & strStatus & vbCrLf & _ "X1 = " & RetX1 & vbCrLf & _ "X2 = " & RetX2 , vbInformation End Sub ' Kvadratická rovnice Solve Function Veřejná funkce SolveQuadraticEquation ( ByVal A As Double , _ ByVal B As Double , _ ByVal C As Double , _ ByRef X1 As Double , _ ByRef X2 As Double ) As String Dim D As Double D = ( B * B ) - ( 4 * A * C ) 'Získejte hodnotu diskriminantu Jestliže D >= 0 Pak X1 = ( - B - Sqr ( D )) / ( 2 * A ) ' Vypočítejte kořeny rovnice X2 = ( - B + Sqr ( D )) / ( 2 * A ) SolveQuadraticEquation = "Řešení nalezeno" 'Funkce vrací zprávu o řešení Else SolveQuadraticEquation = "Diskriminant < 0. Bez kořenů" End If End Function

V tomto příkladu můžete vidět modifikátor před ByValargumenty A, Ba C. Tím je zajištěno, že parametry funkce budou předány hodnotou . Na druhou stranu modifikátor ByRefpředává hodnotu odkazem . U tohoto typu modifikátoru může funkce upravit hodnoty proměnných předávaných jako parametry. Visual Basic ve výchozím nastavení vždy předává hodnoty odkazem, pokud nebyl zadán žádný z modifikátorů.

Moduly a třídy

Programový kód ve Visual Basicu je uložen v modulech. Existují pouze tři typy modulů: modul formuláře (Form), standardní modul (Module) a modul třídy (Class Module).

  • Modul formuláře (přípona souboru *.frm) je základem většiny aplikací Visual Basic. Modul formuláře obsahuje procedury zpracování událostí, obecné procedury a procedury deklarované na úrovni formuláře: proměnné, konstanty, typy a externí procedury. Pokud otevřete modul formuláře v textovém editoru, můžete vidět popisy formuláře a jeho ovládacích prvků, včetně jejich vlastností. Kód umístěný ve formulářovém modulu může odkazovat na jiné formuláře nebo aplikační objekty.
  • Standardní modul (přípona souboru *.bas) je kontejner pro procedury, funkce a deklarace, ke kterým mají obvykle přístup jiné aplikační moduly. Mohou obsahovat globální proměnnou (přístupnou celé aplikaci) nebo deklarované na úrovni modulu: proměnné, konstanty, typy, externí a globální procedury. Kód umístěný ve standardním modulu nemusí souviset s konkrétní aplikací; pokud nepoužíváte odkazy na modul formuláře nebo názvy ovládacích prvků, lze standardní modul použít v jiných aplikacích.
  • Modul třídy (přípona souboru *.cls) je základem objektově orientovaného programování ve Visual Basicu. Modul třídy se používá k vytváření nových objektů. Tyto objekty mohou mít své vlastní vlastnosti, metody a události. Formulář je ve skutečnosti pouze modul třídy, který může obsahovat ovládací prvky umístěné na něm a zobrazovat je na obrazovce. Třídy mohou obsahovat speciální procedury Class_Initializea Class_Terminate, které jsou efektivně konstruktorem a destruktorem .

Objektově orientované programování

Jednoduchá interakce mezi objekty je jednou ze základních součástí paradigmatu Visual Basic. Samotný objekt se nazývá instance třídy . Objektový model VB poskytuje různé třídy pro práci s formuláři, ovládacími prvky, schránkou, kolekcemi, obrazovkou atd. Pro interakci s jinými objekty poskytuje třída vývojáři rozhraní sestávající z vlastností , metod a událostí .

Vytvoření nového objektu ze třídy je možné včasnou nebo pozdní vazbou. Pro včasnou vazbu se klíčové slovo používá Newpřed názvem třídy. Pro pozdní vazbu se používá funkce CreateObject, která vrací odkaz na vytvořený objekt. Odkazy se přiřazují proměnným typu Objectpomocí operátoru Set. Přístup k metodám a vlastnostem třídy probíhá prostřednictvím operátoru tečka ., který je umístěn bezprostředně za názvem proměnné typu objektu. Pokud třída obsahuje události, pak jsou proměnné deklarovány s klíčovým slovem WithEvents, takže procedury zpracování událostí budou dostupné.

Příklad ukazuje, jak program spolupracuje s knihovnou Microsoft Scripting Runtime , která poskytuje objekty pro práci se systémem souborů:

Public Sub Main () Dim objFSO As New FileSystemObject 'Vytvořte instanci třídy pomocí příkazu New Dim objWindows As Folder Nastavte objWindows = objFSO . GetFolder ( Environ ( "SYSTEMROOT" )) 'Zavolejte metodu třídy GetFolder a přiřaďte odkaz na výsledný objekt MsgBox "Složka Windows: " & objWindows . Cesta 'Přečtěte si vlastnosti třídy MsgBox "Datum vytvoření: " & Formát ( objWindows . DateCreated , "RRRR-MM-DD H:mm:ss" ) Dim sTextFilePath as String Dim objTS as TextStream sTextFilePath = objFSO . BuildPath ( Environ ( "TEMP" ), "Test file.txt" ) 'Metoda se dvěma parametry vrací hodnotu typu String Nastavte objTS = objFSO . CreateTextFile ( sTextFilePath , True ) objTS . Napište "Ahoj Wikipedie!" objekt . zavřít objFSO . DeleteFile sTextFilePath , True Set objFSO = Nothing 'Assigning Nothing uvolní odkaz a objekt může volat proceduru destruktoru Set objWindows = Nothing 'VB automaticky volá destruktor, když se na objekt již neodkazuje Set objTS = Nothing End Sub

Visual Basic umožňuje vývojáři vytvářet nové třídy sám. Na rozdíl od jiných programovacích jazyků, jako je Java a C++, Visual Basic nemá plnou podporu pro OOP.

Jak víte, abstraktní třída je potřebná k poskytnutí šablony rozhraní pro jiné třídy. V jazyce Visual Basic lze třídy, které mají členy třídy, ale nemají žádnou implementaci, použít jako abstraktní třídy, ale ve skutečnosti tomu tak není. Vždy můžete vytvářet objekty z tříd jazyka Visual Basic, i když neobsahují kód [4]

Princip zapouzdření funguje ve Visual Basicu. K vymezení přístupu ke členům třídy se při popisu procedur, funkcí, konstant, proměnných a uživatelem definovaných typů používají modifikátory Publica .PrivateFriend

Dědičnost implementace není podporována. Visual Basic poskytuje pouze podporu pro dědičnost rozhraní prostřednictvím rozhraníImplements. Při dědění rozhraní může jakákoli třída fungovat jako základní třída rozhraní. Obecně platí, že jakákoli třída může fungovat jako základní třída rozhraní.

Polymorfismus je vynucován pouze prostřednictvím rozhraní, protože VB nepodporuje dědičnost. Implementace polymorfismu je ukázána na příkladu tříd Car a Aircraft , které implementují rozhraní třídy Transport .

Veřejná funkce třídy ITransport.cls GetMaxSpeed ​​() jako funkce dlouhého konce 'Class CAuto.cls Implementuje ITransport 'Zdědit rozhraní Soukromá funkce ITransport_GetMaxSpeed ​​() As Long 'Implementace metody ITransport_GetMaxSpeed ​​​​= 240 Koncová funkce 'Class CFly.cls Implementuje ITtransport Soukromá funkce ITransport_GetMaxSpeed ​​() As Long ITransport_GetMaxSpeed ​​​​= 700 Koncová funkce 'Standardní modul Program.bas Možnost Explicitní Public Sub Main () Dim T As ITransport 'Deklarujte proměnnou typu ITransport Set T = New cAuto WhatTransportSpeed ​​​​T 'Předáváme odkaz na proceduru, která zavolá požadovanou metodu třídy v závislosti na implementaci Set T = New cFly WhatTransportSpeed ​​​​T End Sub 'Funkce má argument, který bere odkaz na objekt, který implementuje rozhraní ITransport. Public Sub WhatTransportSpeed ​​​​( Transport As ITransport ) MsgBox "Maximum speed: " & Transport . GetMaxSpeed ​​() End Sub

Návrhář formulářů

Editor kódu

Editor kódu je textový editor s dalšími funkcemi pro snadné a rychlé zadávání zdrojového kódu:

  • Zvýraznění syntaxe zdrojového kódu.
  • Horizontální rozdělení okna na 2 panely.
  • Zobrazit celý zdrojový kód nebo konkrétní postup.
  • Výčet objektů používaných v programu se seznamem událostí, které může vývojář zpracovat.
  • Automatická změna velikosti písmen. První písmeno klíčových slov je velké, velikost písmen názvů proměnných se automaticky změní tak, aby odpovídala velikosti písmen, která byla zadána při jejich deklaraci.
  • Automatické doplňování názvů funkcí, procedur, proměnných pomocí IntelliSense .
  • Kontrola syntaktických chyb v kódu.
  • Inteligentní bloková tabulka

Ladění

Integrované vývojové prostředí poskytuje programátorovi bohaté možnosti pro ladění programů. Jednou z výhod Visual Basicu je možnost do značné míry změnit zdrojový kód programu bez jeho úplné rekompilace a restartu. Během ladění procedur má vývojář možnost posunout značku označující aktuálně prováděnou instrukci, a to jak dopředu - přeskočení části kódu, tak zpět - přinutí VB znovu provést instrukce, které již byly zpracovány.

Prostředí mimo jiné poskytuje nástroje pro ladění, jako je Immediate Window, Locals Window, Watch Window a Call Stack Viewer . Tyto pokročilé nástroje umožňují programátorovi provádět hlubokou analýzu studovaného algoritmu v laděné aplikaci.

Visual Basic přejde do režimu ladění, když je splněna jedna z následujících podmínek:

  • Při provádění pokynůStop
  • Při provádění instrukce, která má nastaven bod přerušení (bod přerušení)
  • Když dojde k chybě, pro kterou není nalezen vhodný obslužný program chyb
  • Stisknutím klávesových zkratekCtrl + Break
  • pohodlné programování

Kompilace

Integrované vývojové prostředí je dodáváno s kompilátorem v P-Code (P-code) , nativním kompilátorem kompatibilním s Back-End x86 a linkerem (linker). Přítomnost dvou kompilátorů umožňuje přiřadit Visual Basic jak kompilovanému, tak interpretovanému jazyku. Bez ohledu na zvolený kompilátor vyžadují aplikace ke svému běhu běhový virtuální stroj Visual Basic, kterým je knihovna MSVBVMXX.DLL, kde XX je jazyková verze [5]

  • P-kód umožňuje běh aplikace na hardwarově nezávislém virtuálním stroji, který v reálném čase přeloží pseudokód programu do strojového kódu procesoru. Teoreticky tento přístup umožňuje implementovat přenositelnost aplikací na nové hardwarové platformy bez nutnosti úpravy zdrojového kódu samotných programů. Jednou z hlavních výhod spojených s kompilací do P-Code je „horká“ úprava zdrojového kódu v režimu ladění . Visual Basic, když je v režimu ladění, vždy zkompiluje program do P-kódu, pak může být provádění pozastaveno, programátor provede významné změny ve zdrojovém kódu a pak provádění pokračuje: není vyžadována úplná rekompilace a restart aplikace. Kompilátor vytvoří spustitelný soubor ve formátu PE , ale místo instrukcí pro skutečný procesor obsahuje kód, který inicializuje virtuální stroj a bajtový kód aplikace. Hlavní nevýhodou kompilace do P-kódu je nízká rychlost provádění programu, protože většinu času zabere překlad programu do strojového kódu.
  • Nativní kompilace byla možná s vydáním Visual Basic 5.0. Tento kompilátor umožňuje vytvářet vysoce výkonný kód ve srovnání s aplikacemi, které byly zkompilovány do P-kódu. Většina instrukcí je kompilována do strojového kódu: aritmetické operace, řídicí konstrukce, ale akce, jako je volání vestavěných jazykových funkcí, práce s řetězci a zpracování chyb, budou prováděny runtime knihovnou Visual Basic. I když je aplikace zkompilována do nativního kódu, bude ke spuštění vyžadovat virtuální stroj Visual Basic. Také časté volání funkcí z runtime knihovny vede ke zhoršení rychlosti spouštění aplikace. Ale i přes všechny nedostatky poskytuje Native kompilátor přijatelnou rychlost provádění kódu. Kompilátor obsahuje několik možností optimalizace. Na kartě kompilace projektu můžete zakázat některé kontrolní operace: pole mimo hranice, přetečení celého čísla atd. Správné nastavení těchto parametrů umožňuje vývojáři získat další zvýšení výkonu vyvíjené aplikace.

Nasazení

Microsoft Visual Basic 6.0 je dodáván s Package & Deployment Wizard [6] pro vytváření instalačních balíčků založených na projektu Visual Basic. Ve srovnání se svým známým předchůdcem, Setup Wizard, P&D Wizard poskytuje nové funkce, ale bohužel nový nástroj obsahuje některé chyby. Jedním z problémů této aplikace je chyba převodu data, pokud je národní prostředí nastavené v operačním systému uživatele odlišné od amerického. Existují aplikace třetích stran, které poskytují pokročilejší nástroje pro správu instalačních balíčků.

Je také možné instalovat VB aplikace jednoduchým zkopírováním, které se scvrkává na několik kroků:

  • Pokud v systémovém adresáři operačního systému není žádný soubor runtime aplikace Visual Basic (MSVBVM60.DLL), musíte jej tam nejprve zkopírovat.
  • Pokud aplikace obsahuje nestandardní ovládací prvky, jako jsou ovládací prvky ActiveX , musíte je nejprve zkopírovat do systémového adresáře a zaregistrovat v systémovém registru Microsoft Windows. Registraci komponent lze automatizovat, například provedením příkazu regsvr32.exea předáním úplné cesty k souboru, nebo programově přímým voláním metody DllRegisterServer, která implementuje komponentu kompatibilní s COM .
  • Vytvořte složku programu, zkopírujte spustitelný soubor, v případě potřeby vytvořte zástupce aplikace na ploše uživatele.

Další funkce

ActiveX (Ovládací prvky OCX)

Počínaje verzí VB 5.0 dostává vývojář příležitost nejen používat hotové komponenty ActiveX , ale také vytvářet své vlastní. VB se stará o veškerou práci při vytváření pomocného kódu, který je určen k registraci informací o komponentě v systémovém registru, implementuje rozhraní IDispatch, vytváří jedinečné GUID používané jako identifikátory pro třídy (CLSID), rozhraní (IID) a knihovny typů ( LIBID) . Díky tomuto přístupu potřebuje programátor pouze vytvořit třídy s potřebnou funkčností.

Vytvoření nových GUID třídy a rozhraní závisí na nastavené možnosti kompatibility na kartě Vlastnosti projektu. Může nabývat jednoho ze tří stavů:

  • Žádná kompatibilita – Visual Basic generuje nové rozhraní a identifikátory tříd pokaždé, když je projekt sestaven nebo zkompilován. Každé sestavení komponenty lze použít pouze s aplikacemi vytvořenými pro práci s konkrétní verzí této komponenty, tj. pokud se v době kompilace nezmění název třídy a projektu, vygenerují se nové identifikátory a přepíší informace v registru. , takže aplikace odkazující na staré identifikátory nebude možné spustit.
  • Kompatibilita na úrovni návrhu – Účelem tohoto nastavení je zachovat kompatibilitu během testování, aby po vytvoření komponenty bylo chování stejné, jako kdyby bylo nastavení nastaveno bez kompatibility.
  • Binární kompatibilita – Při kompilaci projektu vytváří Visual Basic podle potřeby nové identifikátory. Identifikátory třídy a rozhraní z předchozích verzí komponenty jsou zachovány. Změna implementace metody nezmění identifikátory. Také přidání nové třídy a metod nezmění stávající rozhraní. Staré aplikace tedy mohou používat staré rozhraní komponenty a nové aplikace mohou odkazovat na novou verzi rozhraní. Pokud dojde ke změně nebo odstranění metody z rozhraní, pak VB upozorní na nekonzistenci s rozhraním komponenty a doporučí rekompilaci aplikací. [7]

Po dokončení kompilace bude výstupem soubor binární knihovny podle specifikace COM . Tato součást implementuje alespoň 2 rozhraní : IUnknown a IDispatch. Knihovna typů ( TLB ) bude integrována do prostředků spustitelného souboru. Navíc jsou vytvářeny soubory s užitečnými informacemi, jako jsou EXP a LIB.

Windows API (Application Programming Interface)

Visual Basic poskytuje jazyková zařízení pro deklarování a volání funkcí z dynamických knihoven (DLL). Tento mechanismus vám umožňuje rozšiřovat aplikace pomocí dalších knihoven poskytovaných jinými vývojáři, včetně knih napsaných v různých programovacích jazycích. Jednu takovou sadu knihoven poskytuje operační systém Microsoft Windows.

Obecná syntaxe deklarace funkce a procedury je následující:

[ Veřejné | Private ] Declare Sub < procedure_name > lib "dynamic_library_name" [ Alias ​​​​"alias" ] [ ( parametry ) ] [ Veřejné | Private ] Declare Function < function_name > lib "dynamic_library_name" [ Alias ​​​​"alias" ] [ ( parametry ) ] [ As return_type ]

Aliasy je nutné zadat v řadě případů: použití vyhrazených identifikátorů jazyka Visual Basic v názvu funkce, název obsahuje neplatné znaky nebo jej prostředí nemůže správně interpretovat. Volané funkce musí podporovat konvenci volání StdCall .

Při předání parametru s typem String do funkce WINAPI VB automaticky převede kódování z Unicode na ANSI, po provedení funkce proběhne zpětný převod z ANSI na Unicode. Aby se zabránilo automatické konverzi řetězců, musí být argumenty funkce deklarovány jako Long a ukazatel na řetězec musí být předán pomocí funkce StrPtr, takže lze optimalizovat výkon aplikace, která volá více funkcí.

Příklad volání rozhraní Windows API pro získání úplné cesty k adresáři Windows a zobrazení zprávy na obrazovce:

Funkce Private Declare GetWindowsDirectory Lib "kernel32.dll" Alias ​​​​"GetWindowsDirectoryA" ( ByVal buffer As String , ByVal nSize As Long ) As Long Funkce Private Declare MessageBox Lib "user32.dll" Alias ​​​​"MessageBoxA" ( ByVal hWnd As Long , ByVal lpText As String , ByVal lpCaption As String , ByVal wType As Long ) As Long Private Const MB_ICONASTERISK As Long = 64 Public Sub Main () Dim buffer As String 'Proměnná, do které bude přijat výsledek funkce. Dim ret Len As Long buffer = String ( 256 , vbNullChar ) lens = GetWindowsDirectory ( buffer , Len ( buffer )) ' Buffer volání funkce = Left ( buffer , lens ) MessageBox 0 & , "OS nainstalovaný v adresáři: " & buffer , "Information" , MB_ICONASTERISK ' volání funkce End Sub

Je třeba poznamenat, že volání funkcí WINAPI je spojeno s určitými interními dohodami, konkrétně s tím, jak funkce vrátí výsledek, jaké struktury musí předat, počet argumentů a jejich typy, které budou obsaženy v návratové hodnotě. Vývojáři používají technickou dokumentaci dodanou s knihovnami, se kterými pracují, aby správně deklarovali funkce a struktury.

Výhody a nevýhody

Výhody

  • Vysokorychlostní tvorba aplikací s grafickým rozhraním pro Microsoft Windows .
  • Jednoduchá syntaxe jazyka poskytuje nízkou překážku vstupu.
  • Schopnost překládat do strojového i P-kódu (dle volby programátora).
  • Zabezpečení typu poskytuje ochranu proti chybám souvisejícím s používáním ukazatelů a přístupem do paměti. Tento aspekt dělá aplikace Visual Basic stabilnější, ale je také předmětem kritiky.
  • Možnost využít většinu funkcí WinAPI [8] pro rozšíření funkčnosti aplikace. Tuto problematiku nejvíce prozkoumal Dan Appleman , který napsal knihu „Visual Basic Programmer's Guide to the Win32 API“.

Nevýhody

  • Podpora pouze pro operační systémy rodiny Windows a Mac OS X (výjimka - VB1 pro DOS ).
  • Absence plnohodnotného mechanismu pro dědění implementace objektů [9] . Dědičnost, která v jazyce existuje, vám umožňuje dědit pouze rozhraní , ale ne jejich implementaci.
  • Téměř všechny vestavěné jazykové funkce jsou implementovány prostřednictvím runtime knihovny , která zase odvádí spoustu práce „navíc“ s kontrolou typu a/nebo převodem typu, což zpomaluje rychlost aplikací.

Jazyk je silně svázán se svým vývojovým prostředím a operačním systémem Microsoft Windows, protože je výhradně nástrojem pro psaní aplikací pro Windows. Vazba na prostředí spočívá v tom, že existuje velké množství nástrojů navržených tak, aby pomáhaly a usnadňovaly programování: vestavěný debugger, prohlížení proměnných a datových struktur za chodu, ladicí okno, nápověda při psaní programu ( IntelliSense ). Všechny tyto výhody činí zbytečným a dokonce nemožným používat Visual Basic mimo vývojové prostředí, například v běžném textovém editoru.

Kritika

  • Často jsou kritizovány takové aspekty Visual Basicu, jako je schopnost deaktivovat prostředky pro sledování deklarovaných proměnných , schopnost implicitně převádět proměnné , přítomnost datového typu „Variant“. Podle kritiků to umožňuje psát extrémně špatný kód . Na druhou stranu to lze vnímat jako plus, protože VB nevnucuje „dobrý styl“, ale dává větší volnost programátorovi .
  • Nedostatek ukazatelů , nízkoúrovňový přístup do paměti, vložky ASM , nemožnost exportovat funkce v nativních knihovnách, nedostatek standardních nástrojů pro vývoj konzolových aplikací. I když paradigma jazyka Visual Basic umožňuje běžnému programátorovi VB obejít se bez toho všeho, tyto věci jsou také často kritizovány. A ačkoli pomocí nezdokumentovaných funkcí a určitých triků lze toto vše implementovat ve VB (například pomocí funkcí pro získání ukazatelů VarPtra ) StrPtr; ObjPtrpoužití těchto triků je někdy obtížnější než například v C++ .

Je však třeba poznamenat, že všechny nedostatky jazyka vyplývají z jeho hlavní výhody - jednoduchosti vývoje grafického rozhraní. Proto mnoho programátorů používá Visual Basic k vývoji uživatelského rozhraní a funkčnost programu je implementována jako dynamické knihovny ( DLL ) napsané v jiných jazycích (například C++ ).

Implementace a dialekty

Visual Basic for Applications (VBA)

Toto vývojové prostředí se prakticky neliší od klasického Visual Basicu, který je určen pro psaní maker a dalších aplikačních programů pro konkrétní podnikové aplikace. Největší popularitu získal díky použití v balíku Microsoft Office . Rozšířené používání jazyka Visual Basic for Applications spolu s počátečním nedostatkem pozornosti k bezpečnostním problémům vedlo k rozšířeným makrovirům .

Zvláštnosti:

  • Neumožňuje kompilaci aplikací do spustitelných souborů EXE/DLL
  • Spuštění podnikových aplikací v moderním prostředí vyžaduje správné nastavení zabezpečení maker v aplikaci, která je hostitelem VBA
  • Některé objekty chybí, například: Clipboard, App, Form, Timer, Data. Místo toho jsou poskytovány jiné třídy, které jsou implementovány v objektovém modelu specifickém pro aplikaci.

Visual Basic Scripting Edition (VBScript)

Skriptovací jazyk , což je poněkud zkrácená verze obvyklého jazyka Visual Basic. Používá se především k automatizaci správy systémů Microsoft Windows ak vytváření stránek ASP a skriptů pro Internet Explorer .

Zvláštnosti:

  • Neexistují žádné operátory pro práci se souborovým systémem
  • Neexistuje způsob, jak deklarovat proměnnou s konkrétním datovým typem. Všechny proměnné jsou typuVariant
  • Pro práci s externími knihovnami je možné použít pouze pozdní linkování
  • Žádná kompilace kódu do spustitelných souborů
  • Zdrojový kód je uložen v textových souborech s příponou .vbsresp.vbe

eMbedded Visual Basic (eVB)

Tento nástroj se používá k vývoji softwaru pro operační systémy Windows CE a Windows Mobile . Zahrnuje IDE, debugger a emulátor pro testování aplikací. eMbedded Visual Basic není založen na plnohodnotném programovacím jazyce Visual Basic, ale na skriptovacím jazyce Visual Basic Scripting Edition . Aplikace jsou kompilovány do P-kódu a spustitelné soubory mají příponu VB, které jsou spojeny s hostitelskou aplikací.

Zvláštnosti:

  • Všechny proměnné jsou standardně typu Variant; silné psaní není podporováno
  • Vývoj ovládacích prvků ActiveX není podporován, ale můžete použít již hotové
  • Řada vestavěných ovládacích prvků jazyka Visual Basic není podporována, některé vlastnosti chybí
  • Ke spouštění aplikací vyžaduje eMbedded Visual Basic Runtime knihovny

Viz také

Poznámky

  1. Microsoft říká, že přestane vyvíjet Visual Basic jako jazyk . Získáno 18. března 2020. Archivováno z originálu dne 29. března 2020.
  2. Podpora Visual Basic plánována pro .NET 5.0 . Získáno 18. března 2020. Archivováno z originálu dne 5. ledna 2022.
  3. https://msdn.microsoft.com/en-us/library/aa242751(v=vs.60).aspx Archivováno 22. prosince 2015 na Wayback Machine MSDN, Visual Basic 6.0, Language Reference a operátor
  4. V. Sergejev. Visual Basic 6.0. Nejúplnější průvodce pro profesionální práci v prostředí Visual Basic. S. 493.
  5. https://support.microsoft.com/en-us/kb/229415 Archivováno 6. března 2016 na Wayback Machine Visual Basic Podporuje P-Code a Native Code Compilation.
  6. Package and Deployment Wizard . Koncepty jazyka Visual Basic. Visual Studio 6.0  (anglicky) . MSDN . Microsoft _ Získáno 29. dubna 2017. Archivováno z originálu dne 22. listopadu 2016.
  7. https://support.microsoft.com/en-us/kb/161137 Použití designu a binární kompatibility
  8. 16bitové verze mají přístup k subsystému Win16, zatímco 32bitové verze mají přístup k Win32.
  9. Nedostatečná dědičnost implementace je rysem technologie COM , nikoli samotného VB, což tuto vlastnost pouze odráží.

Doporučená četba

  • Maureen Williams Zimmerman. Referenční knihovna Microsoft Visual Basic 6.0 . - Redmond, WA, USA: Microsoft Press, 1998. - 3344 s. — ISBN 1-57231-864-3 .
  • Pracovníci oficiálního akademického kurzu společnosti Microsoft. Microsoft Visual Basic 6.0: Programmer's Guide . - Redmond, WA, USA: Microsoft Press, 1998. - 976 s. — ISBN 1-57231-863-5 .
  • John Clark Craig, Jeff Webb. Microsoft Visual Basic 6.0. Vývojářská dílna. - "Ruské vydání", 2001. - 720 s. — ISBN 1-57231-883-X .
  • Dan Appleman. Win32 API a Visual Basic. Professional = Dan Appleman's Visual Basic Programmer's Guide to Win32 API. - Petrohrad. : "Petr" , 2001. - 1120 s. — ISBN 5-272-00198-2 .
  • James Cooper. Návrhové vzory Visual Basic: VB 6.0 a VB.NET . - Addison Wesley, 2002. - 484 s. — ISBN 0-201-70265-7 .
  • Sergeev V. Visual Basic 6.0. Průvodce pro profesionály. - Petrohrad. : "BHV-Petersburg", 2004. - 974 s. - ISBN 5-8206-0019-3 .
  • Brian Siler, Jeff Spotts. Používání jazyka Visual Basic 6. Classic Edition = speciální vydání Používání jazyka Visual Basic 6. - M. : "Williams", 2007. - 832 s. — ISBN 0-7897-1542-2 .