Visual Basic

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 22 martie 2021; verificările necesită 14 modificări .
Visual Basic
Clasa de limba Procedural , Orientat pe obiecte , Orientat pe componente , Orientat pe evenimente
Tipul de execuție Compilat , interpretat
Aparut in 1991
Dezvoltator Microsoft
Extensie de fișier .bas, .cls, .frm, .vbp, .vbg
Eliberare Visual Basic 6.0 (1998 ) ( 1998 )
Tip sistem Tastare statică, tastare puternică , tastare dinamică
Implementări majore Microsoft Visual Studio
Dialectele Visual Basic pentru aplicații , Visual Basic Script
A fost influențat QuickBasic , BASIC
influențat Visual Basic .NET , REALbasic , Gambas , Xojo , Basic4ppc
Site-ul web msdn.microsoft.com/ru-RU/vstudio/ms788229.aspx
 Fișiere media la Wikimedia Commons

Microsoft Visual Basic  este un limbaj de programare și un mediu de dezvoltare software integrat dezvoltat de Microsoft Corporation . Limbajul Visual Basic a moștenit spiritul, stilul și parțial sintaxa strămoșului său, limba BASIC , care are multe dialecte. În același timp, Visual Basic combină proceduri și elemente ale limbajelor de programare orientate pe obiecte și orientate pe componente . VB IDE include instrumente pentru proiectarea interfeței vizuale cu utilizatorul, un editor de cod cu IntelliSense și evidențierea sintaxelor și instrumente pentru depanarea aplicațiilor.

Visual Basic este, de asemenea, un instrument bun pentru dezvoltarea rapidă (RAD) a aplicațiilor de baze de date pentru sistemele de operare din familia Microsoft Windows . Multe componente gata făcute furnizate împreună cu mediul sunt concepute pentru a ajuta programatorul să înceapă imediat să dezvolte logica de afaceri a unei aplicații de afaceri, fără a-și distra atenția către scrierea codului pentru lansarea programului, abonarea la evenimente și alte mecanisme pe care VB le implementează automat.

Visual Basic a fost recunoscut pentru prima dată de dezvoltatorii serioși după lansarea versiunii 3. Recunoașterea finală ca instrument de programare cu drepturi depline pentru Windows a venit odată cu lansarea versiunii 5. Versiunea VB6, care face parte din Microsoft Visual Studio 6.0, a devenit un produs cu adevărat matur și bogat în caracteristici.

Istoricul dezvoltării

Data de lansare Versiune Descriere
mai 1991 1.0 Visual Basic 1.0 pentru Microsoft Windows . Sintaxa QBasic a fost luată ca bază a limbajului , iar inovația, care a adus apoi o mare popularitate limbajului, a fost principiul comunicării dintre limbaj și interfața grafică. Acest principiu a fost dezvoltat de Alan Cooper ( Alan Cooper ) și implementat în prototipul Trepied (cunoscut și sub numele de Ruby )
septembrie 1992 1.0 Visual Basic 1.0 sub DOS . Nu era pe deplin compatibil cu versiunea Windows a VB, deoarece era următoarea versiune a QuickBASIC și rula în modul text pe ecran. Este interesant de observat că pachetul includea un utilitar special care a convertit proiectele acestei versiuni în proiecte Visual Basic 1.0 pentru Windows. Ea a făcut codul cât mai compatibil cu versiunea de Windows, a convertit formularele (deși rezultatul a fost nesatisfăcător din cauza diferențelor dintre modul text și grafic) și a oferit, de asemenea, comentarii în cod cu sugestii pentru îmbunătățiri suplimentare.
noiembrie 1992 2.0 Visual Basic 2.0. Mediul de dezvoltare a devenit mai ușor de utilizat și a funcționat mai rapid. Fereastra Proprietăți a fost mutată într-o listă separată. S-a adăugat evidențierea codului sursă .
1993 3.0 Visual Basic 3.0 a fost lansat în edițiile Standard și Professional. În plus, la pachet a fost adăugat un motor pentru lucrul cu bazele de date Access .
august 1995 4.0 Visual Basic 4.0 era o versiune care putea crea atât aplicații Windows pe 32 de biți, cât și pe 16 biți. În plus, a devenit posibil să scrieți clase în VB, iar Visual Basic a devenit în sfârșit un compilator cu drepturi depline , ceea ce a crescut semnificativ viteza de execuție a programului. S-a adăugat suport pentru comenzile OLE (OCX), înlocuind vechile controale VBX
februarie 1997 5.0 Visual Basic 5.0 - începând cu această versiune, a devenit posibil, împreună cu aplicațiile convenționale, să vă dezvoltați propriile componente COM . Compilând o astfel de componentă într-un fișier OCX și livrându-l, a fost posibil să ofere obiectul său de control nu numai utilizatorului final , ci și altor dezvoltatori, după care ar putea integra acest obiect în aplicațiile lor. Mediul integrat include compilatoare P-Code și Native . Aplicațiile sunt executate de o nouă mașină virtuală implementată în biblioteca dinamică MSVBVM50.DLL. Tot în primul trimestru al acestui an, Microsoft lansează un produs într-o ediție specială Visual Basic 5 Control Creation Edition (VB5CCE), care este specializată doar în proiectarea controalelor ActiveX .
mijlocul anului 1998 6.0 Visual Basic 6.0  - Funcționare optimizată a mașinii virtuale și mutat în MSVBVM60.dll. Performanță îmbunătățită a compilatorului nativ. S-au adăugat noi funcții pentru lucrul cu șiruri și matrice. Această versiune a limbii este cea mai recentă din linia VB clasică. Microsoft a schimbat politica lingvistică pentru familia Basic și, în loc să dezvolte Visual Basic, a fost creat un limbaj complet nou, Visual Basic .NET .
2002 7.0 Prima lansare a Visual Basic .NET . Cea mai importantă caracteristică este că codul este gestionat în totalitate de .NET Framework Common Language Runtime . Compatibilitate inversă întreruptă cu Visual Basic clasic (înghețat ca VB6).
aprilie 2003 7.1 Microsoft a actualizat Visual Basic .NET, a optimizat compilatorul. Lansat cu versiunea actualizată a .NET Framework 1.1.
2005 8.0 Inclus cu Visual Studio 2005 . Necesită .NET Framework 2.0. După lansarea Visual Basic .NET 2003, Microsoft a renunțat la prefixul „.NET” din numele produsului, iar următoarea versiune se numește Visual Basic 2005.
2008 9,0 Inclus cu Visual Studio 2008 . Necesită .NET Framework 3.5
2010 10.0 Inclus cu Visual Studio 2010 . Necesită .NET Framework 4
2012 11.0 Inclus cu Visual Studio 2012 . Necesită .NET Framework 4.5
2013 12.0 Inclus cu Visual Studio 2013 . Necesită .NET Framework 4.5.1
2015 14.0 (nu este lansat ca 13.0) Inclus cu Visual Studio 2015 . Actualizat .NET Framework la versiunea 4.6
2017 15.0 Inclus cu Visual Studio 2017 .

