New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Visual Basic – Wikipedia

Visual Basic

Wikipedia

Visual Basic on Microsoftin kehittämä BASIC-sukuinen kieli. Vuonna 1991 esiteltiin sen ensimmäinen versio. Visual Basic on nykyään Microsoftin .NET-perheeseen kuuluva ohjelmointikieli nimellä Visual Basic.Net (VB.NET). Visual Basicista on myös laajalti käytössä sen versio 6, enimmäkseen sillä tehtyjen ohjelmien paremman toimivuuden vanhoissa käyttöjärjestelmissä vuoksi. Visual Basicilla ohjelmoidaan yleensä käyttäen Microsoft Visual Studiota, joka on graafinen ohjelmointiympäristö ja osa Microsoft .NET -konseptia.

Visual Basicilla ohjelmoidut ohjelmat ovat laitteistoriippuvaisia, ja sillä tehdyt ohjelmat toimivat ainoastaan Windows-käyttöjärjestelmissä ja vaativat ajonaikaisia DLL-tiedostoja toimiakseen. Nykyään Visual Basicilla tehtyjä ohjelmia voi ajaa myös esim. Linuxissa käyttäen jotakin Windows-emulaattoria kuten WINEä. Visual Basicilla tehtyjen ohjelmien ajamiseen tarvitaan myös .NET frameworkin uusin versio, jonka saa ladattua Microsoftin sivuilta.

Visual Basic on BASIC-sukuinen kieli. Sukuisuus näkyy kielen syntaksissa - Visual Basicin kielioppi periytyy suoraan Microsoftin aiemmista tuotteista (Mbasic, SV-Basic, MSX-Basic, GW-Basic, QuickBasic). C-sukuisista ohjelmointikielistä poiketen komennot erotetaan (tarvittaessa) kaksoispisteillä, ei puolipisteillä. Lohkoja ei varsinaisesti määritellä millään tietyllä standardilla tavalla (vrt. C:n aaltosulut), vaan lohkon alussa ja lopussa on varatut sanat (esim. While .. Wend, If .. End If, For .. Next) jotka määrittelevät lohkon. Visual Basic.Net on ohjelmointikielenä lähempänä C-kieliä kuin aiemmat Visual Basicin versiot. Tämä johtuu pitkälti .NET-frameworkin käytön vaatimuksista. Esimerkiksi frameworkista käyttöön haluttavat palat pitää tuoda moduulin alussa Imports-avainsanalla, joka toimii paljolti samaan tapaan kuin C-kielistä tuttu Uses-avainsana.

Visual Basiciin on lisätty useita käytännöllisiä ominaisuuksia. Vaikka se ei ole varsinainen oliokieli siinä on pitkälle vietyä olioiden simulointia, jolla saavutetaan useita olio-ohjelmoinnin hyötyjä (vrt. Perl). Korkean tason kielenä Visual Basic on ilmaisuvoimaltaan melko rajoittunut - laitteistotasoon on vaikea päästä suoraan käsiksi. Toisaalta samasta syystä useiden abstraktien asioiden käsittely on kielessä selkeätä ja yksinkertaista.

Suuri hyöty Visual Basicissa on myös kääntäjän mukana tuleva laaja työkaluvalikoima - ohjelmaa on, useista käännettävistä kielistä poiketen, mahdollista tulkata virheiden paikannusta varten. Tulkkauksen aikana ohjelmoijalla on mahdollisuus keskeyttää ohjelman ajo lähes milloin tahansa, tarkastella muuttujien arvoja ja jopa muuttaa niitä. Kuitenkin kielessä on mahdollisuus kääntää varsinainen ohjelma. Tällainen työkaluvalikoima ei kuitenkaan ole pelkästään Visual Basicin ominaisuus. Muillekin ohjelmointikielille on kehitetty vastaavia työkaluja, mutta usein ne on hankittava erikseen ja hinta on sen mukainen. Toisaalta Visual Basicille on mahdoton löytää muita kuin Microsoftin kääntäjiä.

Esimerkki Visual Basic-ohjelmasta:

Private Sub Form_Load()             ' Määritellään aliohjelma Form_Load (joka käynnistyy automaattisesti)

   Dim strNimi as String            ' Alustetaan muuttuja (tätä VB:ssä ei ole pakko tehdä)
   strNimi = InputBox("Mikä on nimesi?")  ' Kysytään käyttäjältä nimeä Windows-dialogin avulla
   MsgBox "Hei " & strNimi & "!"    ' Näytetään Windowsin viestiruutu, jossa tervehdys
 
End Sub

Hei Maailma-ohjelma:

Private Sub Form_Load()             ' Määritellään aliohjelma Form_Load (joka käynnistyy automaattisesti)
MsgBox "Hei Maailma!",,"Hei Maailma"' Ensimmäinen Hei Maailma-teksti on viestiruudun teksti, ja pilkun jälkeen tulisi määritelmiä (esim. huutomerkki, Yes/No-näppäimet, aluksi on aina OK) ja seuraavan pilkun jälkeen tulee otsikko.
End Sub

Äsken mainitun hei maailma (hello world) ohjelman voi tehdä myös näkymättömänä:

    Sub Main()
MsgBox("Viestin teksti", MsgBoxStyle.Information, "Viestin otsikko") ' Tässä esitellään myös toinen 'tapa viestilaatikon(msgbox) näyttämiselle. Visual Basic ehdottaa itse 
'vaihtoehdot yes/no näppäimien tyylille, joten sinun ei tarvitse tietää niitä.
    End Sub

tai:

Private Sub Form_Load()             ' Määritellään aliohjelma Form_Load (joka käynnistyy automaattisesti)
Label1.Caption="Hei Maailma"
Form1.Caption="Hei Maailma"
End Sub

[muokkaa] Kielen erityispiirteitä

Visual Basicissa on mahdollista käyttää muuttujia esittelemättä niitä. Tämän seurauksena syntyy helposti mahdollisesti hyvinkin vaikeasti havaittavia virheitä, jos muuttujan nimessä on kirjoitusvirhe. Tällaisia virheitä ei pääse syntymään, jos ohjelmamoduulin alussa on rivi

Option Explicit

Rivin voi lisätä manuaalisesti tai asetuksista voi asettaa kyseisen rivin ilmestymään uusiin moduleihin automaattisesti, mutta asetuksesta riippumatta rivin voi myös poistaa, jolloin virheiden mahdollisuus kasvaa.

Visual Basic 6:een asti virheidenkäsittelyssä voidaan käyttää määrittelyä On Error Resume Next. Se ei anna virheilmoitusta, vaan jatkaa suoritusta seuraavasta lauseesta. Jos virhe aiheutuu arvon palauttavassa lausekkeessa, se saa arvon nolla. Tämä voi aiheuttaa odottamattomia seurauksia esimerkiksi käytettäessä loogista Not-operaatiota.

' Setti on RecordSet -tyyppinen olio, mutta sitä ei ole avattu
On Error Resume Next
Do While Not Setti.EOF ' EOF-kutsu aiheuttaa virheen, mutta virheenkäsittely palauttaa arvon 0 --> Not 0 = True
  ' Tehdään jotain
  Setti.MoveNext       ' Taas aiheutuu virhe, mutta virheenkäsittely estää virheilmoituksen
Loop                   ' Näin saatiin aikaan ikuinen silmukka

[muokkaa] Aiheesta muualla

Visual Basic 2005 Express Edition Kieleen voi tutustua Microsoftin sivulta ilmaiseksi ladattavissa olevalla versiolla.

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu