Jump to content
G3o

Bazele in Visual Basic

Recommended Posts

Bazele in Visual Basic

Continut:

Introducere

Variabile,constante

Tipuri de variabile

Tipul array

Instructiuni

Proceduri

Functiile msgbox() si inputbox()

Fisiere

Meniu

Bibliografie

Introducere

Visual Basic este un mediu de programare vizuala de inalta productivitate,produs de firma Microsoft,cu care poti crea o multime de aplicatii Windows.Visual Basic este derivat de la limbajul Basic si face parte din pachetul pentru programare vizuala oferit de Microsoft,Visual Studio.

Programul Visual Basic este alcatuit din :

Bara de meniu—contine meniuri cu care sunteti familiarizati din alte

programe(File,Edit,View,Windows,Help)+2 meniuri specifice

compilatoarelor (Project,Debug,Run,Add-ins);

Bara de instrumente—are cateva scurtaturi pt comenzile cele mai folosite (Save,Open..)

Bara de controale(Toolbox)—contine controalele din Visual Basic

Fereastra Properties—proprietatile controalelor(am sa va explic cateva pe la sfarsitul

tutorialului)

Browser-ul pentru proiect—afiseaza formularele si modulele proiectului

Fereastra From Deisgn— contine forma fiecarui element

Fereastra de cod—nu este vizibila ,dar fiecarei forme sau module ii este asociata

Aici se scrie codurile din visual basic(declararea variabilelor,

instructini,etc);

Comentarile in Visual Basic se fac cu ajutorul ‘ (apostrof).

Variabile,constante

1.Variabile

Variabilele sunt numele unei locati de memorie in care se pastreaza o valoare care poate fi modificata in timpul executiei programului.

Declararea variabilelor :

Dim nume_variabila as tip

nume-este numele variabilei declarate(si pe care vei folosio in program);

tip-tipul de date care ii este asociat(vom discuta despre acestea mai tarziu);

Variablele incep cu o litera sau cu _(underscore) si contine 255 de caracere

Mai putem folosi un fel de declarare a variabilelor:

-a)Public nume as tip

sau

-b)Static nume as tip

a)daca folosim cuvantul cheie Public inseamna ca am vrut ca variabila sa fie cunoscuta in intreaga aplicatie

b)daca am folosit Static atunci inseamna ca am vrut sasi pastreze valoarea chiar si in afara proceduri.

2.Constante

Constantele sunt un fel de variabile dar fata de acestea ele nu pot fi modificate in timpul executiei programului.

Declararea constantelor :

[Private][Public]Const nume as tip = valoare

nume & tip-ca la variabile

valoare- poate fi un numar,caracter sau sir de caractere care in timpul unui program sa nu

se schimbe

Private –cuvant cheie care face constata sa fie folosita numai in aplicatia curenta

Public - cuvant cheie care face constanta vizibila in tot programu

2 functii incluse in compilator(limbaj) sunt vla() si str().

Val()—transforma un sir de caractere inrun rezultat intreg(Ascii?numar)

Str() –transforma un intreg intrun sir de caractere(numar?Ascii)

Tipuri de variabile

In Visual Basic tipurile de variabile se impart(zic yo si multi alti de la care am invatzat) in 2 categorii :

1)Numerice :

Byte:de la 0 la 255

Integer : numere intregi intre -32,768 si 32,767

Long : intreg lung (ceva numere mai mari)

Single:numere reale cu virgula mobila simpla precizie

Double:numere reale cu virgula mobila cu dubla precizie

Currency:numere foarte mari(folosite pt monede spun unele carti)

Decimal:numere foarte foarte mari

Cu toate aceste tipuri se pot efectua operatii aritmetice.

2)Nenumerice:

String:ca in toate limbajele(pt siruri de caractere);

Date:se foloseste pt date din calendar

Boolean :retine valori de tip true/flase(adevart/fals) ;

Object :pt obiecte

O variabila dere care nu sa mai auzit despre ea in alte limbaje este tipul Variant.