După lansarea versiunii Visual Basic 6.0, dezvoltatorii de la Microsoft au schimbat semnificativ direcția de dezvoltare a acestei tehnologii. Visual Basic .NET nu vă permite să programați în modul vechi, deoarece de fapt este un limbaj complet diferit, la fel ca orice alt limbaj de programare pentru platforma .NET . Individualitatea limbajului, precum și avantajele sale (simplitate, viteza de creare a programelor, ușurința de utilizare a componentelor gata făcute), atunci când sunt utilizate în mediul .NET, nu sunt la fel de importante ca înainte - totul este concentrat pe capacitățile a platformei .NET în sine, pe bibliotecile sale de clasă. În acest moment (iunie 2015), trebuie să vorbim despre Visual Basic, ca despre versiunile clasice ale limbajului 4.0 - 6.0, dialectele acestuia: Visual Basic for Applications (VBA) și Visual Basic Scripting Edition (VBScript) și limbajul pentru platforma .NET - Visual Basic .NET

În martie 2020, Microsoft a declarat că va sprijini Visual Basic în platforma unificată .NET 5.0, dar nu va mai adăuga funcții noi sau va mai evolua limbajul [1] [2] .

Elemente de limbaj

Tipuri de date

Variabilele în Visual Basic sunt declarate cu un operator Dim, urmat de nume, apoi de cuvântul cheie Asși apoi de tipul variabilei. Dacă tipul este omis, atunci cuvântul cheie Asnu este specificat și variabila este declarată ca Variant. Dacă nu specificați un construct Option Explicitîn secțiunea declarație, nu este necesară declararea explicită a variabilelor și acestea vor fi create automat la prima utilizare. Acest comportament poate duce la o scădere a vitezei de execuție a programului, deoarece variabilele nedeclarate vor fi de tip Variant, precum și erori logice asociate cu introducerea incorectă a numelui unei variabile existente sau riscul de conflicte în aplicație atunci când domeniul de aplicare a variabilei nu este complet clară.

Dim strMessage As String „declarația unei variabile de tip de caracter Dim iProductCount As Integer „declararea unei variabile de tip întreg Dim dt70YearsOfVictory As Date „declararea unei variabile pentru stocarea datei și orei Dim otherValue ” tip nespecificat, variabilă de tip Variant Public Sub Main () strMessage = "Bună lume!" iProductCount = 125 dt70YearsOfVictory = # 5 / 9 / 2015 2:00:00 PM # ' data 9 mai 2015 2:00:00 pm otherValue = 12,5 ' tip variabilă Variant, subtip Double. otherValue = "Wikipedia" ' tip variabilă Variant, subtip String. end sub

Tabelul tipurilor de bază Visual Basic 6.0

Nume Mărimea tipului Descriere tip de date
octeți 1 octet octet. Proiectat pentru a stoca numere întregi de la 0 la 255. Dacă unei variabile de acest tip i se atribuie o valoare care depășește aceste limite, atunci Visual Basic va genera o eroare de rulare.
Întreg 2 octeți Întreg. Proiectat pentru a stoca numere întregi în intervalul − 32 768 la 32 767 . Sufix pentru denumirea de tip „%”.
Lung 4 octeți întreg lung. Proiectat pentru a stoca numere întregi în intervalul − 2 147 483 648 până la 2 147 483 647 . Sufix pentru denumirea de tip „&”.
Singur 4 octeți virgulă mobilă de precizie unică. Interval - 3,402823E38 până la - 1,401298E−45 pentru valori negative; 1,401298E −45 până la 3,402823E38 pentru valori pozitive. Sufixul pentru denumirea tipului "!"
Dubla 8 octeți virgulă mobilă de dublă precizie. Variabilele de acest tip vă permit să stocați numere de până la 16 cifre și până la 300 de caractere. Intervalul de valori variază de la -1,80E+308 la 1,80E+308. Sufixul este „#”. Calculele cu acesta sunt aproximative, deoarece reprezentarea binară a numărului este utilizată conform standardului IEEE 754 .
Zecimal 16 octeți Număr întreg la scară. Acest tip folosește reprezentarea zecimală a numerelor. Calculele cu acesta, precum și cu tipul Monedă, sunt exacte. Intervalul de valori este de la -7,92E+28 la 7,92E+28. Nu puteți declara direct o variabilă de tip Decimal. Poate fi folosit doar ca subtip al unei variante, iar o variabilă poate fi turnată la acel tip utilizând funcția cast CDec.
boolean 2 octeți Tipul de date boolean poate stoca doar două valori: adevărat sau fals, adevărat sau fals. O valoare adevărată în VB corespunde unui număr întreg −1, iar o valoare falsă este egală cu 0, iar cu turnarea tip implicită, orice valoare numerică, alta decât zero, este tratată ca adevărată. Acest comportament face posibilă utilizarea operatorilor logici AND, OR, NOT, XORnu numai pentru algebra booleană, ci și pentru operații pe biți. [3]
Şir 10 + 2*N octeți Șir de lungime variabilă. Conceput pentru a stoca informații de tip șir (caracter). Șirul în sine este stocat în codificare Unicode , astfel încât fiecare caracter este codificat cu 2 octeți. Dacă te uiți la tipul din interior, atunci se folosesc 4 octeți suplimentari pentru a stoca un pointer către șir, 4 octeți pentru dimensiunea șirului, iar șirul în sine se termină cu caractere nule (alți 2 octeți). Astfel, dimensiunea maximă a rândului poate fi de până la 2 GB. Sufix ca „$”.
String*N 2*N octeți Un șir de lungime constantă. La fel ca tipul String, acesta stochează date de caractere, cu excepția faptului că dimensiunea datelor este fixă ​​și este specificată atunci când variabila este declarată. Dacă valoarea șirului este prea mare, atunci este trunchiată la dimensiunea necesară. Dacă șirul este mai mic decât este necesar, atunci dimensiunea este egalată prin adăugarea unui caracter spațiu. Trebuie remarcat faptul că șirurile și matricele fixe, precum și structurile, nu pot fi mai mari de 64 kb.
Data 8 octeți Tipul de date vă permite să stocați valori de oră și dată între miezul nopții, 1 ianuarie 100 și miezul nopții, 31 decembrie 9999. Dacă unei variabile i se atribuie doar o valoare de dată, atunci ora este 00:00. O unitate întreagă reprezintă o zi. Acest lucru vă permite să adăugați și să scădeți date folosind doar operatori matematici, dar VB oferă funcții de dată specializate pentru a realiza acest lucru.
Obiect 4 octeți Folosit pentru a stoca o referință la un obiect. Atribuirea unei variabile pentru acest tip se face folosind Set. Tipul în sine este analog cu IDispatch; stochează o referință la interfața IDispatch. Pentru orice obiect, trebuie să utilizați IUnknown.
Valută 8 octeți Monetar. Acest tip poate avea până la 4 cifre după virgulă zecimală și până la 14 înaintea acesteia. Valorile sunt numere zecimale, nu binare, așa cum este cazul tipurilor cu virgulă mobilă cu precizie simplă și dublă. Astfel, calculele vor fi făcute cu exactitate. Intervalul de valori este de la −922337203685477,6000 la 922337203685477,6000 . Acest tip este preferat pentru calculele financiare. Sufix "@"
Variantă 16 bytes / 22 bytes+N bytes / N-bytes O variabilă de tip Variant poate conține date de orice tip, inclusiv referințe la obiecte, tipuri definite de utilizator și matrice. Visual Basic realizează automat transformările de date necesare . Un subtip care conține un număr necesită 16 octeți de memorie, iar pentru stocarea datelor șir 22 octeți + lungimea șirului în sine. Intervalul de valori este egal cu intervalul de valori al subtipului. Acest tip este cel mai lent în ceea ce privește viteza de execuție, deoarece este nevoie de timp pentru a despacheta și a împacheta valori.

