Visual Basic

Visual Basic
Data primei versiuni 1991
Paradigmă Programarea evenimentelor
Dezvoltator Microsoft
Ultima versiune 6.0 (1998)
Tastare Static , puternic
Influențată de Quick Basic
Influențat Visual Basic .NET , Gambas
Sistem de operare Microsoft Windows
Licență Proprietar
Site-ul web microsoft.com

Visual Basic (VB) este un limbaj de programare a treia generație bazat pe evenimente , precum și un mediu de dezvoltare integrat , creat de Microsoft pentru modelul său de programare COM . Visual Basic este derivat direct din BASIC și permite dezvoltarea rapidă a aplicațiilor , crearea de interfețe grafice de utilizator , accesul la baze de date folosind tehnologiile DAO , ADO și RDO, precum și crearea de controale sau obiecte ActiveX . Limbaje de scriptare, cum ar fi Visual Basic pentru aplicații și VBScript, sunt sintactic similare cu Visual Basic, dar se utilizează și se comportă semnificativ diferit.

Un program în VB poate fi dezvoltat folosind componentele furnizate cu Visual Basic în sine. Programele scrise în Visual Basic pot utiliza, de asemenea, API-ul Windows , care necesită declararea funcțiilor externe în program.

Într-un studiu realizat în 2005, 62% dintre dezvoltatori au spus că folosesc o formă de Visual Basic. Conform aceluiași studiu, cele mai utilizate limbaje în domeniul comercial sunt Visual Basic, C ++ , C # și Java .

Ultima actualizare a Visual Basic este versiunea 6.0, lansată în 1998 . Asistența extinsă Microsoft sa încheiat în 2008 . De la versiunea 7, Visual Basic suferă modificări substanțiale, aducându-l mai aproape de platforma „  dot Net  ” și care îl determină pe Microsoft să îl comercializeze sub numele Visual Basic .NET .

Caracteristici lingvistice

Visual Basic a fost conceput pentru a fi ușor de învățat și de utilizat. Limbajul vă permite să creați aplicații grafice într-un mod simplu, dar și să creați aplicații cu adevărat complexe. Programarea în VB este un amestec de mai multe sarcini, cum ar fi aranjarea vizuală a componentelor și controalelor pe formulare, definirea proprietăților și acțiunilor asociate acestor componente și, în cele din urmă, adăugarea de cod pentru a adăuga funcționalitate. Deoarece atributelor și acțiunilor li se atribuie valori implicite, este posibil să creați un program simplu fără ca programatorul să fie nevoit să scrie multe linii de cod. Primele versiuni au suferit de probleme de performanță, dar odată cu apariția computerelor mai rapide și datorită compilării codului nativ , problema de performanță a scăzut.

Deși programele pot fi compilate în cod nativ de la versiunea 5, acestea necesită în continuare prezența motorului de execuție sau a runtime-ului pentru a funcționa , pentru o dimensiune de aproximativ 2  MB . Acest timp de rulare este inclus în mod implicit în Windows 2000 și ulterior ca biblioteci dinamice. Pentru versiunile anterioare de Windows , timpul de execuție trebuie distribuit cu executabilul însuși.

În IDE , formularele sunt create folosind tehnica drag-and-drop , permițând comenzilor (casetă de intrare, casetă de selectare, buton etc.) să fie plasate pe formular. Controalele au toate atribute și gestionare de evenimente asociate. Sunt atribuite valorile implicite, care pot fi modificate de programator. Multe atribute pot fi schimbate dinamic în timpul rulării, ca răspuns la acțiunile utilizatorilor sau la modificările din mediu. De exemplu, este posibil să adăugați cod în handlerul de redimensionare a evenimentului formularului, pentru a-l menține permanent în centrul ecranului sau pentru a mări formularul astfel încât să ocupe întreaga suprafață a ecranului. Prin adăugarea de cod în gestionarul de evenimente   „ KeyPress ” (apăsată tasta) dintr-o casetă de editare , programul ar putea converti automat literele minuscule în litere mari sau invers, sau chiar să interzică inserarea anumitor caractere.

Visual Basic vă permite să creați executabile (fișiere .EXE), controale ActiveX sau DLL-uri , dar utilizarea sa principală este de a crea aplicații Windows și interfață web cu baze de date. Se pot utiliza casete de dialog simplificate (de ex. Nu Maximizați / Minimizați ) pentru a oferi funcționalitate de tip pop-up. Comenzile oferă funcționalitatea de bază a aplicației, programatorii adaugă pur și simplu funcționalitatea suplimentară prin inserarea codului în gestionarele de evenimente corespunzătoare. De exemplu, o casetă de selecție verticală este direct capabilă să afișeze lista și să permită utilizatorului să aleagă unul dintre elementele sale. Un gestionar de evenimente este apelat atunci când este selectat un element, de exemplu pentru a completa o listă asociată.