Variant—contine toate tipurile de date

Pt a forta o valoare sa ia un anumit tip de data atunci folositi urmatoarele sufixe :

& --------------------------------------Long

! ---------------------------------------Single

#---------------------------------------Double

@--------------------------------------Currency

Tipul array

Tipul array este o lista de variabile ,toate avand acelasi tip de date si acelasi nume.

Declararea variabilelor se poate face cu ajutorul cuvintelor cheie Public sau Dim(leam explicat mai sus):

Dim nume(numar_de_elemente) as tip_de_date

Variabilele sunt numar_de_elemente-1

De exemplu :Dim student(3) as String avem variabilele :student,student(1),student(2)

Putem declara tipul array ca:

Dim trandafiri(10 to 50) as Integer

Am declarat un array care incepe cu trandafiri(10) si se termina cu trandafiri(50)

Exemplu :

Private Sub cmdtest_Click()

Dim prop(4) as string

prop(0)= « Programare »

prop(1)=”in”

prop(2)=”Visual”

prop(3)=”Basic”

Msgbox prop(0) & “ “ & prop(1) & “” prop(2) & “ “ & prop(3)

End Sub

Instructiuni

In Visual Basic sunt 3 feluri de instructiuni :1)de decizie

2)repetitive

3)de salt

1)Instructiuni de decizie

Sunt in numar de 2:a)Instructiunea IF

b)Instructiunea Case

a)Instructiunea if:

Testeaza daca o conditie daca este adevarata.

Folosire:are mai multe feluri de folosire

If cond then instructiune

Daca cond(conditia) este adevarata executa instructiunea.

Exemplu:

If 9>7 then msgbox “9 e mai mare decat 7”

If cond then instructiune 1

Else instructiune 2

End If

Testeaza daca cond(conditia) este adevarat si executa instructiunea 1.Daca cond este falsa atunci executa instructiunea2 si se termina in sf programu cu autorul lui End If.

Exemplu:

If 7<5 then msgbox « 7 este mai mic decat 5”

Else msgbox “7 este mai mare decat 5”

End if

If cond then instructiune 1

Else If cond 2then instructiune 2

Else If cond 3 then instructiune 3

:

:

Else If cond n then instructiune n

End if

Testeaza daca cond(conditia) este adevarata si executa instructiunea 1,daca nu testeaza ce este la Else if la conditia 2 si daca este adevarat executa instructiunea 2 daca nu testeaza cond 3 si tot asa.

Exemplu :

In sf va dau un exemplu de un program complect.Faceti o forma cu 3 controale text si un label cu numele rezultat.Cele 3 controale text faci :primul la proprietatea Name scri primul,la al 2lea control la Name scri operato iar la al 3lea la Name scri aldoilea.

Private Sub cmdtest_Click()

Dim primul as integer

Dim operator as string

Dim aldoilea as integer

primul = primulnumar.text

operator= operator.txt

aldoilea=aldoileanumar.txt

If operator=”+” then

rezultat.Caption=primul+aldoilea

Else if operator=”-“ then

rezultat.Caption=primul+aldoilea

Else if operator=”*” then

rezultat.Caption=primul*aldoilea

Else if operator=”/” then

rezultat.Caption=primul/aldoilea

End If

End Sub

Acest program functioneaza ca un calculator simplu.

b)Instructiunea Case

Este o instructiune cu decizie multipla.Este echivalenta cu ultimua folosinta de la if adik cum e exemplu de mai sus.

Select Case cond

Case 1 :instructiune

Case 2 :instructiune 2

:

:

Case n:instructiune n

Case Else:instructiune n+1

End Select

Testeaza conditia cond daca se afla intre case 1 si case n daca nu ,se se executa ce se afla la case else.

Exemplu :

Vom lua exemplu de la if(ultimul,care lam numit yo calculator)

Private Sub cmdtest_Click()

Dim primul as Integer

Dim operator as String

Dim aldoilea as Integer

primul=primulnumar.txt