Operatori

Limbajul Visual Basic conține mulți operatori responsabili pentru operațiile aritmetice, operațiile de comparare și atribuire și concatenare .

operator de atribuire

  • Semnul egal (=) este folosit pentru a atribui o valoare unei variabile. De asemenea, este posibil să folosiți cuvântul cheie Letînainte de numele variabilei. În versiunile timpurii ale limbajului BASIC, era necesar, dar în Visual Basic este lăsat pentru compatibilitate. Pentru a atribui un tip de obiect unei variabile, este necesară prezența cuvântului cheie Set. Exemple: nVar = 10, Let iCount = 20, Set refDouble = objClass.

Atribuirea multiplă, așa cum este implementată în C, nu este posibilă. A = B = Cnu înseamnă că Ași Bva Cavea valori egale. VB va evalua expresia și va atribui rezultatul B = Cvariabilei , sau , 0 sau -1, în funcție de tip. ATrueFalse

Operatori aritmetici

  • adunare (+), scădere (-), înmulțire (*), împărțire (/)
  • exponentiație (^). Exemplu:2 ^ 3 = 8
  • diviziune întreagă (\). Împarte primul număr la al doilea, renunțând (nu rotunjind) partea fracțională. Exemplu:5 \ 2 = 2
  • diviziune modulo (Mod). Împarte primul număr la al doilea, returnând doar restul împărțirii. Exemplu:5 Mod 2 = 1

Operatori de comparație

  • egalitate (=). Exemplu:If nVar = 10 Then
  • mai mare decât și mai mic decât (> și <). Exemplu:If nVar > 10 Then
  • mai mare sau egal cu și mai mic sau egal cu (>= și <=). Exemplu:If nVar >= 10 Then
  • nu este egal (<>). Exemplu:If nVar <> 10 Then
  • compararea obiectelor (Is). Stabilește dacă variabilele obiect se referă la același obiect sau la altele diferite. Exemplu:If obj1 Is obj2 Then
  • operator de similaritate (Like). Compară un obiect șir cu un model și determină dacă modelul se potrivește. Exemplu:If strEmail Like "*@*.*" Then

Operatori logici

  • logic ȘI (Și) - Ambele părți ale expresiei trebuie să fie adevărate pentru ca întreaga expresie să devină adevărată. Exemplu:If (2 * 2 = 4) And (2 * 3 = 6) Then
  • SAU logic (Sau) - cel puțin una dintre expresii trebuie să fie adevărată. Exemplu:If (2 * 2 = 5) Or (2 * 2 = 4) Then
  • negație logică (Nu) - revine Truedacă condiția este falsă și invers. Exemplu:If Not(2 * 2 = 5) Then
  • excepție logică (Xor) - în expresie E1 Xor E2returnează Truedacă numai E1 = Truesau numai E2 = True, în caz contrar - False.
  • Echivalență (Eqv) − Evaluează echivalența a două expresii, returnează Truedacă au aceeași valoare.
  • implicație (Imp) — returnează Falsedacă E1 = Trueși E2 = False, în caz contrar — True.

Operatori de concatenare

  • Operatorul (+) este folosit pentru a concatena șiruri. Dacă ambele părți ale expresiei sunt de tip caracter, atunci operația de concatenare a șirurilor va reuși. Dacă una dintre părțile expresiei are un tip numeric, dar cealaltă parte nu poate fi convertită corect într-un număr, atunci apare o eroare de tipare. Pentru a evita astfel de situații, este recomandat să folosiți operatorii corespunzători pentru conversia tipului sau să utilizați operatorul (&) pentru a concatena șiruri.
  • Operatorul (&) convertește automat expresiile și valorile într-un tip de șir. De exemplu, expresia str = "10" & 20dă rezultatul „1020”, nu „30”. Dacă am folosit operatorul (+) în această expresie, atunci VB ar transforma expresia „10” la tipul numeric 10 și, dacă reușește, ar efectua adunarea aritmetică.

Structuri de control

În Visual Basic, ca și în multe limbaje de programare, există constructe care controlează ordinea în care sunt efectuate acțiunile. Unele dintre constructe, cum ar fi GoSubși Return, sunt păstrate pentru compatibilitate cu versiunile anterioare ale limbajului BASIC, dar implementarea ca proceduri separate poate oferi cod mai structurat.

Operator de sucursală

Sintaxa generala:

„Scrieți o instrucțiune de ramură într-o singură linie Dacă < condiție > Atunci [ acțiune_când_condiția_este_adevărată ] „Această intrare vă va permite să efectuați acțiuni în funcție de adevărul condiției Dacă < condiție > Atunci [ action_when_condition_is true ] Else [ action_when_condition_false ] „Scrieți o instrucțiune de ramură cu mai multe linii Dacă < condiție > Atunci [ acțiune_când_condiție_este adevărată ] ElseIf < condiție2 > Atunci [ acțiune_când_condiție2_adevărată ] ElseIf < condițieN > Atunci [ acțiune_când_condițieN_adevărat ] Else [ acțiune_când_condiție_falsă ] End If Operator de selecție

Sintaxa generala:

Selectați Case < value_tested > „Variabilă sau expresie care trebuie testată în raport cu una sau mai multe condiții Case < value_1 > „Acțiunea este efectuată dacă valoarea testată se potrivește cu valoarea 1 [ action_1 ] Case < value_2 > , < value_3 > , < value_3 > „Teste lista de valori. Dacă se găsește o potrivire , atunci acțiunea [ acțiune_2 ] este executată . _ _ _ _ _ _ _ _ _ _ action_4 ] Caz Else „Acțiunea este efectuată dacă niciuna dintre condiții nu eșuează [ action_5 ] End Select