O componentă Visual Basic nu poate avea, de asemenea, nicio interfață cu utilizatorul și, în schimb, poate furniza obiecte ActiveX altor programe, prin Modelul de obiecte componente (COM). Limbajul are un mecanism de colectare a gunoiului , utilizând mecanismul „număr de referință”. De asemenea, are o bibliotecă mare de utilități și oferă elementele de bază ale programării orientate pe obiecte . Deoarece componentele cele mai comune sunt incluse în mod implicit în șablonul de proiect standard, rareori este necesar ca programatorul să utilizeze biblioteci suplimentare. Spre deosebire de multe alte limbaje de programare, Visual Basic nu este, în general, sensibil la majuscule și minuscule (utilizarea majusculelor sau minusculelor nu contează), deși transformă automat scrierea cuvintelor cheie. Conform unei convenții standard și că forțează scrierea variabilelor în codul să fie identic cu scrierea utilizată în timpul declarației. În schimb, comparațiile șirurilor sunt sensibile la majuscule și minuscule, dar acest comportament poate fi modificat după bunul plac.

Caracteristici ale Visual Basic

Visual Basic are câteva caracteristici neobișnuite:

Evoluția Visual Basic

VB 1.0 a fost lansat în 1991 . Principiul conectării unui limbaj de programare cu o interfață grafică de utilizator este derivat dintr-un prototip numit Tripod, dezvoltat de Alan Cooper . Microsoft a luat legătura apoi cu Cooper și asociații săi pentru a dezvolta un Shell programabil pentru Windows 3.0 , sub numele de cod Ruby (care nu are legătură cu limbajul de programare Ruby ).

Trepiedul nu conținea limbaj de programare, iar Ruby conținea doar un procesor de comandă rudimentar suficient pentru a acționa ca un Windows Shell . În cele din urmă, Microsoft a decis să utilizeze programul simplu , cum ar fi Shell pentru Windows 3.0 , în loc de Ruby, și să combine Ruby cu limbajul Basic pentru a crea Visual Basic.

Ruby a furnizat partea „Visual” a Visual Basic - editorul de ferestre și instrumentele de editare - asociate cu capacitatea de a încărca biblioteci dinamice, care conțin controale suplimentare (numite apoi „gizmos”). Extensiile „Gizmos” ale lui Ruby au devenit ulterior interfața VBX.

Visual Basic, de la VB1 la VB6

Limbi derivate

Microsoft a dezvoltat limbaje derivate, pentru utilizarea limbajului Script  :

Performanță și alte probleme

Versiunile anterioare ale Visual Basic (înainte de versiunea 5.0) au generat numai P-Code sau pseudo-cod. Visual Basic 5 și 6 sunt capabile să compileze în cod P sau cod nativ, la alegerea programatorului. Codul P este interpretat de timpul de rulare al limbajului, numit și o mașină virtuală . Avantajul constă în portabilitate și dimensiunea redusă a codului. Cu toate acestea, acest lucru încetinește de obicei execuția programelor, deoarece adaugă un strat suplimentar de interpretare. Este posibil să creați porțiuni mici de coduri sau anumiți algoritmi care rulează mai repede în codul P decât în codul nativ .

Aplicațiile Visual Basic necesită prezența Microsoft Visual Basic Runtime MSVBVMxx.DLL, unde xx este numărul versiunii, fie 50, fie 60. MSVBVM60.DLL vine standard cu toate versiunile de Windows după Windows 98 , în timp ce MSVBVM50. DLL a fost prezent cu toate ediții de Windows după Windows 95 . Astfel, pentru o mașină sub Windows 95, era obligatoriu ca programele Visual Basic să fie distribuite cu DLL adecvat.

Visual Basic este criticat pentru gestionarea ineficientă a memoriei și pentru posibilitatea pe care o oferă pentru a putea construi cod folosind construcții neducaționale, ceea ce poate duce la obiceiuri proaste de programare și pentru a scrie cod slab performant. În Visual Basic, uneori poate fi dificil să se spună dacă o variabilă este o referință la un obiect sau obiectul în sine.

