* The preview only shows a few pages of manuals at random. You can get the complete content by filling out the form below.
Description
Mediul de programare .NET (NET Framework):
Compilatorul VB este programul translator al sistemului de programare VB Specificaţiile comune de limbaj (CLS = Common Language Specifications) Serviciile WEB - interfaţă HTML (HyperText Markup Language). Interfaţa cu vizuala utilizatorul (Graphical User Interface – GUI) “ecranul” (designul) pentru formularele/formatele de programare si pentru afişarea de imagini.
Date şi XML constituie modulul prin care se realizează schimbul de date pe Internet. XML (eXtensible Markup Language) se utilizează pentru a descrie şi pentru a reprezenta datele. Biblioteca claselor de bază (BCL = Base Class Library) conţine clasele de bază ale programelor.NET. VB.Net este un limbaj orientat pe obiecte. Toate obiectele fac parte dintr-o clasă denumită SYSTEM. Biblioteca rutinelor comune (Common Library Runtime – CLR) interfata limbajelor cu SO (Windows).
Modele (conceptuale) de programare . Modelul orientat procedural => algoritmi specifici de rezolvare a problemelor. Modelul orientat pe obiecte => particularizarea (procedurala) a unor obiecte programabile Obiecte in VB.Net: OBIECTUL Formular Bară derulantă orizontală Bară derulantă verticală Buton de comandă Buton de opţiune Casetă cu listă Caseta cu listă combinată Caseta de imagine Casetă text etc.
PREFIX Frm Osb Vsb Cmd Opt Lst Cbo Img Txt
Obiectul ca unitate de prelucrare (programabila) => caracter dinamic => creare, utilizare, distrugere. Obiectul se caracterizează prin identiate, metode de comportament şi stare. Clasa = categorie de obiecte cu caracteristici comune (proprietăţi şi metode). Clasa poate fi accesată prin interfaţa Interfaţa clasei este caracterizată prin nume, tipurile atributelor şi numele şi descrierea metodelor. Proprietăţile unui obiect reprezintă atributele acestuia, cum ar fi dimensiunile (laţime, înalţime), poziţia pe formular, culoarea, etc. Text Caption Multiline Metode Prin intermediul desfăşuratorului de obiecte (OBJECT BROWSER), sistemul VB evidenţiază metodele posibile pentru un anumit obiect. Count ADD Remove
Evenimente Oricare obiect programabil poate fi accesat printr-un eveniment. Pe de altă parte, asemenea obiecte pot declanşa, la rândul lor, diverse acţiuni programate. EVENIMENT Load Unload Activate Deactivate Click DblClick DragDrop DragOver MouseMove MouseDown MouseUp KeyPress KeyDown KeyUp GotFocus LostFocus Change
Scroll
Actiune asociata implicit Afişează conţinutul unui formular pe ecran Degajează ecranul de un formular Activează un formular (acesta devine fereastră activă) Dezactivează un formular (acesta devine inactiv) Se acţionează o singură dată pe butonul mouse-ului, declanşând procedura programată pentru controlul respectiv Se acţionează rapid de două ori pe butonul mouse-ului, declanşând procedura programată pentru controlul respectiv Se apasă continuu butonul mouse-ului asupra unui control, se mişcă mouse-ul şi apoi se eliberează butonul Se apasă continuu butonul mouse-ului asupra unui control şi se deplasează mouse-ul Se mişcă mouse-ul traversând peste un control Se acţionează un buton al mouse-ului asupra unui control Se eliberează un buton al mouse-ului de peste un control Acţionarea unei taste cifrice sau letrice şi eliberarea ei, sau acţionarea concomitentă a unei asemenea taste împreună cu tasta ENTER sau CTRL Se acţionează (lung) o tastă asupra unui control Se eliberează o tastă asupra unui control Evidenţiază un obiect atunci când se execută clic pe suprafaţa lui Un control este dezafectat, fie prin acţiunea operatorului (clic pe alt control), fie atunci când se utilizează în program metoda SETFOCUS Este evenimentul implicit pentru casetele de text. Se referă la schimbările pe care utilizatorul le poate aduce valorilor afişate. Mutând pointerul de înregistrare, acest eveniment afectează proprietatea valorii din caseta de text. Permite “tragerea” cursorului de derulare în diverse ferestre care conţin o imagine mai mare decât dimensiunile proiectate ale ferestrei căreia i-au fost ataşate bare de derulare
Mediul interactiv de dezvoltare Contine toate instructiunile necesare construirii aplicatiilor VB. Bara de meniuri - Cuprinde meniurile standard Windows (File, Edit, …) precum si meniuri cu comenzi specifice mediului de programare (Project, Debug, …). Bara cu instrumente (ToolBar) - Permite accesul la comenzile cele mai des folosite (New Project, Open File, Save Form, Cut, Copy, Paste, ..). Fereastra Form Design (Form1.vb [Design]) - Este un formular pe care programatorul proiecteaza controale. Un proiect poate avea unul sau mai multe formulare. Fereastra Solution Explorer - Cuprinde detaliile administrarii proiectului (formulare, module, fisiere). Fereastra cu proprietati (Properties) - Afiseaza valorile proprietatilor pentru formularul sau controlul curent. Caseta cu instrumente (ToolBox) - Contine pictograme folosite in proiectarea aplicatiilor pentru a desena controale pe formular, in scopul construirii interfetei cu utilizatorul. Fereastra pentru editarea codului (programul) Meniuri contextuale - Contine comenile rapide pentru actiuni utilizate frecvent. Meniul contextual se obtine executand clic dreapta pe obiectul respectiv.
Etapele de realizare a unui proiect 1. crearea interfetei programului cu utilizatorul Visual Basic .NET creeaza interfata cu utilizatorul prin furnizarea dintr-o caseta cu instrumente a unui set de controale care se pozitioneaza pe formular. Principalele controale: eticheta (Label)
butonul de comanda (Button) buton de optiuni (RadioButton)
container de obiecte (GroupBox) bara de derulare orizontala (HScrollBar) bara de derulare verticala (VScrollBar)
caseta de text (TextBox) caseta de validare (CheckBox) caseta lista (ListBox) caseta combinata (ComboBox)
2. Initializarea controalelor - posibilitati: a. initializarea controalelor, in faza de proiectare, in caseta cu proprietati a fiecarui control – se face manual, prin clic pe obiectul respectiv si modificarea in lista de proprietati a valorilor dorite, astfel: Exemplu: se construieste o aplicatie pentru calculul valorii; avem un formular, cu trei casete text simple, trei etichete (label-uri) si un buton de comanda.. OBIECT PROPRIETATE VALOARE Label1 Text cantitate Label2 Text pret Label3 Text valoare TextBox1 Text cantitate TextBox2 Text pret TextBox3 Text valoare TextAlign Right Button1 Text start b. intr-o procedura LOAD a formularului – se da dublu click pe formular si, in fereastra de cod, se scrie urmatoarea secventa de program: Private Sub Form1_Load(...) Handles MyBase.Load Label1.Text=”cantitate” Label2.Text=”pret” Label3.Text=”valoare” TextBox1.Text=” ” TextBox2.Text=” ” TextBox3.Text=” ” TextBox3.TextAlign=HorizontalAlignment.Right Button1.Text=”Start” End Sub - deci, la declansarea evenimentului LOAD a formularului se deruleaza aceasta “initializare” a controalelor. c. intr-o procedura CLICK a unui buton de comanda – se insereaza in formular un buton de comanda, se da dublu clic pe acesta si se scrie in fereastra de cod urmatoarea secventa de program: Private Sub Button1_Click(...) Handles Button1.Click Label1.Text=”cantitate” Label2.Text=”pret” Label3.Text=”valoare” TextBox1.Text=” ” TextBox2.Text=” ” TextBox3.Text=” ” TextBox3.TextAlign=HorizontalAlignment.Right Button1.Text=”Start” End Sub - deci, la declansarea evenimentului CLICK a unui buton de comanda se deruleaza aceasta “initializare” a controalelor. 3. executia programului Se executa clic pe butonul START din bara cu pictograme sau se alege optiunea START din meniul DEBUG. La clic pe un buton de comanda, VB.NET executa procedura Button1_Click si comenzile procedurii (se declanseaza evenimentul clic pentru a interactiona cu programul). 4. crearea programului executabil Pentru crearea programului executabil se executa clic pe sageata din dreapta cuvantului Debug si se selecteaza Release. In meniul Build apare o optiune Build-nume proiect. Se executa clic pe aceasta optiune si VB.Net inlocuieste versiunea de depanare cu una executabila.
Programarea aplicatiilor de tip CONSOLE => STRUCTURA MODULARA predefinita
Construirea programelor cu valori constante prin UTILIZAREA UNOR FUNCTII SISTEM Functii uzuale: Console.WriteLine( ) afisare mesaje pe terminal Sintaxa generala: Console.WriteLine(“mesaj” [& variabila]) Console.ReadLine( ) mentine ecranul in asteptarea unui eveniment extern Module Module1 Sub Main( ) Dim nume As String = “Ionescu” Dim pren As String = “Ion” Console.WriteLine(“Numele meu este “ pren & “ “ & nume) Console.ReadLine( ) End Sub End Module OBS.: Concatenarea valorilor care compun linia editată a fost realizată prin operatorul “&” Alte forme: Console.Write( ) afisare pe acceeasi linie Console.Read( ) lectura partiala a liniei (pana la primul spatiu)
Transmiterea parametrilor intre module si functii “parametrizare oarbă” functie() Ex: Sub Main() “parametrizare semnificativă” specifica variabilele ale caror valori sunt transmise modulului apelat Metode: - prin valoare (By Value) Module Module1 Sub MARCA(ByVal M As Integer) M = 507 Console.WriteLine(“marca este “ & M) End Sub Sub NUME(ByVal NP As String) NP = “Ion Ionescu” Console.WriteLine(“numele şi prenumele: “ & NP) End Sub Sub SALARIU(ByVal SAL As Double) SAL = 145.5 Console.WriteLine(“salariul: “ & sal ) End Sub Sub Main( ) Dim M As Integer Dim NP As String Dim SAL As Double MARCA(M) NUME(NP) SALARIU(SAL) Console.ReadLine( ) End Sub End Module - prin adresa (By Reference) Module Module1 Sub MARIRESAL(ByRef SAL As Double) SAL = 1145.5 Console.WriteLine(“Salariul majorat este de “ & SAL) End Sub Sub Main( ) Dim SAL As Double Dim SALACTUAL As Double = 1045.5 Console.WriteLine(“Salariul actual este “ & SALACTUAL) MARIRESAL(SALACTUAL) Console.ReadLine( ) End Sub End Module
Declararea functiilor utilizator: Function nume_functie AS tip_valoare_variabila_returnata Module Module1 Function NUME( ) As String nume = “Ion Ionescu” End Function Function SALARIU( ) As Double SALARIU = 1045.5 End Function Sub Main( ) Dim NUMELE As String Dim SAL As Double NUMELE = NUME( ) SAL = SALARIU( ) Console.WriteLine(“Numele: “ & NUMELE) Console.WriteLine(“Salariul: “ & SAL) Console.ReadLine( ) End Sub End Module
Reguli: - subrutinele apelate de către programul principal “Sub Main( )” trebuie instalate între liniile-sistem Module Modulen ............ Sub Main( ) - parametrii care se transmit programului principal (director) trebuie definiţi în cadrul subprogramelor apelate. - apelul subprogramelor se poate realiza în cadrul programului principal prin simplul enunţ al numelui de subprogram şi prin parametrizare “oarbe”, cum ar fi spre exemplu: NUMELE = NUME( )
Programarea aplicaţiilor de tip CONSOLE prin utilizarea casetelor de dialog şi mesaje Funcţia InputBox( ) introducere de date:
nume-variabilă=InputBox(“mesaj”[, “titlu”, valoare-implicita, Xpoz, Ypoz]) - mesaj = textul mesajului adresat operatorului pentru introducerea de date - titlu = este titlul casetei de introducere a datelor - valoare-implicită = o valoare propusa de program ca raspuns implicit si care poate fi suprascrisa - Xpoz = poziţia (exprimată în pixeli) a coordonatei orizontale pe ecran - Ypoz = poziţia (exprimată în pixeli) a coordonatei verticale pe ecran Sub Main( ) Dim marca As Integer Dim nume As String Dim sal As Double marca = InputBox( “tasteaza marca”) nume = InputBox(“tasteaza numele şi prenumele”) sal = InputBox(“tasteaza salariul”) Console.WriteLine(“marca: “ & marca) Console.WriteLine(“numele şi prenumele: “ & nume) Console.WriteLine(“salariul: “& sal) Console.ReadLine( ) End Sub Funcţia MsgBox( ) afişar de mesaje şi/sau rezultate pe terminal
MsgBox(“mesaj” [& variabila], buton, “titlu”) - mesaj = este mesajul necesar afişării pe ecran - variabila = este identificatorul variabilei a cărei valoare trebuie, eventual, afişată pe ecran - buton = afiseaza butoane de comandă (OK, Cancel, Retry etc.) şi unele simboluri de atenţionare (semnul exclamării, simbolul de informaţie, etc.) introduse prin identificatori (cu optiunea _MsgBoxStyle) sau prin valori. Când unul dintre argumente lipseşte, argumentele ulterioare vor fi precedate de virgule delimitative. De exemplu: OKOnly . . . . . . . . . . 0 OKCancel . . . . . . . . 1 AbortRetryIgnore . . . 2 YesNoCancel . . . . . . 3 YesNo . . . . . . . . . . . .4 RetryCancel . . . . . . . 5 Critical . . . . . . . . . . . 16 (X) Question . . . . . . . . . . 32 (?) Exclamation . . . . . . . 48 (!) Information . . . . . . . 64 (i)
Sub Main( ) Dim marca As Byte Dim numepren As String Dim orelucrate As Integer Dim salorar As Double Dim deplata As Double marca = InputBox(“marca”) numepren = InputBox(“nume şi prenume”, “calcul drepturi”) orelucrate = InputBox(“ore lucrate”, , 40) salorar = InputBox(“salariul orar”, , , 120, 180) deplată = orelucrate * salorar MsgBox(“drepturile de plată sunt: “ & deplata, _MsgBoxStyle.Information, “calcul drepturi de plată”) End Sub
Programarea structurilor logice fundamentale Structurile secvenţiale (liniare) Secventa de program rezolva un singur caz. Sub Main( ) Dim numeben, denprod As String Dim cantliv As Integer Dim pret, vlr As Double numeben = InputBox(“tastati numele beneficiarului”) denprod = InputBox(“tastati denumirea produsului”) cantliv = InputBox(“tastati cantitatea livrata”) pret = InputBox(“tastati pretul de livrare”) vlr = cantliv * pret Console.WriteLine(“Beneficiarul: “ & numeben) Console.WriteLine(“Produsul: “ & denprod) Console.WriteLine(“Valoarea livrata: “ & vlr) Console.ReadLine( ) End Sub Structurile repetitive (iterative) Executia repetata a unei secvente. For ... Next Sub Main( ) Dim numeben, denprod As String Dim cantliv, contor As Integer Dim pret, vlr As Double For contor = 1 To 15 numeben = InputBox(“tastati nume beneficiar”) denprod = InputBox(“tastati denumire produs”) cantliv = InputBox(“tastati cantitatea livrata”) pret = InputBox(“tastati pret livrare”) vlr = cantliv * pret Console.WriteLine(“beneficiarul: “ & numeben) Console.WriteLine(“produsul: “ & denprod) Console.WriteLine(“valoarea livrata: “ & vlr) Console.ReadLine( ) Next End Sub
While ... End While
(contorizat)
Module Module1 Sub rutina( ) .......... .......... End Sub Sub Main( ) Dim contor as byte = 1 Dim nrtotal as byte = 25 While contor <= nrtotal rutina( ) contor += 1 End While End Sub End Module While ... End While
(necontorizat)
Module Module1 Sub rutina( ) .......... .......... End Sub Sub Main( ) Dim danu As String danu = InputBox(“doriti sa lucrati? da/nu”) While Ucase(danu) = “DA” rutina( ) danu = InputBox(“Doriti sa continuati procedura? da/nu”) End While MsgBox(“procedura s-a incheiat”) End Sub End Module
Structurile alternative (selective) IF … END IF Module Module1 Sub Main( ) Dim nb, dp As String Dim cc, cl, dif As Integer Dim danu As String = “DA” While Ucase(danu) = “DA” nb = InputBox(“tasteaza nume beneficiar”) dp = InputBox(“tasteaza denumire produs”) cc= InputBox(“tasteaza cantitate contractata”) cl = InputBox(“tasteaza cantitatea livrata”) If cc > cl Then dif = cc - cl Console.WriteLine(“diferenta datorata _beneficiarului “ & nb & “la produsul “ _& dp & “ este de “ & dif) End If danu = InputBox(“mai lucrati? da/nu”) End While MsgBox (“lucrare finalizata”) End Sub End Module
IF Then …Else ... END IF Module Module1 Sub Main( ) Dim nb, dp As String Dim cc, cl, dif As Integer Dim danu As String = “DA” While Ucase(danu) = “DA” nb = InputBox(“tasteaza nume beneficiar”) dp = InputBox(“tasteaza denumire produs”) cc= InputBox(“tasteaza cantitate contractata”) cl = InputBox(“tasteaza cantitatea livrata”) If cc > cl Then dif = cc - cl Console.WriteLine(“diferenta datorata _beneficiarului “ & nb & “ la produsul _“ & dp & “ este de “ & dif) Else dif = cl - cc Console.WriteLine(“diferenta livrata în _plus beneficiarului “ & nb & “ la produsul “ & dp & “ este de “ & dif) End If danu = InputBox(“mai lucrati? da/nu”) End While MsgBox(“lucrare finalizata”) End Sub
Structura alternativă cu mai multe ramuri (imbricată) IF THEN ... ELSE IF THEN ... ELSE ... Module Module1 Sub Main( ) Dim np As String Dim ore As Byte Dim sal, drept As Double Do np = InputBox (“Tastati numele”) sal = InputBox (“Tastati salariul negociat”) ore = InputBox (“Tastati numarul de ore contractat”) If ore = 2 Then drept = sal * 0.25 ElseIf ore = 4 Then drept = sal * 0.5 ElseIf ore = 6 Then drept = sal * 0.75 ElseIf ore = 8 Then drept = sal ElseIf ore = 10 Then drept = sal * 1.5 ELSE MsgBox(“nr.ore nu e în standarde. Reveniti”) MsgBox(“Consideram drepturi egal cu zero”) drept = 0 End If Console.WriteLine(“salariatul “ & np & _ “ are un drept de “ & drept) Loop While MsgBox(“continuati lucrarea?”, _ MsgBoxStyle.YesNo) = MsgBoxResult.Yes End Sub End Module
SELECT CASE – structuri alternative difuzate Module Module1 Sub Main( ) Dim dp As String Dim disp As Long Do dp = InputBox(“tastati denumire produs”) disp = InputBox(“tastati disponibil în stoc”) Select Case disp Case Is < 50000 MsgBox(“disponibil insuficient”, _ MsgBoxStyle.Critical, dp) Case 50000 To 74999 MsgBox(“este acoperita oferta 1”, _ MsgBoxStyle.Information, dp) Case 75000 To 99999 MsgBox(“este acoperita oferta 2”, _ MsgBoxStyle.Information, dp) Case Is > 1000000 MsgBox(“suficient pentru oferta 3”, _ MsgBoxStyle.Information, dp) End Select Loop Until MsgBox(“continuati cazurile?”, MsgBoxStyle.YesNo) = MsgBoxResult.No End Sub End Module
PROGRAMAREA APLICAŢIILOR DE TIP “WINDOWS” Aplicaţiile de tip “Windows” oferă utilizatorului suprafaţa unui for-mular pentru dirijarea programului. Pe suprafaţa formularului se pot instala diverse “controale”, prin a căror accesare pot fi generate subprogramele unei aplicaţii mai complexe. Formularul purtător de controale devine interfaţa sistemului cu utilizatorul. Proiectarea unui formular necesită accesarea pictogramei “Windows Application” din caseta de dialog “New Project”. Având în vedere necesitatea de includere a controalelor pe suprafaţa formularului, trebuie să fi prezentă pe ecran cutia cu instrumente (ToolBox). Dacă aceasta lipseşte, se poate apela prin opţiunea “ToolBox” din meniul View. NOTĂ: După cum s-a mai precizat, caseta cu instrumente cuprinde mai multe pictograme (în unele versiuni 47), care în momentul plasării lor pe formular devin aşa-numitele “controale” ale aplicaţiei. Principalele proprietăţi ale acestora au fost prezentate în &.3.2.2. În continuare, vor fi oferite amănunte la nivelul aplicaţiilor în care se vor utiliza diversele controale
Controale V.B.Net Pictogramele existente în cutia cu instrumente (ToolBox) constituie obiecte programabile. Fiecare asemenea obiect poate formula un subprogram din cadrul aplicaţiei, în momentul în care desemnează un control. “Controlul” este oricare pictograma din cutia cu instrumente, în momentul în care aceasta este “trasă” (dragată) pe cadrul formularului. Pentru a putea fi translatată pe formular, pictograma este accesată cu mausul şi apoi, prin trasare continuă, i se formează un cadru pe formular. După declic, pe formular rămâne imaginea controlului selectat anterior. Unele imagini cuprind întreg chenarul format prin trasarea mausului, altele (de exemplu ComboBox, DateTimePicker s.a.) ocupă un spaţiu limitat, standardizat de către sistem. În sistemul V.B.Net există 48 de controale posibile. În continuare, ne propunem prezentarea celor mai des utilizate, relevând, totodată, principalele lor caracteristici. În mod convenţional, vom stabili următoarea terminologie alături de semnificaţia fiecăreia: - prin “rol” se vor prezenta principalele funcţii pe care le pot îndeplini; - prin “modul implicit de afişare” se vor prezenta elementele specifice de afişare pe suprafaţa formularului; - prin “principalele proprietăţi” vor fi enunţate acele atribute ale obiectului asupra cărora intervin, de obicei, utilizatorii. În momentul proiectării controalelor pe formular, sistemul V.B.net acordă denumiri, titularizări şi moduri de afişare implicite pentru anumite controale: - “Denumirea” este numele acordat de sistem fiecărui control, la nivelul proprietăţii NAME. A fost specificată anterior necesitatea de a acorda o denumire-utilizator fiecărui obiect, în vederea accesării independente a acestor obiecte, în cadrul unei aplicaţii. În cazul în care proiectantul nu personalizează astfel controalele pe care le utilizează, sistemul le va numerota printr-o denumire implicită. De exemplu: Button1, Button2, etc. - “Titulatura” corespunde proprietăţii TEXT, care, în cazul nepersonalizării controalelor, sistemul o formulează identic cu proprietatea NAME (în marea majoritate a cazurilor). În cazul titulaturii, proiectarea controalelor trebuie să aibă în vedere facilităţile necesare oricărei interfeţe cu utilizatorul. Aceasta înseamnă că este totdeauna utilă o titulare din partea proiectantului, printr-o formulare cât mai apropiată de scopul pentru care controlul în cauza a fost inclus în formular. De exemplu, un buton de comandă a cărui scop este de a declanşa un subprogram prin care se calculează impozitul pe salariu, poate rămâne cu proprietatea NAME - “button1”, dar este indicat ca să i se acorde titulatura “calcul impozit”.
Astfel, în cadrul programului, acest buton de comandă va putea fi manipulat prin identificatorul “button1”, dar accesarea subprogramului de către operator va putea fi obţinută prin clic (sau alt eveniment) pe acel buton de comandă pe suprafaţa căruia este înscrisă titulatura “calcul impozit”. - “Modul de afişare” reprezintă figura grafică a obiectului pe formular, însoţită de titulatura implicită. NOTĂ: Atâta timp cât unele proprietăţi corespund mai multor controale, atunci când vor fi expuse principalele proprietăţi ale acestora, vor fi explicitate numai pentru primul caz de utilizare. Pentru următoarele cazuri în care mai apare o aceeaşi proprietate - aceasta se va specifica, fără a i se mai oferi explicaţii detaliate. În virtutea celor explicate anterior, nu se vor mai expune explicaţii privind proprietăţile “visible”, “enabled”, proprietăţile de poziţionare şi dimensionare, cele coloristice, proprietatea “tabindex”, asupra cărora s-au oferit explicaţii în paragraful precedent.
În figura 3.10. este prezentată o secvenţă din cutia cu instrumente (ToolBox), având în conţinut câteva dintre cele 48 de controale utilizate în programarea aplicaţiilor de tip Windows - V.B.Net.
Controlul POINTER: Rolul acestuia este de a transfera şi/sau de a redimensiona alte controale anterior transpuse în formular. Nu are denumire sau titulatura implicite şi nu generează nici o formă geometrică pe formular Controlul LABEL: Rolul sau este de a afişa un text solicitat de proiectant. Acest text nu poate fi modificat ulterior, decât prin program. Textele afişate servesc că etichete pentru diversele imagini sau alte controale proiectate pe formular, sau pentru afişarea de mesaje, că răspuns la un eveniment oarecare.
Modul implicit de afişare este o arie trasată de către proiectant, conţinând titulatura LABEL1. Principalele proprietăţi vizează posibilităţile de încadrare a unui text sau a unei imagini.
- BORDERSTYLE determină tipul de chenar al etichetei. Chenrul poate fi: - NONE - fără chenar - FIXED SINGLE - chenar dintr-o singură linie; - FIXED 3D - chenar spaţial. - AUTOSIZE prin care se poate mări spre dreapta marginea etichetei pentru a cuprinde textul scris pe orizontală. Pentru a mări automat laţimea ariei, valoarea proprietăţii trebuie să fie comutată la TRUE. - FONT stabileşte tipul caracterelor care prezintă textul inclus în cadrul etichetei şi dimensiunea lor. - IMAGE este urmată de puncte de suspensie. Executând clic pe aceste puncte de suspensie, se va putea opta pentru o imagine propusă de sistem, imagine care va fi încadrată între limitele etichetei. - TEXTALIGN oferă nouă posibilităţi de plasare a textului în cadrul etichetei: TopLeft (în coltul de susstânga), TopCenter (în centru-partea superioară), TopRight (în colţul de sus-dreapta), MiddleLeft (în mijlocul vertical al etichetei, cadrat la stânga), MiddleCenter (în mijlocul vertical al etichetei, cadrat central), MiddleRight (în mijlocul vertical al etichetei, cadrat la dreapta), BottomLeft (în colţul jos-stânga), BottomCenter (în centru partea inferioară), BottomRight (în colţul jos-dreapta). Controlul TEXTBOX: Rolul său este de a afişa texte introduse de proiectant sau texte incluse prin program. Casetele de text (TextBox) sunt deosebit de utile în programele care recepţionează date elementare în timpul execuţiei şi date rezultate din diverse operaţii programate. Modul implicit de afişare este constituit din chenarul trasat pe formular, dar redus iniţial de sistem în anumite limite standard. Principalele proprietăţi: - MULTILINE este proprietatea prin care casetele de text pot înmagazina mai multe rânduri de text. În momentul în care valoarea acestei proprietăţi este comutată la TRUE, dimensiunile verticale standard ale casetei proiectate se dezvoltă la nivelul trasat iniţial de către proiectant. - TEXTALIGN - are valorile “left”, “center”, “right”. Acestea semnifică modul în care va fi cadrat textul înscris în caseta (din marginea stânga, în centru, din marginea dreaptă). - BORDERSTYLE - SCROLLBARS este proprietatea prin care sistemul poate adăuga bare de derulare casetei de text, atunci când, fie pe orizontală, fie pe verticală, textele depăşesc cadrul iniţial al casetei. Opţiunile sunt: “horizontal”, “vertical”, “both”, prin care se adaugă casetei bare de derulare orizontale, verticale sau ambele. De reţinut ca barele de derulare orizontale şi ambele bare de derulare nu funcţionează decât dacă proprietatea TextAlign are valoarea “left”. - MAXLENGTH defineşte numărul maxim de caractere posibil a fi afişate într-o casetă de text (între 1 32767 caractere). - FONT oferă posibilitatea de a alege tipul caracterelor prin care se vor înscrie textele în cadrul casetei. Controlul GROUPBOX: Rolul său este de a grupa diverse obiecte într-o casetă. Pentru această cuprindere a altor controale, se recomandă iniţial trasarea cadrului GroupBox şi apoi includerea de alte obiecte. Rezultatul înglobării altor controale este acela că, dorind să se transfere toate obiectele astfel înglobate într-o zonă a formularului, este suficientă mutarea cadrului pentru toate cele pe care le cuprinde.
Modul implicit de afişare este cadrul trasat de proiectant, însoţit de titulatura GroupBox1 (sau oricare număr nepersonalizat). Principalele proprietăţi nu vizează decât pe cele fundamentale (NAME, TEXT, FONT, etc.). Controlul BUTTON: Rolul butoanelor de comandă constituie cea mai uzitată formă de a genera diverse proceduri. Având în vedere simplitatea imaginii şi posibilitatea de a intitula divers aceste imagini, utilizatorii preferă proiectarea butoanelor de comandă faţă de alte “declanşatoare” de proceduri. Fiind destinate în mod direct accesării procedurilor prin simpla acţionare a mausului, butoanele de comandă mai sunt numite “push button”. Modul implicit de afişare este o forma dreptunghiulară sau pătrată, conform preferinţelor utilizatorului, având titulatura Button1 (sau oricare număr nepersonalizat). Principalele proprietăţi au în vedere, în acest caz, frecvenţa de utilizare a acestui obiect la nivelul aceluiaşi formular. Aceasta înseamnă prudenţă în alegerea denumirii şi titulaturii diverselor butoane de comandă, în sensul că aceste două proprietăţi (NAME şi TEXT) trebuie să fie inconfunzibile faţă de altele, pe de o parte şi, pe de altă parte, să fie cât mai sugestive pentru operator. Elementul sugestiv poate necesita, uneori, utilizarea unor etichete care să însoţească imaginea butonului de comandă, cu toate că, prin proprietatea TEXT se are în vedere o titulatură corespunzătoare. - CANCELBUTTON este o proprietate de excepţie pentru acest control. Prin aceasta se permite activarea unui alt buton de comandă, dacă se va acţiona tasta ESC. Controlul CHECKBOX: Rolul său consta în validarea unei anumite opţiuni (sau a mai multora). Din acest motiv, se mai numeşte “caseta de validare”. Opţiunile sunt de tipul “adevărat/fals”, adică “accesat/neaccesat”. Diversele evenimente sau acţiuni din timpul execuţiei aplicaţiei pot afecta selecţia unei casete de validare. Modul implicit de afişare este chenarul trasat de proiectant, în cadrul căruia există un pătrat cu sau fără bifă în interiorul său. Are titulatura CheckBox1. Bifa există pentru situaţia TRUE (accesat) şi nu există pentru cazul invers. Principalele proprietăţi sunt determinate de starea controlului în program. Testarea stării controlului poate fi utilizată în conţinutul unei proceduri, în vederea execuţiei unei acţiuni. - CHECKED are două valori posibile: TRUE şi FALSE. Valoarea TRUE impune existenţa bifei în cadrul pătratului, valoarea FALSE elimină bifa. - CHECKSTATE exprimă starea casetei de validare şi este determinată de valoarea proprietăţii “Checked”. Proprietatea “CheckState” are trei valori: checked, unchecked şi indeterminate. Valoarea “checked” corespunde valorii “True” a proprietăţii “Checked”. Valoarea “Unchecked” corespunde valorii “False” a proprietăţii “Checked”. Valoarea “Indeterminate” corespunde valorii “True” a proprietăţii “Checked”, dar în mod selectiv şi anume atunci când soluţia validării este posibilă. - APPEARANCE are două valori: “Normal” şi “Button”. Valoarea “Normal” corespunde afişării casetei de validare ca atare, cu sau fără bifă. Valoarea “Button” transformă caseta de validare în imaginea unui buton de comandă.
- TABSTOP poate avea valorile TRUE şi FALSE. Valoarea “True” se foloseşte atunci când se doreşte activarea în ordine a casetelor de validare prin tasta TAB, caz în care se cere ca, iniţial, o singură casetă să fie bifată. Controlul RADIOBUTTON: Rolul acestui control este similar celui anterior. Identic casetelor de validare, butonul-radio obţine validarea unei anumite opţiuni. Diferit de casetele de validare, prin butonele-radio nu se poate accesa decât o singură variantă dintre cele proiectate. Din acest motiv aceste butoane se numesc “radio”, adică în momentul accesării unui
buton, oricare altul ar fi fost selectat anterior se va deselecta automat (identic butoanelor care servesc schimbării lungimilor de undă radio). Modul implicit de afişare este cel trasat de proiectant, având în interior un cerculeţ cu sau fără punct central. Titulatura implicită este “RadioButton1”. Principalele proprietăţi sunt identice cu cele ale casetelor de validare: - APPEARANCE - CHECKED - TABSTOP ş.a. Controlul LISTBOX: Rolul casetei lista este acela de a cuprinde diverse articole opţionale, dintre care utilizatorul să poată alege oricare dintre aceste articole. Fiecare articol poate genera o procedură. Oricare articol cuprins în lista este accesibil utilizatorului. Articolele pot fi incluse prin proprietatea “Items”. Aria rezervată prin proiectare pentru caseta lista poate fi neîncăpătoare pentru numărul de articole solicitat de proiectant. În asemenea caz, sistemul adaugă în mod automat o bară de derulare verticală. În cazul în care dimensiunea articolelor depăşeşte capacitatea orizontală a ariei prevăzută de către proiectant, se poate proiecta ataşarea unei bare de derulare orizontale. Modul implicit de afişare este aria trasată de către proiectant, având titulatura iniţială “ListBox1”. Principalele proprietăţi sunt: - ITEMS: Este proprietatea prin care se pot include iniţial articole în caseta-listă. Opţiunea acestei proprietăţi este “Collection”, după care urmează puncte de suspensie. Prin clic pe punctele de suspensie, sistemul
afişează fereastra “String Collection Editor”. În această fereastră se vor include articolele considerate necesare drept conţinut al listei. Articolele incluse sunt considerate implicit şir de caractere. După culegerea tuturor articolelor, se execută clic pe butonul OK al ferestrei şi toate articolele vor fi preluate în aria casetei-listă. În cazul în care numărul articolelor depăşeşte capacitatea verticală a ariei casetei, sistemul adaugă, în mod automat, o bară de derulare verticală. - HORIZONTALSCROLLBAR este o proprietate cu valori booleene (True/False), implicită este valoarea False. În cazul în care unele articole au un număr de caractere care depăşesc capacitatea orizontală a casetei, se va comuta valoarea acestei proprietăţi la “True”. Astfel, casetei-listă i se adaugă o bară de derulare orizontală, necesară lecturii articolelor de o lungime mai mare. - MULTICOLUMN oferă posibilitatea de excludere a barei de derulare verticale. Proprietatea are valoarea implicită “False”. Comutată fiind la valoarea “True”, sistemul separă, prin coloane, numărul articolelor incluse, fiind necesară numai bara de derulare orizontală, pentru citirea articolelor din coloanele listei. - SCROLLALWAYSVISIBLE oferă posibilitatea de a nu fi vizibile barele de derulare, decât în cazurile în care sunt necesare lecturii articolelor. - SORTED are funcţia de a sorta articolele în ordine alfabetică. Pentru aceasta, proprietatea “Sorted” trebuie comutată la valoarea “True”. - TABSTOP Controlul COMBOBOX: Rolul acestui control este asemănător cu cel al casetelor-listă (ListBox). Casetele combinate (ComboBox) oferă aceleaşi posibilităţi de validare ca şi butoanele-radio, dar pot îngloba mai multe alternative, conform
posibilităţilor casetelor-listă). Deosebirea operaţională între casetele-listă şi casetele-combinate constă în aceea ca în casetele-listă sunt vizibile toate articolele introduse, deosebit de casetele-combinate în care nu se vede decât titlul casetei, articolele fiind ascunse. Din ac Modul implicit de afişare este standardizat de sistem, indiferent de de aria trasată de proiectant. Cadrul se reduce la dimensiunile necesare afişării titulaturii casetei (iniţial ComboBox1). În plus, există o săgeata de derulare verticală, prin care se pot vizualiza articolele incluse în listă. Principalele proprietăţi sunt asemănătoare cu cele ale casetelor-listă. - ITEMS - proprietate necesară includerii articolelor în listă. Includerea are loc prin acelaşi procedeu specificat anterior: se execută clic pe punctele de suspensie care însoţesc valoarea “Collection” a proprietăţii. - SORTED - TABSTOP - ş.a. Controlul HSCROLLBAR: Rolul controlului este de a figura o bară de derulare orizontală. Scopul acestora este de a parcurge listele cu un cuprins vast de articole. Bara de derulare orizontală are rol similar cu cea din mediul Windows, derulând pe orizontală elementele înscrise pe o linie editată. Indică poziţia pe care o ocupă un anumit element afişat în cadrul unei linii de editare sau poziţia unei valori într-un vector. Aspectul unei bare de derulare orizontală este un dreptunghi (dispus orizontal) al cărui limite (dreapta şi stânga) sunt delimitate de pointerii de derulare. Între aceste limite glisează un cursor care indică locul ocupat de articolul (elementul) curent în cadrul mulţimii care se derulează. Modul implicit de afişare constă în dimensiunile trasate de către proiectant (un dreptunghi), fără a exista o titulatura iniţială. Dreptunghiul (considerat un ax) este delimitat de pointerii de derulare (), între care există cursorul. Principalele proprietăţi : - MINIMUM şi MAXIMUM au, implicit, valorile 0, respectiv 100. Aceste valori (sau oricare altele specificate de către proiectant) determina intervalul între care va glisa cursorul (numărarea cazurilor). - LARGECHANGE fixează numărul de “paşi” pe care îl va executa cursorul între cele două limite ale axului, în funcţie de valorile date proprietăţilor minimă şi maximă. De exemplu, dacă valoarea proprietăţii “Maximum” este fixată la “14”, dacă valoarea proprietăţii “Minimum” este fixată la “2” şi dacă valoarea proprietăţii “LargeChange” este fixată la “3”, est punct de vedere, casetele-combinate nu ocupă spaţiu excesiv pe suprafaţa formularului. În timpul execuţiei, pentru a putea vizualiza articolele incluse în listă, se va accesa săgeata de derulare verticală care apare totdeauna în dreapta titulaturii casetei. cursorul va efectua patru paşi între cele două extreme, atunci când se execută clic pe suprafaţa axului (14 - 2 = 12 : 3 = 4). - SMALLCHANGE nu poate depăşi valoarea lui LargeChange şi fixează, de asemenea, un astfel de increment, dar acţionează atunci când se execută clic pe pointerii de derulare. - VALUE specifică poziţia iniţială a cursorului pe ax. Valoarea acestei proprietăţi trebuie să fie cuprinsă în intervalul valorilor proprietăţilor SmallChange şi LargeChange. Valoarea proprietăţii Value marchează punctul de plecare a cursorului în intervalul proiectat (de exemplu, conform algoritmului precedent, de la pasul “1’, adică valoarea “2”, de la pasul “2’, adică valoarea “5”, etc. Controlul VSCROLLBAR: Are aceleaşi caracteristici esenţiale cu controlul HScrollBar, prezentând, însă, o bară verticală de derulare. Controlul DATETIMEPICKER: Rolul este de a prezenta data curentă.
Modul implicit de afişare este standard şi cuprinde data curentă (ziua - luna - data - anul). În momentul execuţiei, afişează (prin derulare verticală) calendarul lunii curente. În partea superioară a imaginii există pointeri de derulare orizontală. Prin accesarea acestora sistemul afişează calendarul lunilor următoare sau a celor precedente. Principalele proprietăţi sunt specifice datelor calendaristice: - MAXDATE - implicit data calendaristică 12/31/9998 - MINDATE - implicit data calendaristică 1/1/1753 - VALUE - data calendaristică curentă. Controlul MONTHCALENDAR: Este similar controlului precedent, cu excepţia faptului că afişează întreaga arie trasată de către proiectant. În cadrul acestei arii afişează calendarul lunar curent. Proprietăţile sunt identice şi, de asemenea, pointerii de derulare orizontală, prin care se obţin calendarele lunilor anterioare şi viitoare. NOTĂ: Reamintim că proprietăţile expuse în acest paragraf nu epuizează întreg arsenalul controalelor. Pe de altă parte, trebuie avute în vedere, în primul rând, proprietăţile cu caracter general, specificate în cadrul &.3.2.1.