Exemplu: afișarea diferitelor mesaje în funcție de valoarea unei variabile

„Să introducem o variabilă și să-i dăm o valoare manual Dim X As Double X = InputBox ( „Introduceți valoarea numerică a variabilei X” ) Selectați Case X „Verificați dacă valoarea noastră se potrivește cu o funcție imaginară Case Is < 5 , Is >= 20 , 12 To 15 "Game of valid values ​​​​MsgBox "O valoare validă pentru o anumită funcție" Case Else "Invalid values ​​​​MsgBox " Valoarea nu poate fi utilizată în anumite funcții" End Select Buclă cu contor

Sintaxa generala:

Pentru < variabilă > = < valoare > To < end_value > [ Step < step_value >] [ statement_block ] [ Exit For ] 'Exit loop Next [ variabilă ]

Exemplu: calcularea sumei numerelor pare de la 1 la 100

Pentru I = 0 la 100 Pasul 2 Suma = Suma + I Următorul Ciclul comun

Sintaxa generala:

Pentru fiecare < variabilă > În < colecție > [ statement_block ] [ Exit For ] 'Forceți bucla de ieșire Următorul [ variabilă ]

Exemplu: Afișează fiecare element dintr-o matrice

Dim strItem ca variantă Pentru fiecare strItem din matrice ( Apple” , „Pear” , „Plum” ) Imprimați strItem Următorul Buclă condiționată

Sintaxa generala:

Do While < condiție > „Bucla este executată când condiția este adevărată [ statement_block ] [ Exit Do ] „Ieșire forțată din buclă Do Until < condiție > 'Bucla este executată când condiția este falsă [ statement_block ] [ Exit Do ] Buclă While < condition > 'Bucla este executată când condiția este adevărată [ statement_block ] Wend

Exemplu: citirea unui fișier text linie cu linie

Deschideți „fișier.txt” pentru intrarea ca # 1. Faceți când nu este EOF ( 1 ) „Return True” dacă se așteaptă sfârșitul fișierului . Intrare linie # 1 , strBuffer „Citiți linia în variabila Debug ” . Tipăriți strBuffer „Ieșire în fereastra de depanare Loop Close # 1 Buclă cu postcondiție

Sintaxa generala:

Do [ statement_block ] [ Exit Do ] Loop While < condiție > Do [ bloc de instrucțiuni ] [ Exit Do ] Buclă până la < condiție >

Proceduri și funcții

Subrutinele sunt unul dintre elementele de bază ale limbajului. Sunt proceduri și funcții.

  • Procedura începe cu un operator Subși se termină cu End Sub, între care este plasat codul. Procedurile pot fi apelate fie de Visual Basic însuși, de exemplu, implementate ca handlere de evenimente, fie de alte proceduri și funcții. Numele procedurii de eveniment constă din numele obiectului, caracterul de subliniere și numele evenimentului:
Private Sub Command1_Click () „Evenimentul va fi declanșat când se face clic pe butonul de control ... End Sub Private Sub Form_MouseMove ( Button As Integer , Shift As Integer , X As Single , Y As Single ) 'Apelat când cursorul mouse-ului se mișcă în fereastra formularului ... End Sub

Visual Basic implementează de fapt bucla de mesaje Windows. În exemplul de formular, bucla va filtra mesajul WM_MOUSEMOVEși va apela automat procedura Form_MouseMovecu parametrii: ce butoane de mouse au fost apăsate, coordonatele pointerului. Acest mecanism ascunde de dezvoltator unele aspecte ale programării în mediul Windows, permițându-i să înceapă imediat să scrie cod comercial. În cele mai multe cazuri, clasa de sarcini de rezolvat nu va cere programatorului să cunoască mesaje și funcțiile ferestrei. Dar Visual Basic nu împiedică programatorul să implementeze gestionarea mesajelor ferestre. Acest lucru permite o abordare foarte flexibilă pentru construirea de aplicații, dar necesită, de asemenea, suficientă experiență pentru a scrie un astfel de cod, ceea ce poate determina ca programul să ruleze instabil până la un accident.

  • Funcțiile din VB încep cu un cuvânt cheie Functionși se termină cu End Function. Valoarea returnată a funcției este atribuită unei variabile care se potrivește cu numele funcției. Pentru a întrerupe prematur execuția unei proceduri sau funcție, există operatori speciali Exit Subși Exit Function. Visual Basic 6.0 conține funcții încorporate pentru lucrul cu sistemul de fișiere, data și ora, funcții matematice, funcții pentru interacțiunea cu sistemul, funcții pentru lucrul cu șiruri, funcții pentru tipuri de turnare și funcții pentru calcule financiare. Există, de asemenea, funcții nedocumentate care vă permit să lucrați, de exemplu, cu pointeri.

Un exemplu de funcție pentru rezolvarea unei ecuații pătratice:

Private Sub Main () Dim RetX1 As Double , RetX2 As Double Dim strStatus As String strStatus = SolveQuadraticEquation ( 4 , 6 , 2 , RetX1 , RetX2 ) 'Rezolvați ecuația 4*X^2 + 6*X - 2 = 0 „Afișează răspunsul MsgBox „Rezoluție:” & strStatus & vbCrLf & _ "X1 = " & RetX1 & vbCrLf & _ "X2 = " & RetX2 , vbInformation End Sub ' Ecuație patratică Rezolvare Funcție Funcție publică RezolvareEcuațieCvadratică ( ByVal A ca dublu , _ ByVal B ca dublu , _ ByVal C ca dublu , _ ByRef X1 ca dublu , _ ByRef X2 ca dublu ) Ca șir Dim D ca dublu D = ( B * B ) - ( 4 * A * C ) 'Obțineți valoarea discriminantului Dacă D >= 0 Atunci X1 = ( - B - Sqr ( D )) / ( 2 * A ) ' Calculați rădăcinile ecuației X2 = ( - B + Sqr ( D )) / ( 2 * A ) SolveQuadraticEquation = „Soluție găsită” „Funcția returnează un mesaj despre soluție Else SolveQuadraticEquation = „Discriminant < 0. Fără rădăcini” End If End Function

În acest exemplu, puteți vedea modificatorul în fața , și ByValargumente . Acest lucru asigură că parametrii funcției vor fi transferați după valoare . Modificatorul , pe de altă parte, transmite valoarea prin referință . Pentru acest tip de modificator, funcția poate modifica valorile variabilelor trecute ca parametri. Visual Basic, implicit, transmite întotdeauna valori prin referință dacă niciunul dintre modificatori nu a fost specificat. ABCByRef

Module și clase