operator=operator.txt

aldoilea=aldoileanumar.txt

Select Case (operator.txt)

Case +:

rezultat.caption=primul+aldoilea

Case - :

rezultat.Caption=primul-aldoilea

Case *:

rezultat.caption=primul*aldoilea

Case /:

rezultat.caption=primul/aldoilea

Case Else:

rezultat.caption=”Ai tastat ceva gresit”

End Select

End sub

2)Instructiuni repetitive

Sunt tot in numar de 3:-while

-do

-for

a)While

Verifica conditia si daca este adevarat o executa pana cand se face falsa.Traducere din engleza in romana while inseamna cat timp.Instructinea while este cu test initial.

While(conditie)

Instructiune

Wend

Exemplu:

Creazati un control text (cu numele textdatdevoi.txt)si un buton(cu numele cmdtest).Acest program cere de la utilizator un numar si acesta daca este mai mare executa pana cand numar (variabile declarata de noi) o ajunge(adik se egalizeaza).

Private Sub cmdtest_Click()

Dim numar as Integer

numar = 1

While(numar<=textdatdevoi.txt)

Msgbox numar & “MsgBoxes”

numar=numar+1

Wend

End Sub

b)Do

Instructiunea do :

-Instructiunea cu test initial (e aproape ca while)

i) Do While conditie

instructiune

Loop

ii)Do Until Conditie

Instructiune

Loop

Aceste 2 instructiuni sunt cu test initial si executa instructiune(poate fi un grup de isntructiuni) cat tip conditia este adevarat(i)=pana cand conditia se face falsa(ii).

-Instructiune cu test final:

i)Do

Instructiune

Loop while conditie

ii)Do

Instructiune

Loop until conditie

Aceste 2 instructiuni sunt cu test final adik prima data executa instructiune si dupaia verifica conditia(diferentza intre test initial si test final este ca la cele cu test final de cel putin o singura data se executa pe cand cea cu test initial sar putea sa nu se execute deloc)

Exemplu(cu test final deoarece alea cu test initial e aproape ca while):

Vom lua sursa codului de la while si o vom transpune aici cu do in loc de while.

Private Sub cmdtest_Click()

Dim numar as Integer

numar = 1

Do

Msgbox numar & “MsgBoxes”

numar=numar+1

Loop While(numar<=textdatdevoi.txt)

End Sub

Daca veti vedea acest cod va intrebati ce este asa diferit.Poi prima diferentza este ca sa folosit in loc de While..Wend Do..Loop While si a doua diferentza e ca daca il veti utiliza pe primu si veti scrie 1 nu se va intampla nimik,dar daca executati a doua sursa daca vei scrie 1 ti se va aparea un MsgBox si va repeta o data (adik o data trebe sa dai ok ).

c)For

Sincer sa fiu asta e cea mai usoara(nush care o folosesc alti programatori dar yo asta o folosesc cel mai mult).

Poi ce sa zic.For tradus din engleza in romana inseamna pentru.

For numevariabila_de_lacat to numevariabila_pana_la_cat

Instructiune

Next numevariabila

Poi nush cum sa va explic dar mai bine zic yo sa va dau un exemplus I sa va zic acolo.

Exemplu :

Vom lua exemplu de la while si do.

Private Sub cmdtest_Click()

Dim numar as Integer

For numar=1 to textdatdevoi.txt

Msgbox numar & “MsgBoxes”

Next numar

End Sub

Poi cum vedeti for mai scurteaza din cod sursa si este mai usor.In loc sa ii dam valoare lu numar inafara instructiuni for o da inauntru.Acest cod se va executa pana cand numar va fi egal cu textdatdevoi.txt.Si inca o chestie in loc sa incrementam noi variabila(adik numar=numar+1) instructiunea for o face in interiorul ei cu ajutorul lui Next(urmatorul).

O versiune de for mai este:

For each v in multime

Instructiune

Next v

Exemplu:

Suma mai multor numere(acest exemplu lam luat dintro carte care o voi prezenta la bibliografie)