În mod similar, uneori este dificil să se spună dacă o operațiune va copia referința unui obiect sau va copia întregul obiect. Această ambiguitate poate fi cauza unui comportament neintenționat sau poate duce la un program slab performant.

Exemple de cod

Iată câteva exemple de cod Visual Basic:

Funcție care returnează (calculează) aria unui cerc:

Private Function AireDuCercle(Rayon As Double) As Double Const PI = 3.14159265358979 AireDuCercle = PI * (Rayon ^ 2) End Function

Program afișarea unei ferestre cu cuvintele „Hello World”

Sub Main() MsgBox("Hello World") End Sub

Porniți o aplicație terță parte din Visual Basic:

Private Sub Run_Notepad() Shell "%SystemRoot%\notepad.exe", vbMinimizedNoFocus 'ouvre Notepad, car Notepad est dans le répertoire System '%SystemRoot% est une variable d'environnement contenant le chemin du répertoire Windows System. End Sub

Programare obiect:

Imports System.Net.Mail Public Class Form1 Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CBaccept.CheckedChanged Button1.Visible = True If CBaccept.Checked = False Then Button1.Visible = False End If End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If TBnom.Text = "" Or TBmail.Text = "" Or TBpasse.Text = "" Or TBcpasse.Text = "" Or TBprenom.Text = "" Or TBpseudo.Text = "" Or TBcandidature.Text = "" Or CBaccept.Checked = False Then MsgBox("Vous devez tout remplir correctement") Exit Sub End If If TBpasse.Text <> TBcpasse.Text Then MsgBox("le mot de passe ne correspond pas") Exit Sub End If Dim Nom = TBnom.Text Dim Prenom = TBprenom.Text Dim Mail = TBmail.Text Dim Passe = TBpasse Dim Candidature = TBcandidature Dim Pseudo = TBpasse Dim Message = "Test" & Pseudo & vbCrLf & "candidature " & Candidature & vbCrLf & "prenom" & Prenom Dim MyMailMessage As New MailMessage() Dim SMTPServer As New SmtpClient("[email protected]") MyMailMessage.From = New MailAddress("[email protected]") MyMailMessage.To.Add("[email protected]") MyMailMessage.Subject = ("sujet du message") MyMailMessage.Body = ("Message") SMTPServer.Port = ("587") 'Port SMTPServer.Credentials = New System.Net.NetworkCredential("Adresse_Expediteur", "Mot_de_passe_expediteur") SMTPServer.EnableSsl = True SMTPServer.Send(MyMailMessage) 'Envoi End Sub End Class

Dezvoltarea interfețelor grafice de utilizator în Visual Basic 6.0

Visual Basic vă permite să dezvoltați interfețe grafice de utilizator foarte bogate. Multe tipuri de software pot fi create rapid, cum ar fi (lista neexhaustivă): software de editare a imaginilor, editoare de text și aplicații de baze de date.

Anexe

Articole similare

linkuri externe

Bibliografie

  • Francesco Balena , Microsoft Visual Basic 2005 , Paris, Microsoft Press , col.  "Manual de referință",2006, 640  p. ( ISBN  978-2-10-049941-0 , prezentare online )
  • Michaël Halvorson ( trad.  Din engleză), Microsoft Visual Basic 2010 , Paris, Microsoft Press , col.  " Pas cu pas ",2010, 576  p. ( ISBN  978-2-10-054744-9 , prezentare online )
  • Luca Regnicoli , Paolo Pialorsi și Roberto Brunetti , Construiește aplicații Windows 8 cu Microsoft Visual C # și Visual Basic , Sebastopol, Microsoft Press , col.  "Pas cu pas",2013, 368  p. ( ISBN  978-0-7356-6695-5 , prezentare online )

Note și referințe

  1. VB este înlocuit de Visual Basic .NET , însă conversia aplicațiilor din VB în VB .NET poate să nu fie banală. [1] [PDF] .)
  2. De exemplu: S = "ABC": S = S & "DEF": S = S & "GHI" este o practică obișnuită în VB, dar poate provoca probleme grave dacă este utilizată pe o pagină ASP, deoarece constantele statice sunt tratate diferit de cele două limbi.
  3. (în) „  Computerworld Development Survey dă Nod lui C #  ' ( ArhivăWikiwixArchive.isGoogle • Ce să faci? ) ]
  4. În majoritatea limbilor, True este reprezentat de o valoare numerică diferită de zero, adesea 1 sau -1
  5. (în) Ghidul ciclului de viață de familie al produselor pentru Visual Basic 6.0