Codul programului în Visual Basic este stocat în module. Există doar trei tipuri de module: modul de formular (Form), modul standard (Module) și modul de clasă (Modul de clasă).

  • Modulul formular (extensia de fișier *.frm) este baza majorității aplicațiilor Visual Basic. Modulul formular conține proceduri de gestionare a evenimentelor, proceduri generale și cele declarate la nivel de formular: variabile, constante, tipuri și proceduri externe. Dacă deschideți modulul formular într-un editor de text, puteți vedea descrieri ale formularului și controalelor sale, inclusiv proprietățile acestora. Codul plasat într-un modul de formular se poate referi la alte formulare sau obiecte de aplicație.
  • Un modul standard (extensia de fișier *.bas) este un container pentru proceduri, funcții și declarații care sunt de obicei accesate de alte module de aplicație. Acestea pot conține o variabilă globală (accesabilă întregii aplicații) sau declarată la nivel de modul: variabile, constante, tipuri, proceduri externe și globale. Codul plasat într-un modul standard poate să nu aibă legătură cu o anumită aplicație; dacă nu utilizați referințe la module de formular sau nume de control, modulul standard poate fi utilizat în alte aplicații.
  • Modulul de clasă (extensia de fișier *.cls) este baza programării orientate pe obiecte în Visual Basic. Modulul de clasă este folosit pentru a crea obiecte noi. Aceste obiecte pot avea propriile lor proprietăți, metode și evenimente. De fapt, un formular este doar un modul de clasă care poate conține controale plasate pe el și le poate afișa pe ecran. Clasele pot conține proceduri speciale Class_Initializeși Class_Terminate, care sunt efectiv constructor și destructor .

Programare orientată pe obiecte

Interacțiunea simplă între obiecte este una dintre componentele de bază ale paradigmei Visual Basic. Obiectul în sine este numit o instanță a clasei . Modelul de obiecte VB oferă diferite clase pentru lucrul cu formulare, controale, clipboard, colecții, ecran și așa mai departe. Pentru a interacționa cu alte obiecte , clasa oferă dezvoltatorului o interfață constând din proprietăți , metode și evenimente .

Crearea unui nou obiect dintr-o clasă este posibilă prin legarea timpurie sau tardivă. Pentru legarea timpurie, cuvântul cheie este folosit Newînaintea numelui clasei. Pentru legarea tardivă, este utilizată o funcție CreateObjectcare returnează o referință la obiectul creat. Referințele sunt atribuite variabilelor de tip Objectfolosind operatorul Set. Accesul la metodele și proprietățile unei clase se face prin operatorul punct ., care este plasat imediat după numele variabilei tipului de obiect. Dacă clasa conține evenimente, atunci variabilele sunt declarate cu cuvântul cheie WithEvents, astfel că procedurile de gestionare a evenimentelor vor fi disponibile.

Exemplul arată modul în care programul interacționează cu biblioteca Microsoft Scripting Runtime , care oferă obiecte pentru lucrul cu sistemul de fișiere:

Public Sub Main () Dim objFSO As New FileSystemObject „Creați o instanță a clasei folosind instrucțiunea New Dim objWindows As Folder Setați objWindows = objFSO . GetFolder ( Environ ( "SYSTEMROOT" )) 'Apelați metoda clasei GetFolder și atribuiți o referință obiectului rezultat MsgBox „Folder Windows:” și objWindows . Calea „Citiți proprietățile clasei MsgBox „Data de creare: „ & Format ( objWindows . DateCreated , „AAAA-LL-ZZ H:mm:ss” ) Dim sTextFilePath As String Dim objTS As TextStream sTextFilePath = objFSO . BuildPath ( Environ ( " TEMP " ), " Test file.txt " ) 'Metoda cu doi parametri returnează o valoare de tip String Setați objTS = objFSO . CreateTextFile ( sTextFilePath , True ) objTS . Scrie "Bună ziua Wikipedia!" objTS . închide objFSO . DeleteFile sTextFilePath , True Set objFSO = Nothing 'Assigning Nothing eliberează referința și obiectul poate apela procedura destructor Set objWindows = Nothing 'VB apelează automat destructorul atunci când obiectul nu mai este referit Set objTS = Nothing End Sub

Visual Basic permite dezvoltatorului să creeze el însuși noi clase. Spre deosebire de alte limbaje de programare, cum ar fi Java și C++, Visual Basic nu are suport complet pentru OOP.

După cum știți, este necesară o clasă abstractă pentru a oferi un șablon pentru o interfață cu alte clase. În Visual Basic, clasele care au membri de clasă, dar nicio implementare pot fi folosite ca clase abstracte, dar de fapt nu sunt. Puteți crea oricând obiecte din clasele Visual Basic, chiar dacă acestea nu conțin cod [4]

Principiul încapsulării funcționează în Visual Basic. Pentru a delimita accesul la membrii clasei, modificatorii Publicși Privatesunt Friendutilizați atunci când descriu proceduri, funcții, constante, variabile și tipuri definite de utilizator.

Moștenirea implementării nu este acceptată. Visual Basic oferă suport numai pentru moștenirea interfeței prin intermediulImplements. Când moșteniți o interfață, orice clasă poate acționa ca clasa de bază a interfeței. În general, orice clasă poate acționa ca clasa de bază a unei interfețe.

Polimorfismul este impus doar prin interfețe, deoarece VB nu acceptă moștenirea. Implementarea polimorfismului este prezentată pe exemplul claselor Car și Aircraft care implementează interfața clasei Transport .

„Funcția publică de clasă ITransport.cls GetMaxSpeed ​​( ) ca funcție de capăt lung „Clasa CAuto.cls implementează ITransport „Moșteniți interfața Funcție privată ITransport_GetMaxSpeed ​​() Atât timp cât implementarea metodei ITransport_GetMaxSpeed ​​​​= 240 Funcție finală „Clasa CFly.cls implementează ITransport Funcție privată ITransport_GetMaxSpeed ​​() Atât timp cât ITransport_GetMaxSpeed ​​​​= 700 Funcție de final 'Modul standard Program.bas Opțiune Explicit Public Sub Main () Dim T As ITransport 'Declară o variabilă de tip ITransport Set T = New cAuto WhatTransportSpeed ​​​​T 'Trim o referință la o procedură care va apela metoda de clasă dorită, în funcție de implementare Set T = New cFly WhatTransportSpeed ​​​​T End Sub "Funcția are un argument care ia o referință la un obiect care implementează interfața ITransport. Public Sub WhatTransportSpeed ​​​​( Transport As ITransport ) MsgBox "Viteza maximă: " & Transport . GetMaxSpeed ​​() End Sub

Designer de formulare

Editor de cod

Editorul de cod este un editor de text cu funcții suplimentare pentru introducerea simplă și rapidă a codului sursă:

  • Evidențierea sintaxei codului sursă.
  • Împărțirea orizontală a ferestrei în 2 panouri.
  • Afișați tot codul sursă sau o procedură specifică.
  • O enumerare a obiectelor utilizate în program cu o listă de evenimente pe care dezvoltatorul le poate gestiona.
  • Schimbarea automată a majusculei. Prima literă a cuvintelor cheie este cu majuscule, majusculele numelor de variabile sunt schimbate automat pentru a se potrivi cu majusculele specificate când au fost declarate.
  • Completarea automată a numelor de funcții, proceduri, variabile folosind IntelliSense .
  • Verificarea codului pentru erori de sintaxă.
  • Tabulare inteligentă a blocurilor