Dim s,i as integer

Dim nr

Sub Suma(ParamArray())

For Each I in Nr

s=s+1

Next i

Txt_nr.txt = txt_nr.txt + str(s)+’ ‘

End Sub

Private Sub cmd_exit_Click()

Suma 1,7,11,14

Suma 2,12

End Sub

Acest exemplu lam dat aici dar ar putea sa fi dat si intrun urmator capitol(proceduri,mai exact la procedura sub)

3)Instructiune de salt:GoTo

Unii zic ca este comanda unii zic ca este isntructiune(yo ii dau numele de instructiune).

Poi Goto tradus din engleza in romana inseamna mergi la.Cum zice si traducerea si numele de instructiune ,GoTo poate sari peste ceva daca vreti sau poate sari intro parte a unui program(partea aleasa de voi).

Private Sub cmdtest_Click()

MsgBox « Salut ! »

buna :

MsgBox « Buna ! »

ce :

Msgbox « Ce faci ? »

Goto buna

pa :

Msgbox « La revedere ! »

End Sub

Acest program daca il veti executati nu se va termina nici o data deoarece goto inainte de asi lua la revedere se executa din nou si tot asa.Dupa ce da un msgbox cu ce faci ? iar va va redirectiona la buna si tot asa.

Proceduri

In Visual Basic se poate declara o procedura folosind meniul programului adik Tools si dupaia submeniul Add Procedure.Iti va aparea o fereastra in care la Name scri numele proceduri si la Type vei alege ce fel de procedura vrei sa fie proceura ta(voi explica un pic mai tz despre aceasta) ,iar laScope alege vizibilitatea.

Akm va voi arata cum sa declara tu o procedura fara ajutorul meniului(programului).

In Visual Basic sunt 2 feluri de proceduri :

-pt a nu rezulta nici o valoare se foloseste procedura Sub;

-pt a rezulta o valoare se foloseste procedura Function ;

Sub

Si aceasta la randul ei se imparte in 2 :generale

eveniment

Procedura Sub generala trebe sa fie declarata explicit de program.

Procedura Sub eveniment se refera la o procedura in care este eplata un eveniment.In toate exemplele de mai sus daca va uitati akm va zic ca sunt toate proceduri sub eveniment .O procedura eveniment este de exemplu Private Sub cmdtest_click().Evenimentul din aceasta procedura este click().Numele unei eveniment se combina cu numele controlului cu ajutorul lui « _ »(underscore).

Declararea procedurii Sub in general este :

[Private/Public][static]Sub nume[argument]

Continutul programului

End Sub

Private,Public,static este ca la variabile,se refera la vizibilitatea in program.Argument este declararea unei variabile in acel program.De exemplu :

Private Sub yo

Dim name as inetger

putem scrie

Private Sub yo(nume as string)

La asta se refera argument .

Daca vreti sa folositi tipul array trebe sa folositi ParamArray.

Apelarea unei proceduri se face cu ajutorul lui Call.Daca ati mai lucrat in alte limbaje de programare (cum ar fi pascal) call este ca clauza with de la tipul record sin pascal.

Function

Aceasta procedura returneaza o valoare.

Declararea acestei fucntii este aproape ca a celei Sub:

[Private/Public][static]Function nume(argument) as tip de variabila

Corpul programului

End Function

Ce ziceti?Nui asa ca e exact ca seamana cu Sub,dar diferentza e ca in loc de sub declaram Function si ii acordam un tip de variabila(rezultatul care il va rezulta ii va lua acest tip).

Functiile msgbox() si inputbox()

Msgbox()

Functia msgbox() afiseaza un mesaj intro fereastra noua.Aceasta functie este foarte mult folosita in Visual Basic.

Sinatxa este:

MsgBox(mesaj,[tipu;],[titlul])

mesaj :ceea ce vrei tu sa apara in acea fereastra(caractere si numere deobicei)

