Visual Basic

Visual Basic
Dato for første versjon 1991
Paradigme Programmering av hendelser
Utvikler Microsoft
Siste versjon 6.0 (1998)
Skrive Statisk , sterk
Påvirket av Rask grunnleggende
Påvirket Visual Basic .NET , Gambas
Operativsystem Microsoft Windows
Tillatelse Eieren
Nettsted microsoft.com

Visual Basic (VB) er et tredje generasjons hendelsesdrevet programmeringsspråk samt et integrert utviklingsmiljø , skapt av Microsoft for sin COM- programmeringsmodell . Visual Basic er hentet direkte fra BASIC og gir rask applikasjonsutvikling , oppretting av grafiske brukergrensesnitt , tilgang til databaser ved bruk av DAO , ADO og RDO-teknologier, samt opprettelse av ActiveX- kontroller eller objekter . Skriptspråk som Visual Basic for Applications og VBScript ligner syntaktisk på Visual Basic, men bruker og oppfører seg vesentlig annerledes.

Et program i VB kan utvikles ved å bruke komponentene som følger med Visual Basic. Programmer skrevet i Visual Basic kan også bruke Windows API , som krever deklarering av eksterne funksjoner i programmet.

I en studie utført i 2005 sa 62% av utviklerne at de brukte en eller annen form for Visual Basic. I følge den samme studien er de mest brukte språkene i det kommersielle feltet Visual Basic, C ++ , C # og Java .

Den siste oppdateringen til Visual Basic er versjon 6.0, utgitt i 1998 . Microsoft utvidet støtte avsluttet i 2008 . Fra versjon 7 gjennomgår Visual Basic betydelige endringer som bringer den nærmere " dot Net  " -plattformen  , og som får Microsoft til å markedsføre den under navnet Visual Basic .NET .

Språkfunksjoner

Visual Basic ble designet for å være enkelt å lære og bruke. Språket lar deg lage grafiske applikasjoner på en enkel måte, men også å lage virkelig komplekse applikasjoner. Programmering i VB er en blanding av flere oppgaver, for eksempel å visuelt arrangere komponenter og kontroller på skjemaer, definere egenskaper og handlinger knyttet til disse komponentene, og til slutt legge til kode for å legge til funksjonalitet. Fordi attributter og handlinger er tildelt standardverdier, er det mulig å lage et enkelt program uten at programmereren trenger å skrive mange kodelinjer. Tidlige versjoner led av ytelsesproblemer, men med fremveksten av raskere datamaskiner og takket være opprinnelig kodekompilering , har ytelsesproblemet avtatt.

Selv om programmene kan kompileres i opprinnelig kode siden versjon 5, krever de fremdeles tilstedeværelsen av kjøringsmotoren eller kjøretiden for å fungere , for en størrelse på omtrent 2  MB . Denne kjøretiden er inkludert i Windows 2000 og senere som dynamiske biblioteker. For tidligere versjoner av Windows må kjøretiden distribueres med selve kjørbarheten.

I IDE opprettes skjemaer ved hjelp av dra-og-slipp- teknikken , slik at kontroller (inntastingsboks, avkrysningsrute, knapp osv.) Kan plasseres på skjemaet. Kontrollene har alle attributter og tilhørende hendelsesbehandlere. Standardverdier er tilordnet, som kan endres av programmereren. Mange attributter kan endres dynamisk ved kjøretid, som svar på brukerhandlinger eller endringer i miljøet. For eksempel er det mulig å legge til kode i behandleren for endring av størrelse på skjemahendelsen, for å holde den permanent i midten av skjermen eller for å forstørre skjemaet slik at det opptar hele skjermoverflaten. Ved å legge til kode i " KeyPress  " hendelsesbehandler  ( tastetastet ) i en redigeringsboks , kunne programmet automatisk konvertere små bokstaver til store bokstaver eller omvendt, eller til og med forby innsetting av visse tegn.

Visual Basic lar deg lage kjørbare filer (.EXE-filer), ActiveX- kontroller eller DLL- filer , men den primære bruken er å lage Windows-applikasjoner og nettgrensesnitt med databaser. Forenklede dialogbokser (f.eks. Ingen Maksimer / Minimer ) kan brukes til å gi funksjonalitet for pop-up-typen. Kontroller gir applikasjonens grunnleggende funksjonalitet, programmerere legger bare til ekstra funksjonalitet ved å sette inn kode i de aktuelle hendelsesbehandlerne. For eksempel er en rullegardinrute direkte i stand til å vise listen og tillate brukeren å velge et av elementene. En hendelsesbehandler kalles når et element er valgt, for eksempel for å fylle ut en relatert liste.

En Visual Basic-komponent kan heller ikke ha noe brukergrensesnitt og i stedet gi ActiveX-objekter til andre programmer gjennom Component Object Model (COM). Språket har en søppeloppsamlingsmekanisme , ved hjelp av "referansetelling" -mekanismen. Den har også et stort bibliotek med verktøy og tilbyr grunnleggende støtte for objektorientert programmering . Siden de vanligste komponentene er inkludert i standard prosjektmalen, er det sjelden nødvendig for programmereren å bruke flere biblioteker. I motsetning til mange andre programmeringsspråk, er Visual Basic vanligvis ikke store og små bokstaver (bruk av store og små bokstaver spiller ingen rolle), selv om det automatisk forvandler skriving av nøkkelord. I henhold til en standardkonvensjon og at det tvinger skrivingen av variablene i koden skal være identisk med skriften som ble brukt under erklæringen. Omvendt er strengesammenligning store og små bokstaver som standard, men denne oppførselen kan endres etter eget ønske.