Depanare

Mediul de dezvoltare integrat oferă programatorului oportunități bogate de depanare a programelor. Unul dintre avantajele Visual Basic este abilitatea de a schimba codul sursă al programului într-o mare măsură fără a-l recompila și reporni complet. În timpul procedurilor de depanare, dezvoltatorului i se oferă posibilitatea de a muta marcatorul care indică instrucțiunea care se execută în prezent, atât înainte - sărind o parte din cod, cât și înapoi - forțând VB să reexecute instrucțiunile care au fost deja procesate.

Printre altele, mediul oferă instrumente de depanare, cum ar fi Fereastra Imediată, Fereastra Locals, Fereastra Watch și Call Stack Viewer . Astfel de instrumente avansate permit programatorului să efectueze o analiză profundă a algoritmului studiat în aplicația depanată.

Visual Basic intră în modul de depanare atunci când una dintre următoarele condiții este adevărată:

  • La executarea instrucțiunilorStop
  • Când executați o instrucțiune care are un punct de întrerupere setat (punct de întrerupere)
  • Când apare o eroare pentru care nu se găsește un handler de erori adecvat
  • Prin apăsarea tastelor rapideCtrl + Break
  • programare convenabilă

Compilare

Mediul de dezvoltare integrat vine cu un compilator în P-Code (P-code) , un compilator nativ compatibil Back-End x86 și un linker (linker). Prezența a două compilatoare face posibilă atribuirea Visual Basic atât unui limbaj compilat, cât și unui limbaj interpretat. Indiferent de compilatorul ales, aplicațiile necesită ca mașina virtuală de rulare Visual Basic să ruleze, care este biblioteca MSVBVMXX.DLL, unde XX este versiunea de limbă [5]

  • P-code permite aplicației să ruleze pe o mașină virtuală independentă de hardware, care va traduce pseudo-codul programului în codul mașinii al procesorului în timp real. Teoretic, această abordare face posibilă implementarea portabilității aplicațiilor pe noi platforme hardware fără a fi necesară modificarea codului sursă al programelor în sine. Unul dintre principalele avantaje asociate cu compilarea la P-Code este modificarea „fierbinte” a codului sursă în modul de depanare . Visual Basic, când se află în modul de depanare, compilează întotdeauna programul în codul P, apoi execuția poate fi suspendată, programatorul face modificări semnificative la codul sursă și apoi execuția continuă: nu este necesară o recompilare completă și o repornire a aplicației. Compilatorul creează un fișier executabil în format PE , dar în loc de instrucțiuni pentru un procesor real, acesta conține codul care inițializează mașina virtuală și codul octet al aplicației. Principalul dezavantaj al compilării în codul P este viteza scăzută de execuție a programului, deoarece cea mai mare parte a timpului este petrecut transpunând programul în codul mașinii.
  • Compilarea nativă a devenit posibilă odată cu lansarea Visual Basic 5.0. Acest compilator vă permite să creați cod de înaltă performanță în comparație cu aplicațiile care au fost compilate în P-code. Majoritatea instrucțiunilor sunt compilate în codul mașinii: operații aritmetice, constructe de control, dar acțiuni precum apelarea funcțiilor de limbaj încorporate, lucrul cu șiruri de caractere și gestionarea erorilor vor fi efectuate de biblioteca de execuție Visual Basic. Astfel, în ciuda faptului că este compilată în cod nativ, aplicația va necesita mașina virtuală Visual Basic pentru a rula. De asemenea, apelarea frecventă a funcțiilor din biblioteca runtime duce la o deteriorare a vitezei de execuție a aplicației. Dar, în ciuda tuturor deficiențelor, compilatorul nativ oferă o viteză acceptabilă de execuție a codului. Compilatorul conține mai multe opțiuni de optimizare. În fila de compilare a proiectului, puteți dezactiva unele operații de verificare: matrice în afara limitelor, depășirea întregului, etc. Setarea corectă a acestor parametri permite dezvoltatorului să obțină o creștere suplimentară a performanței aplicației în curs de dezvoltare.

Implementare

Microsoft Visual Basic 6.0 vine cu pachetul și vrăjitorul de implementare [6] pentru a crea pachete de instalare bazate pe un proiect Visual Basic. În comparație cu binecunoscutul său predecesor, Setup Wizard, P&D Wizard oferă funcționalități noi, dar, din păcate, noul instrument conține câteva erori. Una dintre problemele acestei aplicații este o eroare de conversie a datei dacă localitatea setată în sistemul de operare al utilizatorului este diferită de cea americană. Există aplicații terțe care oferă instrumente mai avansate pentru gestionarea pachetelor de instalare.

De asemenea, este posibil să instalați aplicații VB prin simpla copiere, care se rezumă la câțiva pași:

  • Dacă nu există niciun fișier de rulare a aplicației Visual Basic (MSVBVM60.DLL) în directorul de sistem al sistemului de operare, atunci trebuie mai întâi să îl copiați acolo.
  • Dacă aplicația conține controale non-standard, cum ar fi controale ActiveX , atunci trebuie mai întâi să le copiați în directorul de sistem și să le înregistrați în registrul de sistem Microsoft Windows. Înregistrarea componentelor poate fi automatizată, de exemplu, prin executarea unei comenzi regsvr32.exeși transmiterea căii complete către fișier sau prin programare apelând direct metoda DllRegisterServercare implementează componenta compatibilă COM .
  • Creați un folder de program, copiați fișierul executabil, dacă este necesar, creați o comandă rapidă a aplicației pe desktopul utilizatorului.

Caracteristici suplimentare

ActiveX (Controale OCX)

Începând cu versiunea VB 5.0, dezvoltatorului i se oferă posibilitatea nu numai de a utiliza componente ActiveX gata făcute , ci și de a crea propriile lor componente. VB se ocupă de toată munca de creare a codului auxiliar care este conceput pentru a înregistra informații despre componentă în registrul sistemului, implementează interfața IDispatch, creează GUID -uri unice utilizate ca identificatori pentru clase (CLSID), interfețe (IID) și biblioteci de tipuri ( LIBID) . Datorită acestei abordări, programatorul trebuie doar să creeze clase cu funcționalitatea necesară.