tipul :se refera cum sa afiseze msgboxul.Sub forma de eroare(VbCritical),sub forma de intrebare(VbQuestion),sub forma de avertisment(VbExclamation),sub forma de informare (VbInformation).

titlul :se refera la ce nume vrei sa aiba msgboxul.

Daca ii atribuim unei variabile un msgbox ca in exemplu :

m = msgbox(« Acesta este un test »,VbExclamation, »Test »)

Variabila m i se va atribui o valoare intreaga in funtie de ce buton vrei sa apara

1-pt ok

2-pt cancel

3-pt abort

4-pt retry

5-pt ignore

6-pt yes

7-pt no

Daca combinam aceste valori cu niste forme de afisare putem crea alte forme ca de exemplu :

VbOKOnly :va afisa o informatie in care se foloseste buton ok

VbOKCancel : ok si cancel

VbAbortRetryIgnore : abort,retry si ignore(butoane)

VbYesNoCancel :yes,no si cancel

VbYesNo :yes si no

VbRetryCancel :retry si cancel

Cred ca vati prins de smecherie !!!

Inputbox()

Aceasta functie executa 2 aplicati :afiseaza ceva sub forma de intrebare

asteapta un raspuns.(in special pt asta este folosita)

Sintaxa(e ceva mai complecta decat msgbox())

InputBox(mesaj,[titlu],[default],[xpos],[ypos],[helpfile])

mesaj-ce intrebare vrei sai pui

titlu-titlul ferestrei(ca la msgbox())

defaul-sir de caractere ce reprezinta un raspuns prestabilit

xpos,ypox-reprezinta coordonate unde vrei s apara caseta text in aceast afereastra ;

Fisiere

Poi ce sa zic de fisiere ca aproape toti stiu ce is alea(de aceea nu mai dau si definitia).Fisierele sunt folosite peste tot si in toate limbajele de programare(cunoscute).

Poi pt lucrul cu fisiere cateva lucruri elementare va voi explica yo aici.

Pt a deschide un fisier(poi ca sa lucrezi cu un fisier obligatoriu trebe sa fie deschis) se foloseste urmatoarea sintaxa :

Open calea for [input(asta se foloseste pt citire din fisiere)][Output(pt scriere in fisiere)][Append(pt a adauga ceva)] As nrfisiere(acest nume este folosit in programul nostru)

Pt a scrie valoarea unei variabile intrun program folosim

Print #nrfisiere,lista_de_variabile

Tot pt scriere este folosit si urmatoarea instructiune dar aceasta scrie si stringuri si mai multe variabile.

Write #nrfisier,lista_expresii

Pt fisierele binare si aleatorii se foloseste isntructiunea Put #nrfisiere,lista_variabile. Fisierele binare si aleatori se deschid cu Random si Binary .

Citirea dintrun fisier se face cu se foloseste :

Input #nrfisiere,lista_variabile (pt liste de variabile sau stringuri)

Line Input #nrfisiere,variabila (pt citirea unei liniii intregi dintr-un fisier)

Get #nrfisiere,lista_variabil (pt fisierele binare si aleatorii)

Si inchiderea unui fisier se face cu ajutorul instructiunii :

Close #nrfisiere

Daca vreti sa alegi o locatie de unde sa se deschida un fisiere (nush cum sa va explic,mai bn dau un exemplu) faceti aproape ca mine :

Dim locatia as String

comdlg32.Show (si aicea poate fi Save pt a salva,Open pt a deschide)

locatia=comdlg32.FileName

Open locatia for (optiunile de mai sus)[] as #nrfisiere

Exemplu de program care lucreaza cu fisiere :

Creati un control text care ii dati numele de txt_scriere si un buton pt a scrie cu numele de cmd_scris.

Private Sub cmd_scris_Click()

Open « c:\exemplu.txt » For Output As #1

Print #, txt_scriere.Txt

Close #1

End Sub

Meniu