Funksjoner i Visual Basic

Visual Basic har noen uvanlige funksjoner:

Utvikling av Visual Basic

VB 1.0 ble utgitt i 1991 . Prinsippet om å koble et programmeringsspråk med et grafisk brukergrensesnitt er hentet fra en prototype kalt Tripod, utviklet av Alan Cooper . Microsoft hadde da kontaktet Cooper og hans medarbeidere for å utvikle en programmerbar Shell for Windows 3.0 , under kodenavnet Ruby (ikke relatert til programmeringsspråket Ruby ).

Tripod inneholdt ikke noe programmeringsspråk, og Ruby inneholdt bare en rudimentær kommandoprosessor som var tilstrekkelig til å fungere som et Windows Shell . Til slutt bestemte Microsoft seg for å bruke den enkle programbehandleren som Shell for Windows 3.0 , i stedet for Ruby, og å kombinere Ruby med Basic- språket for å lage Visual Basic.

Ruby sørget for den "Visual" -delen av Visual Basic - vindueditoren og redigeringsverktøyene - assosiert med muligheten til å laste inn dynamiske biblioteker, som inneholder ekstra kontroller (da kalt "gizmos"). Rubys "gizmos" -utvidelser ble senere VBX-grensesnittet.

Visual Basic, fra VB1 til VB6

Avledede språk

Microsoft har utviklet avledede språk for skriptspråkbruk  :

Ytelse og andre problemer

Tidlige versjoner av Visual Basic (før versjon 5.0) genererte bare P-kode eller pseudokode. Visual Basic 5 og 6 er i stand til å kompilere til P-kode eller innfødt kode, etter valg av programmerer. P-koden blir tolket av språket kjøretids , også kalt en virtuell maskin . Fordelen ligger i portabiliteten og den lille størrelsen på koden. Imidlertid reduserer dette vanligvis utførelsen av programmer, da det legger til et ekstra lag av tolkning. Det er mulig å bygge små porsjoner koder eller visse algoritmer som kjører raskere i P-kode enn i innfødt kode .

Visual Basic-applikasjoner krever tilstedeværelse av Microsoft Visual Basic Runtime MSVBVMxx.DLL, hvor xx er versjonsnummeret, enten 50 eller 60. MSVBVM60.DLL leveres standard med alle versjoner av Windows etter Windows 98 , mens MSVBVM50. DLL var til stede med alle utgaver av Windows etter Windows 95 . For en maskin under Windows 95 var det således obligatorisk at Visual Basic-programmene distribueres med riktig DLL .

Visual Basic blir kritisert for sin ineffektive minnehåndtering og for muligheten for at den tilbyr å kunne bygge kode ved hjelp av uneducational konstruksjoner, noe som kan føre til dårlige programmeringsvaner og å skrive dårlig utførende kode. I Visual Basic kan det noen ganger være vanskelig å fortelle om en variabel er en referanse til et objekt eller selve objektet.

På samme måte er det noen ganger vanskelig å si om en operasjon vil kopiere referansen til et objekt eller kopiere hele objektet. Denne tvetydigheten kan være årsaken til utilsiktet oppførsel, eller resultere i et dårlig utført program.

Kodeeksempler

Her er noen eksempler på Visual Basic-kode:

Funksjon som returnerer (beregner) arealet til en sirkel:

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

Program som viser et vindu med ordene "Hello World"

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

Start et tredjepartsprogram fra 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

Objektprogrammering:

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

Utvikling av grafiske brukergrensesnitt i Visual Basic 6.0

Visual Basic lar deg utvikle veldig rike grafiske brukergrensesnitt. Mange typer programvare kan opprettes raskt, for eksempel (ikke uttømmende liste): bilderedigeringsprogramvare, tekstredigerere og databaseapplikasjoner.

Vedlegg

Relaterte artikler

Eksterne linker

Bibliografi

  • Francesco Balena , Microsoft Visual Basic 2005 , Paris, Microsoft Press , koll.  "Referansehåndbok",2006, 640  s. ( ISBN  978-2-10-049941-0 , online presentasjon )
  • Michaël Halvorson ( oversettelse  Fra engelsk), Microsoft Visual Basic 2010 , Paris, Microsoft Press , koll.  " Steg for steg ",2010, 576  s. ( ISBN  978-2-10-054744-9 , online presentasjon )
  • Luca Regnicoli , Paolo Pialorsi og Roberto Brunetti , bygger Windows 8-apper med Microsoft Visual C # og Visual Basic , Sebastopol, Microsoft Press , koll.  "Steg for steg",2013, 368  s. ( ISBN  978-0-7356-6695-5 , online presentasjon )

Merknader og referanser

  1. VB erstattes av Visual Basic .NET , men det kan ikke være trivielt å konvertere applikasjoner fra VB til VB. NET. [1] [PDF] .)
  2. For eksempel: S = "ABC": S = S & "DEF": S = S & "GHI" er vanlig praksis i VB, men kan forårsake alvorlige problemer hvis de brukes på en ASP-side, da statiske konstanter behandles forskjellig av de to språkene.
  3. (in) "  Computerworld Development Survey Gives Nod to C #  ' ( ArkivWikiwixArchive.isGoogle • Hva skal jeg gjøre? ) ]
  4. I de fleste språk, Sann er representert ved en annen numerisk verdi enn null, ofte en eller -1
  5. (in) Retningslinjer for familiens livssyklus for Visual Basic 6.0