Crearea de noi GUID-uri de clasă și interfață depinde de opțiunea de compatibilitate setată din fila de proprietăți a proiectului. Poate dura una dintre cele trei stări:

  • Fără compatibilitate - Visual Basic generează noi identificatori de interfață și de clasă de fiecare dată când proiectul este construit sau compilat. Fiecare build a unei componente poate fi utilizată numai cu aplicații create pentru a funcționa cu o anumită versiune a acelei componente, adică dacă clasa și numele proiectului nu sunt schimbate în momentul compilării, vor fi generați noi identificatori și vor suprascrie informațiile din registru. , astfel că aplicațiile care fac referire la vechi identificatori nu vor putea porni.
  • Compatibilitate la nivel de proiectare - Scopul acestei setări este de a menține compatibilitatea în timpul testării, astfel încât după ce componenta este creată, comportamentul să fie același ca și cum setarea a fost setată fără compatibilitate.
  • Compatibilitate binară - La compilarea unui proiect, Visual Basic creează noi identificatori după cum este necesar. Identificatorii de clasă și de interfață din versiunile anterioare ale componentei sunt păstrați. Modificarea implementării unei metode nu modifică identificatorii. De asemenea, adăugarea unei noi clase și metode nu modifică interfața existentă. Astfel, aplicațiile vechi pot folosi interfața veche a componentei, iar aplicațiile noi se pot referi la noua versiune a interfeței. Dacă o metodă este schimbată sau eliminată din interfață, atunci VB va avertiza despre inconsecvența cu interfața componentei și va recomanda recompilarea aplicațiilor. [7]

După finalizarea compilației, rezultatul va fi un fișier de bibliotecă binar conform specificației COM . Această componentă implementează cel puțin 2 interfețe : IUnknown și IDispatch. Biblioteca de tipuri ( TLB ) va fi integrată în resursele executabilului. În plus, sunt create fișiere cu informații utile, cum ar fi EXP și LIB.

Windows API (Interfață de programare a aplicațiilor)

Visual Basic oferă facilități de limbaj pentru declararea și apelarea funcțiilor din bibliotecile de linkuri dinamice (DLL). Acest mecanism vă permite să extindeți aplicațiile utilizând biblioteci suplimentare furnizate de alți dezvoltatori, inclusiv cele scrise în diferite limbaje de programare. Un astfel de set de biblioteci este furnizat de sistemul de operare Microsoft Windows.

Sintaxa generală pentru o declarație de funcție și procedură este următoarea:

[ Public | Private ] Declare Sub < procedure_name > lib "dynamic_library_name" [ Alias ​​​​"alias" ] [ ( parametrii ) ] [ Public | Private ] Declarare Funcție < function_name > lib "dynamic_library_name" [ Alias ​​​​"alias" ] [ ( parametri ) ] [ Ca return_type ]

Aliasurile trebuie specificate într-un număr de cazuri: utilizarea identificatorilor rezervați Visual Basic în numele funcției, numele conține caractere nevalide sau nu poate fi interpretat corect de către mediu. Funcțiile apelate trebuie să accepte convenția de apelare StdCall .

La trecerea unui parametru cu tipul String la funcția WINAPI, VB convertește automat codificarea din Unicode în ANSI, după ce funcția este executată, are loc conversia inversă din ANSI în Unicode. Pentru a preveni conversia automată a șirurilor, argumentele funcției trebuie declarate ca Long, iar un pointer către un șir trebuie să fie transmis folosind funcția StrPtr, astfel încât performanța unei aplicații care efectuează apeluri multiple de funcții poate fi optimizată.

Un exemplu de apelare a API-ului Windows pentru a obține calea completă către directorul Windows și pentru a afișa un mesaj pe ecran:

Funcția de declarare privată GetWindowsDirectory Lib „kernel32.dll” Alias ​​„GetWindowsDirectoryA” ( ByVal buffer As String , ByVal nSize As Long ) As Long Funcția de declarare privată 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 'Variabila în care va fi primit rezultatul funcției. Dim ret Len As Long buffer = String ( 256 , vbNullChar ) lens = GetWindowsDirectory ( buffer , Len ( buffer )) 'Function call buffer = Left ( buffer , lens ) MessageBox 0 & , "OS instalat în director: " & buffer , " Informații " , MB_ICONASTERISK ' Apelul funcției End Sub

Trebuie remarcat faptul că apelarea funcțiilor WINAPI este asociată cu anumite acorduri interne, și anume, modul în care funcția va returna un rezultat, ce structuri trebuie să treacă, numărul de argumente și tipurile acestora, care vor fi conținute în valoarea returnată. Dezvoltatorii folosesc documentația tehnică furnizată împreună cu bibliotecile cu care lucrează pentru a declara corect funcțiile și structurile.

Avantaje și dezavantaje

Avantaje

  • Creare de mare viteză de aplicații cu o interfață grafică pentru Microsoft Windows .
  • Sintaxa simplă a limbii oferă o barieră scăzută la intrare.
  • Abilitatea de a compila atât în ​​codul mașinii, cât și în codul P (la alegerea programatorului).
  • Siguranța tip oferă protecție împotriva erorilor legate de utilizarea pointerelor și accesul la memorie. Acest aspect face ca aplicațiile Visual Basic să fie mai stabile, dar este și subiect de critică.
  • Abilitatea de a utiliza majoritatea funcțiilor WinAPI [8] pentru a extinde funcționalitatea aplicației. Această problemă a fost explorată pe deplin de Dan Appleman , care a scris cartea „Visual Basic Programmer’s Guide to the Win32 API”.

Dezavantaje

  • Suport numai pentru sistemele de operare din familiile Windows și Mac OS X (Excepție - VB1 pentru DOS ).
  • Absența unui mecanism cu drepturi depline pentru moștenirea implementării obiectelor [9] . Moștenirea care există în limbaj vă permite să moșteniți doar interfețele , dar nu și implementarea lor.
  • Aproape toate caracteristicile încorporate ale limbajului sunt implementate prin intermediul bibliotecii de rulare , care, la rândul său, face o mulțime de muncă „extra” de verificare a tipului și/sau conversie de tip, ceea ce încetinește viteza aplicațiilor.

Limbajul este strâns legat de mediul său de dezvoltare și de sistemul de operare Microsoft Windows, fiind exclusiv un instrument de scriere a aplicațiilor Windows. Legarea de mediu constă în faptul că există un număr mare de instrumente concepute pentru a ajuta și a facilita programarea: un depanator încorporat, vizualizarea variabilelor și a structurilor de date din mers, o fereastră de depanare, sfaturi cu instrumente la tastarea unui program ( IntelliSense ). Toate aceste avantaje fac inutilă și chiar imposibilă utilizarea Visual Basic în afara mediului de dezvoltare, de exemplu, într-un editor de text obișnuit.