Daca ati urmat acest mic tutorial creat de mine poti crea un program cat de cat pt folos.Pt programele mari ,ati vazut ca se foloseste meniuri.De exemplu toate programele am vazut ca au meniul File .Te gandesti cum sa faci si tu asa ceva ,nu?(cred ).Poi foarte usor .Visual basic are inclus in program(in meniul lui) un editor de meniu.Pt al accesa tot ce trebuie sa faci e sa te « duci » in Tools dupaia dai la Meniu Editor.(Ctrl+E)

Este foarte usor sa lucrezi in acest « editor »Poi sa va explic :

La Caption –contine numele pe care tu il vezi(de exemplu File)

La Name pui numele optiuni (de obicei cu prefixu _mnu)

La Index pui o valoarea indexului intr-o matrice

La Shortcat pui o combinatie de taste ca sa fie mai usor utilizatorului sa ffolosesti

programu

NegotiatePosition-pozitia fatza de alt meniu(coodonate)

Checked-la fel ca o caseta de validare

Butoanele :

Next-urmatorul meniu

Insert-insertarea unui submeniu intrun meniu

Delete-stergea unui meniu

Daca punem & in fata la o litera de la Caption va realiza(yo dau exemplu dar nui obligatoriu aceasta litera) a de exemplu Animal.

Bibliografie

In primul rand :Visual Basic in 30 de lectii de Marina-Cristiana Bold (poi am chiar in tutorialul meu multe propozitii luate de aici deoarece nu am avut cuvinte sa explic)

In al doilea rand :siteurile(sincer nush ca am cautat pe google si mia dat rezultate si am tradus de pe acolo)

Si in al3lea rand :din prorpiiile mele cunostinele (akm 2 saptamani mam apucat din plictiseala de Visual Basic si am zis pe baza ce invatz sa fac si un fel de test si sa scriu ce am invatzat->rezulta ceea ce e scris aici)

Creat de $-Geo-$(vas da si numele dar dupaia………..)

Daca am gresit pe undeva sau aveti complectari va rog sa le postati.Am creat acest mic tutorial deoarece stiu cum e sa fi n00b(am fost si inca mai sunt in multe domenii)si cauti sa invetzi ceva si nu gasesti in romana.

Link to comment
Share on other sites

poi da e foarte simplu Visual Basic pana il prinzi un pic adik la inceput cand mam apucat asa de greu era dar dupa ce am citit niste tutoriale de pe net am vazut ca totul e asa de simplu!!!.Sper ca si voi o sa va dati seama si o sa invatzati(am sa fac si alte tutoriale despre functii incluse,socketi,database-cred ca atata mai este de explic pt incepatori)

Link to comment
Share on other sites

Slick , in visual studio is alea usoare chestii interactive :) si aplicabile pentru un RAD , o dezv rapida de soft in timp scurt.

mai e si visualbasic nu cel din pachetul visual studio2005 care brr e cam complex , la vb cel simplu ma refer, ca 2005 uh i like it.

puteti lasa balta VB si sa datzi pe C# daca e vba de ceva visual ce ar necesita js css si altele; iar cu documentatiile , nu cred ca e nevoie de tutoriale sau carti fizice :) ca nu ai F3 intr-o carte de biblioteca sa afli ce iti doresti la un anumit moment, zic asta pt ca unii tot isi doresc sa-si cumpere carti cu asa ceva, cand in fond , biblioteca unui programmer e google sau alte motoare de cautare destul de eficace.

bafta la study daca sunt pe-aici amatori :P

Link to comment
Share on other sites

da la programe complexe in visual basic ai mult de scris dar in alte limbaje ai mai multe .Ca de exemplu daca faci o aplicatie windows in c++ care sa afiseze un mesaj intro noua fereastra eeeee mult de facut pe cand in vb scri faci grafica si dai un msgbox(si pascal dar ala are delphi care e bun).Din toate limbajele asta lam inteles cel mai repede(mai am multe de inavtzat dar stiu bazele)(nu pun in discutie AutoIt deoarece nu e asa cunoscut dar face si el o treba foarte buna)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...