Critica

  • Deseori criticate sunt aspecte ale Visual Basic precum abilitatea de a dezactiva mijloacele de urmărire a variabilelor declarate , capacitatea de a converti implicit variabilele , prezența tipului de date „Variant”. Potrivit criticilor, acest lucru face posibilă scrierea unui cod extrem de prost . Pe de altă parte, acest lucru poate fi văzut ca un plus, deoarece VB nu impune „stil bun”, dar oferă mai multă libertate programatorului .
  • Lipsa indicatoarelor , acces la memorie de nivel scăzut, inserții ASM , incapacitatea de a exporta funcții în bibliotecile native, lipsa instrumentelor standard de dezvoltare a aplicațiilor de consolă. Chiar dacă paradigma Visual Basic permite programatorului VB obișnuit să facă fără toate acestea, aceste lucruri sunt, de asemenea, adesea criticate. Și deși, folosind funcții nedocumentate și anumite trucuri, toate acestea pot fi implementate în VB (de exemplu, folosind funcții pentru obținerea de pointeri și VarPtr) ; folosirea acestor trucuri este uneori mai dificilă decât, de exemplu, în C++ .StrPtrObjPtr

Cu toate acestea, merită remarcat faptul că toate deficiențele limbajului provin din principalul său avantaj - simplitatea dezvoltării unei interfețe grafice. Prin urmare, mulți programatori folosesc Visual Basic pentru a dezvolta interfața cu utilizatorul, iar funcționalitatea programului este implementată ca biblioteci de link-uri dinamice ( DLL ) scrise în alte limbi (de exemplu, C++ ).

Implementări și dialecte

Visual Basic pentru aplicații (VBA)

Acest mediu de dezvoltare practic nu diferă de clasicul Visual Basic, care este conceput pentru scrierea de macro -uri și alte programe de aplicații pentru aplicații specifice de afaceri. A primit cea mai mare popularitate datorită utilizării sale în pachetul Microsoft Office . Utilizarea pe scară largă a Visual Basic pentru aplicații, cuplată cu o lipsă inițială de atenție față de problemele de securitate, a condus la răspândirea macrovirusurilor .

Particularitati:

  • Nu permite compilarea aplicațiilor în fișiere executabile EXE/DLL
  • Rularea aplicațiilor de afaceri într-un mediu modern necesită setări corecte de securitate macro în aplicația care găzduiește VBA
  • Unele obiecte lipsesc, cum ar fi: Clipboard, App, Form, Timer, Data. În schimb, sunt furnizate și alte clase care sunt implementate în modelul obiect specific aplicației.

Visual Basic Scripting Edition (VBScript)

Limbajul de scripting , care este o versiune oarecum trunchiată a Visual Basic obișnuit. Folosit în principal pentru a automatiza administrarea sistemelor Microsoft Windows și pentru a crea pagini ASP și scripturi pentru Internet Explorer .

Particularitati:

  • Nu există operatori pentru lucrul cu sistemul de fișiere
  • Nu există nicio modalitate de a declara o variabilă cu un anumit tip de date. Toate variabilele sunt de tipVariant
  • Este posibil să utilizați numai linkuri tardive pentru a lucra cu biblioteci externe
  • Fără compilare de cod în executabile
  • Codul sursă este stocat în fișiere text cu extensia .vbssau.vbe

eMbedded Visual Basic (eVB)

Acest instrument este utilizat pentru a dezvolta software pentru sistemele de operare Windows CE și Windows Mobile . Include IDE, depanator și emulator pentru testarea aplicației. eMbedded Visual Basic nu se bazează pe limbajul de programare Visual Basic cu funcții complete, ci pe limbajul de script Visual Basic Scripting Edition . Aplicațiile sunt compilate în cod P și fișierele executabile au extensia VB, care sunt asociate cu aplicația gazdă.

Particularitati:

  • Toate variabilele sunt de tip Variant în mod implicit; tastarea puternică nu este acceptată
  • Dezvoltarea controalelor ActiveX nu este acceptată, dar puteți utiliza gata făcute
  • O serie de controale Visual Basic încorporate nu sunt acceptate, unele proprietăți lipsesc
  • Necesită biblioteci eMbedded Visual Basic Runtime pentru a rula aplicații

Vezi și

Note

  1. Microsoft spune că nu va mai dezvolta Visual Basic ca limbaj . Preluat la 18 martie 2020. Arhivat din original la 29 martie 2020.
  2. Suport Visual Basic planificat pentru .NET 5.0 . Preluat la 18 martie 2020. Arhivat din original la 5 ianuarie 2022.
  3. https://msdn.microsoft.com/en-us/library/aa242751(v=vs.60).aspx Arhivat 22 decembrie 2015 la Wayback Machine MSDN, Visual Basic 6.0, Limbă de referință și operator
  4. V. Sergheev. Visual Basic 6.0. Cel mai complet ghid pentru munca profesională în mediul Visual Basic. S. 493.
  5. https://support.microsoft.com/en-us/kb/229415 Arhivat 6 martie 2016 la Wayback Machine . Visual Basic acceptă compilarea codului P și codului nativ.
  6. Expertul pachet și implementare . Concepte de bază vizuală. Visual Studio 6.0  (engleză) . MSDN . Microsoft . Consultat la 29 aprilie 2017. Arhivat din original la 22 noiembrie 2016.
  7. https://support.microsoft.com/en-us/kb/161137 Utilizarea designului și a compatibilității binare
  8. Versiunile pe 16 biți pot accesa subsistemul Win16, în timp ce versiunile pe 32 de biți pot accesa Win32.
  9. Lipsa moștenirii implementării este o caracteristică a tehnologiei COM , nu VB în sine, care reflectă doar această caracteristică.

Lectură recomandată

  • Maureen Williams Zimmerman. Biblioteca de referințe Microsoft Visual Basic 6.0 . - Redmond, WA, SUA: Microsoft Press, 1998. - 3344 p. — ISBN 1-57231-864-3 .
  • Personalul oficial al cursului academic Microsoft. Microsoft Visual Basic 6.0: Ghidul programatorului . - Redmond, WA, SUA: Microsoft Press, 1998. - 976 p. — ISBN 1-57231-863-5 .
  • John Clark Craig, Jeff Webb. Microsoft Visual Basic 6.0. Atelierul dezvoltatorului. - „Ediția rusă”, 2001. - 720 p. — ISBN 1-57231-883-X .
  • Dan Appleman. Win32 API și Visual Basic. Profesionist = Dan Appleman's Visual Basic Programmer's Guide to the Win32 API. - Sankt Petersburg. : „Petru” , 2001. - 1120 p. — ISBN 5-272-00198-2 .
  • James Cooper. Modele de design Visual Basic: VB 6.0 și VB.NET . - Addison Wesley, 2002. - 484 p. — ISBN 0-201-70265-7 .
  • Sergeev V. Visual Basic 6.0. Ghid pentru profesionisti. - Sankt Petersburg. : „BHV-Petersburg”, 2004. - 974 p. - ISBN 5-8206-0019-3 .
  • Brian Siler, Jeff Spotts. Utilizarea Visual Basic 6. Ediția clasică = Ediția specială Utilizarea Visual Basic 6. - M. : „Williams”, 2007. - 832 p. — ISBN 0-7897-1542-2 .