GDI dispozitive rastru dispozitive vectoriale
|
|
- Cuthbert Beasley
- 6 years ago
- Views:
Transcription
1 GDI Biblioteca GDI32.DLL GDI = permite manipularea elementelor grafice independente de dispozitiv, este un sistem de afisare static, ce permite numai animatii simple; Dipozitive grafice de iesire: 1. dispozitive rastru = reprezentare imagine prin matrice de puncte (placi video, imprimante matriciale, laser); 2. dispozitive vectoriale = deseneaza imaginile prin linii = plottere; Sistem de coordonate virtual, sistem de coordonate al dispozitivului; W95 foloseste coordonate in numere intregi pe 16 biti, W_NT foloseste coordonate pe 32 biti; Din pdv al programatorului, interfata GDI este formata din citeva sute de rutine si unele tipuri de date, macroinstructiuni si structuri de date; Tipuri de apeluri de functii Functii care obtin (sau creaza) si elibereaza (sau distrug) un context de dispozitiv; (in API: BeginPaint... EndPaint, GetDc, ReleaseDC; in MFC (clase): CDC, CPaintDC, CClientDC, CMetaFileDC, CWindowDC) Functii care obtin informatii despre contextul de dispozitiv - structura TEXTMETRICS, GetTextMetrics; Functii care deseneaza ceva (TextOut, DrawText, desenarea liniilor, a zonelor colorate si a imaginilor bitmap...); Functii care stabiliesc sau obtin atribute ale contextului de dispozitiv - Un atribut al DC specifica modul de lucru al functiilor de desenare; SetTextColor,... Toate atributele DC au valori prestabilite care devin active la obtinerea DC. Pentru fiecare functie de tip Set exista si o functie de tip Get, folosita pt. obtinerea valorilor curente ale atributelor DC. Functii care lucreaza cu obiecte GDI; Primitive GDI Linii si curbe: linii drepte, dreptunghiuri, elipse, arce. Liniile sint desenate folosind penita (HPEN, clasa CPen) curenta selectata in DC Suprafete pline: Suprafata poate fi umpluta folosind pensula GDI curenta (HBRUSH, clasa CBrush) Imagini bitmap: matrici dreptunghiulare de biti, care corespund pixelilor unui dispozitiv de afisare - pt. sisteme grafice de tip rastru. Imagini bitmap - dependente de dispozitiv si imagini bitmap independente de dispozitiv (DIB = Device Independent Bitmap) care pot fi stocate in fisiere. Text: afisarea textului este legata de fonturi (HFONT, clasa CFont). Alte aspecte ale GDI: Moduri de mapare si transformari: sitem de coordonate in pixeli, inci, mm Metafisiere (metafiles): o colectie de comenzi GDI stocate intr-o forma binara; sint folosite pentru transferarea reprezentarilor unor elemente grafice vectoriale prin intermediul memoriei temporare (clipboard). 1
2 Cai (paths): colectie de linii drepte si curbe stocate intern de GDI; pot fi folosite pt. desenare, umplere sau decupare. Decupare (clipping): desenarea poate fi limitata la o anumita sectiune a zonei client, numita zona de decupare - definita in general de o cale sau de o regiune. Tiparire (printing): Contextul de dispozitiv (DC): Modalitati de obtinere a variabilei handle a DC: Varainata 1(putem desena numai in regiunea invalida a ferestrei): la tratarea mesajului WM_PAINT: PAINTSTRUCT ps; hdc = BeginPaint (hwnd, &ps);... EndPaint(hwnd, &ps); structura PAINTSTRUCT contine o structura de tip RECT rcpaint; care defineste dreptunghiul ce cuprinde regiunea invalida a zonei client a ferestrei; se valideaza regiunea invalida. Varianta 2 (putem desena in toata zona client a ferestrei; nu se valideaza regiunea invalida ale zonei client): hdc = GetDC(hwnd);... ReleaseDC(hwnd, hdc); Varianta 3: (DC cuprinde in plus bara de titlu a ferestrei, barele de derulare si chenarul) hdc = GetWindowDC(hwnd);... ReleaseDC(hwnd, hdc); Pentru folosirea acestei functii trebuie interceptat mesajul WM_NCPAINT ( non client paint). Varianta 4: CreateDC hdc = CreateDC(pszDriver, pszdevice, pszoutput, pdata);... DeleteDC(hdc); Pentru a obtine o variabila handle a DC pt. spatiul de afisare: hdc = CreateDC( DISPLAY, NULL, NULL, NULL); 2
3 Varianta 5: Obtinere informatii despre DC - CreateIC care are aceeasi parametri ca si CreateDC hdc = CreateIC(pszDriver, pszdevice, pszoutput, pdata);... DeleteDC(hdc); Varianta 6: context de dispozitiv in memorie - necesar la lucrul cu imagini bitmap: hdcmem = CreateCompatibleDC (hdc)... DeleteDC(hdcMem); Crearea unui metafisier: hdcmeta = CreateMetaFile(pszFileName);... hmf = CloseMetaFile(hdcMeta); Obtinere informatii despre contextul de dispozitiv: dimensiuni ecran (pixeli, fizice) posibilitati de folosire a culorilor, etc. cu functia GetDeviceCaps (get device capabilities); ivalue = GetDeviceCaps(hdc, iindex); Atributele Contextului de Dispozitiv Cele mai uzuale atribute ale DC sunt date in urmatorul tabel: Attribute Default Set with Get with Text color Black CDC::SetTextColor CDC::GetTextColor Background color White CDC::SetBkColor CDC::GetBkColor Background mode OPAQUE CDC::SetBkMode CDC::GetBkMode Mapping mode MM_TEXT CDC::SetMapMode CDC::GetMapMode Drawing mode R2_COPYPEN CDC::SetROP2 CDC::GetROP2 Current position (0,0) CDC::MoveTo CDC::GetCurrentPosition Current pen BLACK_PEN CDC::SelectObject CDC::SelectObject Current brush WHITE_BRUSH CDC::SelectObject CDC::SelectObject Current font SYSTEM_FONT CDC::SelectObject CDC::SelectObject GDI Moduri de desenare functia SetROP2 Mod de desenare R2_NOP R2_NOT Operatii executate dest = dest dest = NOT dest 3
4 R2_BLACK R2_WHITE R2_COPYPEN R2_NOTCOPYPEN R2_MERGEPENNOT R2_MASKPENNOT R2_MERGENOTPEN R2_MASKNOTPEN R2_MERGEPEN R2_NOTMERGEPEN R2_MASKPEN R2_NOTMASKPEN R2_XORPEN R2_NOTXORPEN dest = BLACK dest = WHITE dest = src dest = NOT src dest = (NOT dest) OR src dest = (NOT dest) AND src dest = (NOT src) OR dest dest = (NOT src) AND dest dest = dest OR src dest = NOT (dest OR src) dest = dest AND src dest = NOT (dest AND src) dest = src XOR dest dest = NOT (src XOR dest) Moduri de mapare functia SetMapMode Mod de mapare Distanta ce corespunde la o Axa x Axa y unitate logica MM_TEXT Pixel spre dreapta in jos MM_LOMETRIC 0,1 mm spre dreapta in sus MM_HIMETRIC 0,01 mm spre dreapta in sus MM_LOENGLISH 0.01 inci spre dreapta in sus MM_HIENGLISH inci spre dreapta in sus MM_TWIPS 1/1440 inci spre dreapta in sus MM_ISOTROPIC arbitrar (x = y) Selectabil selectabil MM_ANISOTROPIC Arbitrar (x!=y) Selectabil Selectabil Vizorul si fereastra SetWindowExt seteaza extensia ferestrei marimea dorita a ferestrei in unitati logice. SetViewportExt seteaza extensia vizorului marimea in pixeli a ferestrei in care desenam.. Marimea fereastrei este masurata in unitati logice. Marimea viewport-ului este masurata in unitati de dispozitiv, sau pixeli. In modul MM_ISOTROPIC ordinea de apel este SetWindowExt si apoi SetViewportExt. Exemple de cod CRect rect; GetClientRect (&rect); dc.setmapmode (MM_ANISOTROPIC); dc.setwindowext (500, 500); 4
5 dc.setviewportext (rect.width (), rect.height ()); dc.ellipse (0, 0, 500, 500); Originea este in coltul din stanga sus. CRect rect; GetClientRect (&rect); dc.setmapmode (MM_ANISOTROPIC); dc.setwindowext (500, -500); dc.setviewportext (rect.width (), rect.height ()); dc.ellipse (0, 0, 500, -500); Modul MM_ISOTROPIC CRect rect; GetClientRect (&rect); dc.setmapmode (MM_ISOTROPIC); dc.setwindowext (500, 500); dc.setviewportext (rect.width (), rect.height ()); dc.ellipse (0, 0, 500, 500); Pentru vizor se folosesc coordonatele de dispozitiv (pixeli). Pentru toate modurile de mapare, Windows transforma coordonatele ferestrei (coordonate logice) in coordonate ale vizorului (coordonate de dispozitiv) folosind doua formule: xviewport = (xwindow - xwinorg) * (xviewext / xwinext) + xvieworg yviewport = (ywindow - ywinorg) * (yviewext / ywinext) + yvieworg unde (xwindow, ywindow) este punct in coordonate logice care trebuie translatat; (xviewport, yviewport) este punct in coordonate de dispozitiv; (xwinorg, ywinorg) = originea ferestrei in coordonate logice; (xvieworg, yvieworg) = originea vizorului in coordonate dispozitiv. Formulele de mai sus implica faptul ca punctul (xwinorg, ywinorg) este intotdeauna mapat la punctul (xvieworg, yvieworg). (xwinext, ywinext) = extensia ferestrei in coordonate logice; (xviewext, yviewext) = extensia vizorului in coordonate de dispozitiv; In majoritatea modurilor de mapare aceste extensii sint prestabilite si nu pot fi modificate. Raportul intre extensia vizorului si extensia ferestrei reprezinta un factor de scalare folosit pentru convertirea unitatilor logice in unitati de dispozitiv. Extensiile pot avea valori negative: aceasta inseamna ca nu este obligatoriu ca valorile pe axa x sa creasca spre dreapta si valorile pe axa y sa creasca in jos. 5
6 Functiile folosite pentru a realiza conversia intre puncte reprezentate in coordonate de dispozitiv in puncte reprezentate in coordonate logice si invers sunt: DPtoLP(hdc, ppoints, inumber); LPtoDP(hdc, ppoints, inumber); ppoints = matrice de structuri POINT inumber = numarul de puncte care urmeaza a fi convertite. Daca dorim sa stim unde este punctul din centru in unitati MM_LOENGLISH, trebuie sa folosim DPtoLP : CRect rect; GetClientRect (&rect); CPoint point (rect.width () / 2, rect.height () / 2); CClientDC dc (this); dc.setmapmode (MM_LOENGLISH); dc.dptolp (&point); DPtoLP va returna coordonatele punctului central in coordonate logice. Daca dorim sa stim coordonatele in pixeli al punctului de coordonate logice (100,100) in modul de mapare MM_LOENGLISH vom folosi LPtoDP: CPoint point (100, 100); CClientDC dc (this); dc.setmapmode (MM_LOENGLISH); dc.lptodp (&point); Modul MM_TEXT Functiile SetViewportOrgEx si SetWindowOrgEx modifica originea vizorului si a ferestrei. Aceste functii au ca efect deplasarea axelor astfel incit punctul de coordonate (0,0) nu se mai refera la coltul din stanga sus al ecranului. In general se foloseste doar una din cele doua functii. Explicati asupra lucrului cu aceste functii: daca schimbam originea vizorului la (xvieworg, yvieworg) atunci punctul logic de coordonate (0,0) va fi mapat la punctul de coordonate de dispozitiv (xvieworg, yvieworg). daca schimbam originea ferestrei la (xwinorg, ywinorg) atunci acest punct logic va fi mapat la punctul de coordonate de dispozitiv (0,0) care este intotdeauna coltul din stinga sus al zonei client. Exemplu Mutare origine 6
7 Sa presupunem ca zona client are latimea cxclient si inaltimea cyclient. Daca dorim ca punctul de coordonate logice (0,0) sa se afle in centrul zonei client, atunci: SetViewportOrgEx(hdc, cxclient/2, cyclient/2, NULL); Valorile logice ale axei x sint cuprinse in intervalul [-cxclient/2, cxclient/2], iar cele ale axei y in intervalul [-cyclient/2, cyclient/2]. Afisarea de text incepind cu coltul din stanga sus, care are coordonatele de dispozitiv (0,0) inseamna folosirea urmatoarelor coordonate logice: TextOut(hdc, -cxclient/2, -cyclient/2,...,...); Acelasi rezultat poate fi obtinut si cu functia SetWindowOrgEx in locul functiei SetViewportOrgEx: SetWindowOrgEx(hdc, -cxclient/2, -cyclient/2, NULL); Setarea extent-ului O aplicatie poate modifica in mod direct extentul ferestrei sau al vizorului numai daca modul de mapare este MM_ISOTROPIC sau MM_ANISOTROPIC. Modficarea extentului ferestrei se face cu ajutorul functiei SetWindowExt, iar extentul vizorului se modifica cu functia SetViewportExt. Valorile se dau totdeauna in unitati absolute, nu in unitati logice si nu sunt afectate de modul curent de mapare. Setarea unui extent la valoarea zero nu este permisa. Din cauza ca perechea de extent-uri stabileste un factor de scalare ce va fi folosit in conversii, marimea extentului ar trebui sa fie cat mai mica posibila pentru a simplifica calculele, de exemplu folosirea de extent-uri de 400 si 300 este echivalent cu exetent-uri de 4 si 3. Pentru a schimba orientarea unei axe (fata de orientarea implicita data de Windows), factorul de scalare trebuie sa fie negativ. Urmatorul cod are ca efect schimbarea orientarii axei y, y pozitiv va fi in sus. SetMapMode(hDC, MM_ANISOTROPIC); SetViewportExt(hDC, 1, -1); SetWindowExt(hDC, 1, 1); 7
8 Setarea originilor Functiile folosite sunt: SetWindowOrg, OffsetWindowOrg, SetViewportOrg si OffsetViewportOrg. Originile sunt independente de extent. Originile sunt specificate in unitati absolute ce nu sunt afectate de modul curent de mapare. Exemple Setam un mod de mapare in care la o unitate logica ii corespund trei unitati de dispozitiv: SetMapMode(hDC, MM_ANISOTROPIC); SetWindowOrg(hDC, 0, 0); SetWindowExt(hDC, 1, 1); SetViewportOrg(hDC, 0, 0); SetViewportExt(hDC, 3, 3); Urmatorul cod deseneaza un dreptunghi de 1 pe 2 mm. SetMapMode(hDC, MM_HIMETRIC); SetViewportOrg(hDC, 0, 100); // Ce...? SetWindowOrg(hDC, 0, 0); Rectangle(hDC, 0, 0, 100, 200); Unitatile de dispozitiv sunt mapate la rezolutia dispozitivului fizic: SetMapMode(hDC, MM_ANISOTROPIC); SetWindowOrg(hDC, 0, 0); SetWindowExt(hDC, 600, 600); // logical window is 600 dpi SetViewportOrg(hDC, 0, 0); // Device viewport is dpi of actual output device. SetViewportExt(hDC, GetDeviceCaps(hDC, LOGPIXELSX), GetDeviceCaps(hDC, LOGPIXELSY)); 8
9 Obtinerea informatiilor despre un periferic Functia CDC::GetDeviceCaps Urmatorul cod obtine rezolutia ecranului, in pixeli: CClientDC dc (this); int cx = dc.getdevicecaps (HORZRES); int cy = dc.getdevicecaps (VERTRES); Functia GetDeviceCaps va returna totdeauna valori fizice corecte pentru imprimanta sau orice alt periferic hardcopy (de exemplu LOGPIXELSX si LOGPIXELSY). Pentru o imprimanta laser cu 600 dpi, LOGPIXELSX si LOGPIXELSY vor avea valoarea 600. Useful GetDeviceCaps Parameters Parameter Returns HORZRES Width of the display surface in pixels VERTRES Height of the display surface in pixels HORZSIZE Width of the display surface in millimeters VERTSIZE Height of the display surface in millimeters LOGPIXELSX Number of pixels per logical inch horizontally LOGPIXELSY Number of pixels per logical inch vertically NUMCOLORS For a display device, the number of static colors; for a printer or plotter, the number of colors supported BITSPIXEL Number of bits per pixel PLANES Number of bit planes RASTERCAPS Bit flags detailing certain characteristics of the device, such as whether it is palettized and whether it can display bitmapped images TECHNOLOGY Bit flags identifying the device type screen, printer, plotter, and so on 9
10 Desenarea pe ecran (Exemple de cod) Windows este un SO independent de dispozitiv. Pentru că nu ştim niciodată dinainte ce tipuri de periferice pot fi conectate la sistemul utilizatorului, nu putem face presupuneri despre posibilităţile de afişare ale acestora. Funcţiile care desenează pe ecran, trebuie să facă acest lucru indirect prin intermediul aşa numitelor contexte de dispozitiv (DC). Windows manipulează perifericele cu ajutorul driver-elor instalate de utilizator pe sistem. Aceste drivere interceptează datele pe care aplicaţiile doresc să le afişeze şi apoi translatează aceste date pentru perifericul respectiv pentru a fi reprezentate cât mai corect. Driverele de dispozitiv trebuie să ia cerinţele de afişare să le ajusteze (fine tuning) funcţie de perifericul (dispozitivul) pe care vor apărea. Există o structură de date, cunoscută sub numele de context de dispozitiv, care leagă aplicaţia de driverul dispozitivului. Un context de dispozitiv este mai mult decât o structură de date în memorie care păstrează atributele suprafeţei de desenare a ferestrei. Aceste atribute includ: peniţa, pensula, fontul, etc. Un DC conţine la un moment dat o singură peniţă (de exemplu). Pentru a folosi diverse peniţe, trebuie să le creăm şi apoi selectăm în cadrul DC. Zona client este suprafaţa în care un program poate desena orice. Afişarea în zona client se face cu ajutorul funcţiilor din GDI. Construirea unei aplicatii pentru exemplificarea folosirii penitelor, pensulelor si fonturilor Vom construi o aplicaţie cu arhitectura Document/View şi de tip SDI, în care vom exemplifica folosirea peniţelor, fonturilor şi a pensoanelor. Vom afişa text cu diverse fonturi, vom desena linii de diferite grosimi (cu peniţe diferite), vom desena dreptunghiuri sau zone închise umplute cu pensule diferite. WM_PAINT Un mesaj important pe care fiecare program Windows, cu o fereastră, trebuie să-l trateze este WM_PAINT. Windows trimite mesajul WM_PAINT ferestrei aplicaţiei când fereastra trebuie să se redeseneze. Mai multe evenimente fac ca Windows să trimită acest mesaj: Când utilizatorul lansează programul în execuţie pentru prima dată, fereastra aplicaţiei primeşte acest mesaj imediat după începerea execuţiei, pentru a afişa informaţiile necesare pentru început. 10
11 Cănd fereastra a fost redimensionată sau a fost descoperită (total sau parţial) de o altă fereastră. Partea din fereastră care a fost acoperită trebuie acum redesenată şi actualizată. Când un program îşi trimite indirect mesajul WM_PAINT prin invalidarea zonei client. Această funcţionalitate asigură faptul că o aplicaţie poate schimba conţinutul ferestrei aproape în orice moment doreşte. De exemplu, un procesor de texte poate invalida fereastra sa după ce utilizatorul a copiat tet din Clipboard. Macroul din harta de mesaje pentru WM_PAINT este ON_WM_PAINT(), iar funcţia ce corespunde tratării acestui mesaj este OnPaint(). Posibil cod în OnPaint(): void CView::OnPaint() // rutina standard de desenare CPaintDC dc(this); OnPrepareDC(&dc); OnDraw(&dc); CPaintDC este o clasă specială pentru gestionarea DC-ului folosit numai când se răspunde la mesajul WM_PAINT. Un obiect al clasei CPaintDC în afară de faptul că crează DC apelează şi funcţia BeginPaint() în constructorul clasei şi apelează funcţia EndPaint() în destructor. Constructorul CPaintDC ia un singur argument, care este un pointer la fereastra pentru care am creat DC. Pointer-ul this punctează la vederea curentă, deci putem să-l pasăm în constructor pentru a crea un DC pentru vederea curentă. OnPrepareDC() este o funcţie din CView care pregăteşte DC-ul pentru a fi folosit. OnDraw() afişează documentul în zona client. Schimbarea afisarii Logica aplicaţiei este următoarea: la apăsarea butonului stâng al mouse-ului se va afişa fie text cu un anumit font, fie o linie cu o anumită peniţă, fie un dreptunghi umplut cu o anumita pensula. Comutarea afişării se face cu ajutorul unei variabile m_display definită în clasa derivată din CView. Valoarea implicită a acestei variabile este Fonts şi se actualizează circular pe mesajul WM_LBUTTONDOWN, cu valorile Pens şi apoi Brushes, samd. În definiţia clasei: protected: enum Fonts, Pens, Brushes m_display; 11
12 În constructor: m_display = Fonts; iar desenarea in void CXView::OnDraw(CDC* pdc) CPaint1Doc* pdoc = GetDocument(); ASSERT_VALID(pDoc); switch (m_display) case Fonts: ShowFonts(pDC); break; case Pens: ShowPens(pDC); break; case Brushes: ShowBrushes(pDC); break; Vom scrie funcţiile ShowFonts(), ShowPens() şi ShowBrushes(). Vom adăuga funcţiile în definiţia clasei şi apoi vom scrie codul în implementarea clasei. void CXView::OnLButtonDown(UINT nflags, CPoint point) if (m_display == Fonts) m_display = Pens; else if (m_display == Pens) m_display = Brushes; else m_display = Fonts Invalidate(); // generează mesajul WM_PAINT CView::OnLButtonDown(nFlags, point); Folosirea fonturilor Trebuiesc cercetate fonturile care sunt instalate în sistem. Un font Windows este descris într-o structură LOGFONT. 12
13 LOGFONT Fields and Their Descriptions Field lfheight lfwidth lfescapement lforientation lfweight lfitalic lfunderline lfstrikeout lfcharset lfoutprecision lfclipprecision lfquality lfpitchandfamily lffacename Description Font height in logical units Font width in logical units Angle at which to draw the text Character tilt in tenths of a degree Font weight A nonzero value indicates italics A nonzero value indicates an underlined font A nonzero value indicates a strikethrough font Font character set How to match requested font to actual font How to clip characters that run over clip area Print quality of the font Pitch and font family Typeface name Unitatea logică (logical units) depinde de modul de mapare folosit. Modul de mapare implicit este MM_TEXT care înseamnă că o unitate logică este egală cu un pixel. Moduri de mapare Mode MM_HIENGLISH MM_HIMETRIC MM_ISOTROPIC MM_LOENGLISH MM_LOMETRIC MM_TEXT MM_TWIPS Unit inch 0.01 millimeter Arbitrary 0.01 inch 0.1 millimeter Device pixel 1/1440 inch Escapement se referă la a scrie text de-a lungul unei linii ce face cu orizontala un anumit unghi. Orientation se referă la a scrie text de-a lungul unei linii (flat line). Ponderea (weight) fontului se referă la (thickness) subţirimea literelor. Au fost definite un număr de constante pentru a fi utilizate cu acest câmp: FW_DONTCARE, FW_THIN, FW_EXTRALIGHT, FW_ULTRALIGHT, FW_LIGHT, FW_NORMAL, FW_REGULAR, FW_MEDIUM, FW_SEMIBOLD, FW_DEMIBOLD, FW_BOLD, FW_EXTRABOLD, FW_ULTRABOLD, FW_BLACK, şi FW_HEAVY. Nu toate fonturile sunt disponibile în toate ponderile. Sunt disponibile patru mulţimi de caractere (ANSI_CHARSET, OEM_CHARSET, SYMBOL_CHARSET, şi UNICODE_CHARSET), dar pentru a scrie text în engleză vom folosi totdeauna ANSI_CHARSET. 13
14 Ultimul câmp din structură reprezintă numele fontului (de ex. Helvetica, Times New Roman, etc.) void CXView::ShowFonts(CDC * pdc) // Initializare structura LOGFONT pentru fonturi LOGFONT logfont; logfont.lfheight = 8; logfont.lfwidth = 0; logfont.lfescapement = 0; logfont.lforientation = 0; logfont.lfweight = FW_NORMAL; logfont.lfitalic = 0; logfont.lfunderline = 0; logfont.lfstrikeout = 0; logfont.lfcharset = ANSI_CHARSET; logfont.lfoutprecision = OUT_DEFAULT_PRECIS; logfont.lfclipprecision = CLIP_DEFAULT_PRECIS; logfont.lfquality = PROOF_QUALITY; logfont.lfpitchandfamily = VARIABLE_PITCH FF_ROMAN; strcpy(logfont.lffacename, "Times New Roman"); // Initializare pozitie text in fereastra. UINT position = 0; // Creaza si afiseaza 8 exemple de fonturi. for (UINT x=0; x<8; ++x) // Setam inaltimea noului font. logfont.lfheight = 16 + (x * 8); // Cream un nou font si-l selectam intr-un // context de dispozitiv. CFont font; font.createfontindirect(&logfont); CFont* oldfont = pdc->selectobject(&font); // Tiparim textul cu noul font. position += logfont.lfheight; pdc->textout(20, position, "Exemplu de font."); // Restauram vechiul font in DC. pdc->selectobject(oldfont); 14
15 Explicaţii la acest cod. Se va rula aplicaţia în acest moment. Se va constata că nu pot fi afişate toate informaţiile în zona client. Marire si pozitionare fereastra Informaţiile nu pot fi afişate în zona client la o rezolutie a ecranului de 800*600. Acest lucru se corectează prin mărirea ferestrei, care se face în funcţia PreCreateWindow() din CMainFrame. Această funcţie este apelată înainte ca fereastra să fie creată. PreCreateWindow() are un singur parametru, o referinţă la o structură CREATESTRUCT. Această structură conţine informaţii despre fereastra care va fi creată. CREATESTRUCT Structure typedef struct tagcreatestruct LPVOID lpcreateparams; HANDLE hinstance; HMENU hmenu; HWND hwndparent; int cy; int cx; int y; int x; LONG style; LPCSTR lpszname; LPCSTR lpszclass; DWORD dwexstyle; CREATESTRUCT; cx şi cy menţin lăţimea şi înălţimea ferestrei, iar x şi y poziţia acesteia. Se inhibă redimensionarea ferestrei (style). BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) cs.cx = 440; cs.cy = 480; cs.style &= ~WS_SIZEBOX; if(!cframewnd::precreatewindow(cs) ) return FALSE; return TRUE; Majoritatea funcţiilor rescrise şi apelate de cadrul de lucru trebuie să apeleze în final versiunea din clasa de bază. 15
16 Folosirea penitelor Vezi clasa CPen. void CXView::ShowPens(CDC * pdc) // Initializam pozitia liniei UINT position = 10; // Desenam 16 linii in fereastra for (UINT x=0; x<16; ++x) // Cream o noua penita si o // selctam in contextul de dispozitiv CPen pen(ps_solid, x*2+1, RGB(0, 0, 255)); CPen* oldpen = pdc->selectobject(&pen); // Desenam o linie cu noua penita position += x * ; pdc->moveto(20, position); pdc->lineto(400, position); // Repunem vechea penita in DC pdc->selectobject(oldpen); Explicaţii la acest cod. Stiluri penita Style PS_DASH PS_DASHDOT PS_DASHDOTDOT PS_DOT PS_INSIDEFRAME PS_NULL PS_SOLID Description A pen that draws dashed lines A pen that draws dash-dot patterned lines A pen that draws dash-dot-dot patterned lines A pen that draws dotted lines A pen that's used with shapes, in which the line's thickness must not extend outside the shape's frame A pen that draws invisible lines A pen that draws solid lines Folosirea pensulelor Cu ajutorul unei pensule desenam interiorul unei figuri de pe ecra. Putem crea pensule solide, pensule cu un anumit şablon şi chiar pensule din bitmap-uri. 16
17 void CXView::ShowBrushes(CDC * pdc) // Initializam dreptunghiul de pozitionare UINT position = 0; // Selectam penita ce va fi folosita pentru // a desena conturul dreptunghiului CPen pen(ps_solid, 5, RGB(255, 0, 0)); CPen* oldpen = pdc->selectobject(&pen); // Desenam 7 dreptunghiuri. for (UINT x=0; x<7; ++x) CBrush* brush; // Cream o pensula if (x == 6) brush = new CBrush(RGB(0,255,0)); else brush = new CBrush(x, RGB(0,160,0)); // Selectam noua pensula in DC CBrush* oldbrush = pdc->selectobject(brush); // Desenam dreptunghiul position += 50; pdc->rectangle(20, position, 400, position + 40); noua // Restauram vechea pensula si o stergem pe cea pdc->selectobject(oldbrush); delete brush; // Restauram vechea penita pdc->selectobject(oldpen); Stiluri pentru pensoane: HS_HORIZONTAL--Horizontal HS_VERTICAL--Vertical HS_CROSS--Horizontal and vertical HS_FDIAGONAL--Forward diagonal HS_BDIAGONAL--Backward diagonal 17
18 HS_DIAGCROSS--Diagonal in both directions Observaţie: Trebuie să apelăm Invalidate() în OnLButtonDown(). Invalidate() are un singur argument (Boolean) cu valoarea implicită TRUE. Acest argument are ca efect ştergerea sau nu a background-ului. Dacă valoarea este FALSE, backgroundul nu va fi şters. Ferestre cu bare de navigare (scrolling Windows ferestre cu derulare) Ferestrele ne permit de a partiţiona ecranul între diverse aplicaţii şi documente. Dacă folosim MFC şi derivăm clasa de vizualizare din CScrollView, atunci fereastra are posibilităţi de derulare. Indicatii de construire a unei aplicatii cu ferestre cu derulare Vom construi o aplicaţie pentru a exemplifica posibilităţile de derulare. În cadrul aplicaţiei iniţial se vor afişa 5 linii de text, iar pe mesajul WM_LBUTTONDOWN vom adăuga de fiecare dată încă 5 linii te text, astfel că la un moment dat textul nu va mai încăpea în fereastră. Numărul liniilor de text care sunt afişate în zona client le vom gestiona cu ajutorul unei variabile din clasa derivata din CDocument public: int m_numlines; pe care o iniţializăm în constructorul clasei: m_numlines = 5; Această variabilă o putem serializa: void CScrollDoc::Serialize(CArchive& ar) if (ar.isstoring()) ar << m_numlines; else ar >> m_numlines; 18
19 În vizualizare: void CMyScrollView::OnDraw(CDC* pdc) CScrollDoc* pdoc = GetDocument(); ASSERT_VALID(pDoc); // obtinem numarul de linii din document int numlines = pdoc->m_numlines; // Initializam o structura LOGFONT pentru fonturi. LOGFONT logfont; logfont.lfheight = 24; logfont.lfwidth = 0; logfont.lfescapement = 0; logfont.lforientation = 0; logfont.lfweight = FW_NORMAL; logfont.lfitalic = 0; logfont.lfunderline = 0; logfont.lfstrikeout = 0; logfont.lfcharset = ANSI_CHARSET; logfont.lfoutprecision = OUT_DEFAULT_PRECIS; logfont.lfclipprecision = CLIP_DEFAULT_PRECIS; logfont.lfquality = PROOF_QUALITY; logfont.lfpitchandfamily = VARIABLE_PITCH FF_ROMAN; strcpy(logfont.lffacename, "Times New Roman"); // Cream un nou font si il selectam in DC CFont* font = new CFont(); font->createfontindirect(&logfont); CFont* oldfont = pdc->selectobject(font); // Initializam pozitia textului in fereastra UINT position = 0; // Cream si afisam 8 linii de text for (int x=0; x<numlines; ++x) // Cream sirul de caractere ce va fi afisat char s[25]; wsprintf(s, "Linia numarul: #%d", x+1); // Tiparim textul cu noul font pdc->textout(20, position, s); // Trecem pe linia urmatoare position += logfont.lfheight; // Restauram vechiul font in DC si stergem fontul creat de program pdc->selectobject(oldfont); delete font; 19
20 Explicaţie cod. Se va rula aplicaţia. Modificarea codului pentru a creste numarul de linii afisate pe ecran Pe mesajul WM_LBUTTONDOWN void CMyScrollView::OnLButtonDown(UINT nflags, CPoint point) CScrollDoc* pdoc = GetDocument(); ASSERT_VALID(pDoc); // Marim numarul liniilor de afisat //(cu 5 la fiecare clic stanga mouse) pdoc->m_numlines += 5; // Redesenam fereastra Invalidate(); CScrollView::OnLButtonDown(nFlags, point); Micsorarea numarului de linii void CMyScrollView::OnRButtonDown(UINT nflags, CPoint point) CScrollDoc* pdoc = GetDocument(); ASSERT_VALID(pDoc); // Micsoram numarul liniilor de afisat // (cu 5 la fiecare clic dreapa mouse) pdoc->m_numlines -= 5; if (pdoc->m_numlines < 0) pdoc->m_numlines = 0; // Redesenam fereastra. Invalidate(); CScrollView::OnRButtonDown(nFlags, point); Dacă rulăm aplicaţia vom observa că barele de derulare nu apar. Trebuie modificată funcţia OnDraw(). Linii de cod ce se vor adauga la OnDraw() // Calculam marimea documentului CSize docsize(100, numlines*logfont.lfheight); // Calculam marimea paginii CRect rect; GetClientRect(&rect); CSize pagesize(rect.right, rect.bottom); 20
21 // Calculam marimea liniei CSize linesize(0, logfont.lfheight); // Ajustam barele de navigare SetScrollSizes(MM_TEXT, docsize, pagesize, linesize); 21
VISUAL FOX PRO VIDEOFORMATE ŞI RAPOARTE. Se deschide proiectul Documents->Forms->Form Wizard->One-to-many Form Wizard
VISUAL FOX PRO VIDEOFORMATE ŞI RAPOARTE Fie tabele: create table emitenti(; simbol char(10),; denumire char(32) not null,; cf char(8) not null,; data_l date,; activ logical,; piata char(12),; cap_soc number(10),;
More informationGRAFURI NEORIENTATE. 1. Notiunea de graf neorientat
GRAFURI NEORIENTATE 1. Notiunea de graf neorientat Se numeşte graf neorientat o pereche ordonată de multimi notată G=(V, M) unde: V : este o multime finită şi nevidă, ale cărei elemente se numesc noduri
More informationPasul 2. Desaturaţi imaginea. image>adjustments>desaturate sau Ctrl+Shift+I
4.19 Cum se transformă o faţă în piatră? Pasul 1. Deschideţi imaginea pe care doriţi să o modificaţi. Pasul 2. Desaturaţi imaginea. image>adjustments>desaturate sau Ctrl+Shift+I Pasul 3. Deschideţi şi
More informationGhid de instalare pentru program NPD RO
Ghid de instalare pentru program NPD4758-00 RO Instalarea programului Notă pentru conexiunea USB: Nu conectaţi cablul USB până nu vi se indică să procedaţi astfel. Dacă se afişează acest ecran, faceţi
More informationPlatformă de e-learning și curriculă e-content pentru învățământul superior tehnic
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul
More informationSplit Screen Specifications
Reference for picture-in-picture split-screen Split Screen-ul trebuie sa fie full background. The split-screen has to be full background The file must be exported as HD, following Adstream Romania technical
More informationModalităţi de redare a conţinutului 3D prin intermediul unui proiector BenQ:
Modalităţi de redare a conţinutului 3D prin intermediul unui proiector BenQ: Proiectorul BenQ acceptă redarea conţinutului tridimensional (3D) transferat prin D-Sub, Compus, HDMI, Video şi S-Video. Cu
More informationParcurgerea arborilor binari şi aplicaţii
Parcurgerea arborilor binari şi aplicaţii Un arbore binar este un arbore în care fiecare nod are gradul cel mult 2, adică fiecare nod are cel mult 2 fii. Arborii binari au şi o definiţie recursivă : -
More informationPREZENTARE INTERFAŢĂ MICROSOFT EXCEL 2007
PREZENTARE INTERFAŢĂ MICROSOFT EXCEL 2007 AGENDĂ Prezentarea aplicaţiei Microsoft Excel Registre şi foi de calcul Funcţia Ajutor (Help) Introducerea, modificarea şi gestionarea datelor în Excel Gestionarea
More informationSplit Screen Specifications
Reference for picture-in-picture split-screen Cuvantul PUBLICITATE trebuie sa fie afisat pe toată durata difuzării split screen-ului, cu o dimensiune de 60 de puncte in format HD, scris cu alb, ca in exemplul
More informationExerciţii Capitolul 4
EXERCIŢII CAPITOLUL 4 4.1. Scrieti câte un program Transact-SQL si PL/SQL pentru calculul factorialului unui număr dat. 4.2. Scrieţi şi executaţi cele două programe care folosesc cursoarele prezentate
More informationSistemul de operare Windows (95, 98) Componenta My Computer
Laborator 9 Sistemul de operare Windows (95, 98) Componenta My Computer My Computer este o componentă ce permite crearea şi organizarea fişierelor şi directoarelor şi gestionarea discurilor. My Computer
More information1. Noţiuni elementare de WinApi
1. Noţiuni elementare de WinApi 1.1. Introducere - cum arată un program de windows? Un program de windows este alcătuit dintr-o fereastră principal cu o structură standard (de obicei). Această fereastră
More information4 Caracteristici numerice ale variabilelor aleatoare: media şi dispersia
4 Caracteristici numerice ale variabilelor aleatoare: media şi dispersia Media (sau ) a unei variabile aleatoare caracterizează tendinţa centrală a valorilor acesteia, iar dispersia 2 ( 2 ) caracterizează
More informationCircuite Basculante Bistabile
Circuite Basculante Bistabile Lucrarea are drept obiectiv studiul bistabilelor de tip D, Latch, JK şi T. Circuitele basculante bistabile (CBB) sunt circuite logice secvenţiale cu 2 stări stabile (distincte),
More information9. MENIURI si OBIECTE MULTIMEDIA
9. MENIURI si OBIECTE MULTIMEDIA 9.1. Definire şi utilizare meniuri bară (PAD) Interfaţa între program şi utilizator se asigură prin meniuri, care permit selectarea unor anumite proceduri ale aplicaţiei
More informationSUBIECTE CONCURS ADMITERE TEST GRILĂ DE VERIFICARE A CUNOŞTINŢELOR FILIERA DIRECTĂ VARIANTA 1
008 SUBIECTE CONCURS ADMITERE TEST GRILĂ DE VERIFICARE A CUNOŞTINŢELOR FILIERA DIRECTĂ VARIANTA 1 1. Dacă expresiile de sub radical sunt pozitive să se găsească soluţia corectă a expresiei x x x 3 a) x
More informationCurs 3 Word 2007 Cuprins
Curs 3 Word 2007 Cuprins Stiluri... 2 Tipuri de stiluri... 2 Stilurile predefinite ale programului Word... 2 Stilul Normal... 3 Stilurile Heading (Titlu)... 3 Cum aplicati un stil unui text... 3 Crearea
More informationOperaţiile de sistem de bază
System i Operaţiile de sistem de bază Versiunea 6 Ediţia 1 System i Operaţiile de sistem de bază Versiunea 6 Ediţia 1 Notă Înainte de a folosi aceste informaţii şi produsul pe care îl suportă, citiţi
More informationMail Moldtelecom. Microsoft Outlook Google Android Thunderbird Microsoft Outlook
Instrucțiunea privind configurarea clienților e-mail pentru Mail Moldtelecom. Cuprins POP3... 2 Outlook Express... 2 Microsoft Outlook 2010... 7 Google Android Email... 11 Thunderbird 17.0.2... 12 iphone
More informationGeographical data management in GIS systems
196 The Ninth International Conference Geographical data management in GIS systems Managementul datelor geografice în sistemele GIS Reader Liliana DOBRICĂ, Ph.D. University Politehnica from Bucharest,
More informationReprezentări grafice
Reprezentări grafice Obiective: - realizarea graficelor pentru reprezentarea datelor; Problema 1: S-a realizat un studiu pe un lot format din 19 nou născuţi pentru care se urmăresc parametrii biomedicali:
More informationAnexa 2. Instrumente informatice pentru statistică
Anexa 2. Instrumente informatice pentru statistică 2.1. Microsoft EXCEL şi rutina HISTO Deoarece Microsoft EXCEL este relativ bine cunoscut, inclusiv cu unele funcţii pentru prelucrări statistice, în acest
More informationMODULUL 2 UTILIZAREA SISTEMULUI DE OPERARE WINDOWS XP CURSUL UTILIZAREA CALCULATORULUI PERSONAL; APLICAREA TIC ÎN ŞCOALĂ ŞI AFACERI
MODULUL 2 UTILIZAREA SISTEMULUI DE OPERARE WINDOWS XP CURSUL UTILIZAREA CALCULATORULUI PERSONAL; APLICAREA TIC ÎN ŞCOALĂ ŞI AFACERI Ministerul Comunicaţiilor şi Societăţii Informaţionale, 51 Obiectivele
More informationPage 1 of 6 Motor - 1.8 l Duratorq-TDCi (74kW/100CP) - Lynx/1.8 l Duratorq-TDCi (92kW/125CP) - Lynx - Curea distribuţie S-MAX/Galaxy 2006.5 (02/2006-) Tipăriţi Demontarea şi montarea Unelte speciale /
More informationClick pe More options sub simbolul telefon (în centru spre stânga) dacă sistemul nu a fost deja configurat.
1. Sus în stânga, click pe Audio, apoi pe Audio Connection. 2. Click pe More options sub simbolul telefon (în centru spre stânga) dacă sistemul nu a fost deja configurat. 3. 4. Alegeți opțiunea favorită:
More informationTeoreme de Analiză Matematică - II (teorema Borel - Lebesgue) 1
Educaţia Matematică Vol. 4, Nr. 1 (2008), 33-38 Teoreme de Analiză Matematică - II (teorema Borel - Lebesgue) 1 Silviu Crăciunaş Abstract In this article we propose a demonstration of Borel - Lebesgue
More informationELEMENTE DE INTERFATA ALE UNUI SISTEM DE OPERARE
ELEMENTE DE INTERFATA ALE UNUI SISTEM DE OPERARE Sistemul de operare Windows 7 Cel mai utilizat sistem de operare la ora actuala Locul II Windows XP Locul III Windows Vista Windows 7 si XP sunt cele mai
More informationriptografie şi Securitate
riptografie şi Securitate - Prelegerea 16 - Criptografia asimetrică Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Limitările criptografiei
More informationAplicatii ale programarii grafice in experimentele de FIZICĂ
Aplicatii ale programarii grafice in experimentele de FIZICĂ Autori: - Ionuț LUCA - Mircea MIHALEA - Răzvan ARDELEAN Coordonator științific: Prof. TITU MASTAN ARGUMENT 1. Profilul colegiului nostru este
More information10 Estimarea parametrilor: intervale de încredere
10 Estimarea parametrilor: intervale de încredere Intervalele de încredere pentru un parametru necunoscut al unei distribuţii (spre exemplu pentru media unei populaţii) sunt intervale ( 1 ) ce conţin parametrul,
More informationAlgoritmică şi programare Laborator 3
Algoritmică şi programare Laborator 3 Următorul algoritm calculează cel mai mare divizor comun şi cel mai mic multiplu comun a două numere naturale, nenule, a şi b, citite de la tastatură. Algoritmul are
More information22METS. 2. In the pattern below, which number belongs in the box? 0,5,4,9,8,13,12,17,16, A 15 B 19 C 20 D 21
22METS CLASA a IV-a 1. Four people can sit at a square table. For the school party the students put together 7 square tables in order to make one long rectangular table. How many people can sit at this
More informationRealizarea prezentărilor electronice folosind Microsoft Power Point 2010
Realizarea prezentărilor electronice folosind Microsoft Power Point 2010 Lansarea programului. Aspect general. Capitole. Butoane. Pentru lansarea programului putem apela la scurtătura de pe ecran sau la
More informationTTX260 investiţie cu cost redus, performanţă bună
Lighting TTX260 investiţie cu cost redus, performanţă bună TTX260 TTX260 este o soluţie de iluminat liniară, economică şi flexibilă, care poate fi folosită cu sau fără reflectoare (cu cost redus), pentru
More informationCapitolul V MODELAREA SISTEMELOR CU VENSIM
5.1. Introducere Capitolul V MODELAREA SISTEMELOR CU VENSIM VENSIM este un software de modelare vizuală care permite conceptualizarea, implementarea, simularea şi optimizarea modelelor sistemelor dinamice.
More information6. MPEG2. Prezentare. Cerinţe principale:
6. MPEG2 Prezentare Standardul MPEG2 VIDEO (ISO/IEC 13818-2) a fost realizat pentru codarea - în transmisiuni TV prin cablu/satelit. - în televiziunea de înaltă definiţie (HDTV). - în servicii video prin
More informationEPI INFO. - Cross-tabulation şi testul 2 -
EPI INFO - Cross-tabulation şi testul 2 - Au drept scop verificarea unor ipoteze obţinute în urma centralizării datelor unei cercetări statistice şi stabilirea posibilelor legături între variabile. Acest
More informationMODULUL 2 UTILIZAREA SISTEMULUI DE OPERARE WINDOWS VISTA CURSUL UTILIZAREA CALCULATORULUI PERSONAL; APLICAREA TIC ÎN ŞCOALĂ ŞI AFACERI
MODULUL 2 UTILIZAREA SISTEMULUI DE OPERARE WINDOWS VISTA CURSUL UTILIZAREA CALCULATORULUI PERSONAL; APLICAREA TIC ÎN ŞCOALĂ ŞI AFACERI Pag. 1 Dacă vă aflaţi în faţa unui computer despre care ştiţi că foloseşte
More informationRigla şi compasul. Gabriel POPA 1
Rigla şi compasul Gabriel POPA 1 Abstract. The two instruments accepted by the ancient Greeks for performing geometric constructions, if separately used, are not equally powerful. The compasses alone can
More informationProgramare Windows I Visual C++ Curs 9
Afişarea grafică Subsistemul care tratează afişarea grafică se numeşte GDI+. GDI (Graphical Device Interface) a fost modelul grafic din Windows începând cu Windows 3.0. De-a lungul timpului acesta a fost
More informationWindows Programming with MFC. Computer Graphics Hardware. Computer Graphics. Binghamton University. EngiNet. Thomas J. Watson
Binghamton University EngiNet State University of New York EngiNet Thomas J. Watson School of Engineering and Applied Science WARNING All rights reserved. No Part of this video lecture series may be reproduced
More informationLESSON FOURTEEN
LESSON FOURTEEN lesson (lesn) = lecţie fourteen ( fǥ: ti:n) = patrusprezece fourteenth ( fǥ: ti:nθ) = a patrasprezecea, al patrusprezecilea morning (mǥ:niŋ) = dimineaţă evening (i:vniŋ) = seară Morning
More information9.1. Structura unităţii de I/E. În Figura 9.1 se prezintă structura unui sistem de calcul împreună cu unitatea
9. UNITATEA DE I/E Pe lângă unitatea centrală şi un set de module de memorie, un alt element important al unui sistem de calcul este sistemul de I/E. O unitate de I/E (UIE) este componenta sistemului de
More informationTehnologia Informaţiei şi a Comunicaţiilor
Tehnologia Informaţiei şi a Comunicaţiilor Sumar 1. Competenţe.............................................. 3 2. Tehnologia informaţiei şi a comunicaţiilor....................... 4 3. Noţiunea de informaţie.....................................
More informationDefuzzificarea într-un sistem cu logică fuzzy. Aplicaţie: maşina de spălat cu reguli fuzzy. A. Obiective. B. Concepte teoretice ilustrate
Defuzzificarea într-un sistem cu logică fuzzy. Aplicaţie: maşina de spălat cu reguli fuzzy A. Obiective 1) Vizualizarea procesului de selecţie a valorii tranşante de ieşire din mulţimea fuzzy de ieşire
More informationGhid de utilizare a platformei e-learning
Perfecţionarea teoretică şi practică a cadrelor didactice din învăţământul preuniversitar pentru folosirea tehnologiilor educationale moderne în predarea fizicii şi disciplinelor tehnice ID 132731 Ghid
More informationARHITECTURA CALCULATOARELOR 2003/2004 CURSUL 10
ARHITECTURA CALCULATOARELOR 2003/2004 CURSUL 10 4.1.4 Ceasuri (semnale de tact) În majoritatea circuitelor digitale ordinea în care au loc evenimentele este critică. Uneori un eveniment trebuie să preceadă
More informationGREUTATE INALTIME IMC TAS TAD GLICEMIE
Corelaţii Obiective: - Coeficientul de corelaţie Pearson - Graficul de corelaţie (XY Scatter) - Regresia liniară Problema 1. Introduceţi în Excel următorul tabel cu datele a 30 de pacienţi aflaţi în atenţia
More informationUn tip de data este caracterizat de: o O mulţime de date (valori є domeniului) o O mulţime de operaţii o Un identificator.
3. Tipuri de date 1 Un tip de data este caracterizat de: o O mulţime de date (valori є domeniului) o O mulţime de operaţii o Un identificator Exemplu: Tipul de dată - Număr întreg ( Integer ): Un număr
More information1. Funcţii speciale. 1.1 Introducere
1. 1.1 Introducere Dacă o anumită ecuaţie diferenţială (reprezentând de obicei un sistem liniar cu coeficienţi variabili) şi soluţie sa sub formă de serie de puteri apare frecvent în practică, atunci i
More informationBiostatistică Medicină Generală. Lucrarea de laborator Nr Intervale de încredere. Scop: la sfârşitul laboratorului veţi şti:
Biostatistică Medicină Generală Lucrarea de laborator Nr.5 Scop: la sfârşitul laboratorului veţi şti: Să folosiţi foaia de calcul Excel pentru a executa calculele necesare găsirii intervalelor de încredere
More informationARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 12, 13 şi 14
ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE LUCRĂRILE DE LABORATOR Nr. 12, 13 şi 14 ELEMENTE DE LOGICĂ NUMERICĂ. REDUCEREA EXPRESIILOR LOGICE. I. SCOPUL LUCRĂRILOR Lucrările prezintă câteva
More informationLaboratorul 1. Primii paşi în Visual Basic.NET
Laboratorul 1 Primii paşi în Visual Basic.NET Ce ne propunem astăzi? În laboratorul de astăzi ne propunem crearea unei aplicaţii simple pentru evidenţa studenţilor unei facultăţi. În cadrul acestei aplicaţii
More informationdirectorul ATESTAT de pe desktop.
SUBIECTUL NR. 1 În primul diapozitiv, cu tema Concurenţă şi aspectul Titlu, scrieţi titlul "ATESTAT", şi subtitlul "Informatică 2015", cu fonturi implicite. Modificaţi fontul titlului ca să aibă culoarea
More informationStructura sistemelor de operare Windows şi Linux
Structura sistemelor de operare Windows şi Linux 1. Structurile de bază ale fiecărui sistem de operare în parte: concepte generale, structura nucleului 2. Nivelul de abstractizare al hard-ului 3. Interpretorele
More informationPress review. Monitorizare presa. Programul de responsabilitate sociala. Lumea ta? Curata! TIMISOARA Page1
Page1 Monitorizare presa Programul de responsabilitate sociala Lumea ta? Curata! TIMISOARA 03.06.2010 Page2 ZIUA DE VEST 03.06.2010 Page3 BURSA.RO 02.06.2010 Page4 NEWSTIMISOARA.RO 02.06.2010 Cu ocazia
More informationCUPRINS CAP. 1. PREZENTARE GENERALĂ
CUPRINS CAP. 1. PREZENTARE GENERALĂ CAP. 2. FUNDAMENTELE PROGRAMĂRII ÎN MATLAB 2.1. Expresii fundamentale 2.2. Help on-line, formatul datelor, opţiuni de salvare 2.3. Crearea fişierelor MATLAB (.m files)
More informationO abordare orientată pe componente generice pentru crearea dinamică a interfeţelor cu utilizatorul
O abordare orientată pe componente generice pentru crearea dinamică a interfeţelor cu utilizatorul Frăsinaru Cristian Facultatea de Informatică Iaşi General Berthelot 16, IAŞI 700483, ROMANIA acf@infoiasi.ro
More informationGhidul administratorului de sistem
Ghidul administratorului de sistem SOFTWARE DE GESTIONARE A TERAPIEI PENTRU DIABET Română Accesarea fişierelor de date CareLink Pro stochează date despre utilizator şi dispozitiv într-un fişier de centralizare
More informationHama Telecomanda Universala l in l
H O M E E N T E R T A I N M E N T Hama Telecomanda Universala l in l 00040081 2 6 5 3 12 1 14 13 4 8 7 9 17 4 10 16 15 Manual de utilizare Funcţia Tastelor 1. TV: Selectati aparatul pe care doriţi să-l
More informationPagini Web prin Microsoft Frontpage. Crearea de pagini web. Introducere
Pagini Web prin Microsoft Frontpage Crearea de pagini web. Introducere Internetul este un sistem global de reţele de calculatoare ce folosesc protocoalele de comunicare Transmission Control Protocol şi
More information1. Ecuaţii diferenţiale de ordinul întâi
1. 1.1 Introducere Scopul acestui curs este de a furniza celor interesaţi în primul rând o bază solidă asupra problemelor matematice care apar în inginerie şi în al doilea rând un set de instrumente practice
More information2. PORŢI LOGICE ( )
2. PORŢI LOGICE (9.4.24) 2.. INTRODUCERE 2.. CONSTANTE ŞI VARIAILE OOLEENE. TAELE DE ADEVĂR În algebra booleană sunt două constante: şi. În funcţie de tipul de logică folosit, de tehnologia utilizată,
More informationMediul XWindow. Dr. Sabin-Corneliu. Facultatea de Informatică Universitatea A.I.Cuza Iaşi, România ://www.infoiasi.
1 Mediul XWindow Buraga Facultatea de Informatică Universitatea A.I.Cuza Iaşi, România http:// ://www.infoiasi.ro/~busaco/ 2 Writing software is more fun than working. /usr/games/fortune 3 Cuprins Ce este
More informationParadoxuri matematice 1
Educaţia Matematică Vol. 3, Nr. 1-2 (2007), 51-56 Paradoxuri matematice 1 Ileana Buzatu Abstract In this paper we present some interesting paradoxical results that take place when we use in demonstration
More informationGHIDUL UTILIZATORULUI DE REŢEA
Server de imprimantă cu protocoale multiple şi Ethernet integrat şi server de imprimantă cu Ethernet wireless GHIDUL UTILIZATORULUI DE REŢEA În acest Ghidul utilizatorului de reţea veţi găsi informaţii
More informationApplication form for the 2015/2016 auditions for THE EUROPEAN UNION YOUTH ORCHESTRA (EUYO)
Application form for the 2015/2016 auditions for THE EUROPEAN UNION YOUTH ORCHESTRA (EUYO) Open to all born between 1 January 1990 and 31 December 2000 Surname Nationality Date of birth Forename Instrument
More informationProject Title. SPANA Development of Multimedia Tool for Learning Speech. Analysis. Supervisor: Dr. M.W. Mak
Project Title SPANA Development of Multimedia Tool for Learning Speech Analysis Supervisor: Dr. M.W. Mak Student Name: Sit Chin Hung Student ID: 00146713D Period: Aug 2003 Apr 2004 Abstract Digital speech
More informationMANUAL DE UTILIZARE. 2. Nomenclator Curs Produse Clienti Introducere Facturi
MANUAL DE UTILIZARE Va rugam sa rasfoiti acest manual de utilizare al programului de facturare FACTURIS. O sa descoperiti multe optiuni pe care le ofera acest soft de facturare si va fi mult mai usor sa
More informationUniversitatea din Bucureşti. Facultatea de Matematică şi Informatică. Şcoala Doctorală de Matematică. Teză de Doctorat
Universitatea din Bucureşti Facultatea de Matematică şi Informatică Şcoala Doctorală de Matematică Teză de Doctorat Proprietăţi topologice ale atractorilor sistemelor iterative de funcţii (Rezumat) Îndrumător
More informationBiraportul în geometria triunghiului 1
Educaţia Matematică Vol. 2, Nr. 1-2 (2006), 3-10 Biraportul în geometria triunghiului 1 Vasile Berghea Abstract In this paper we present an interesting theorem of triangle geometry which has applications
More informationDIRECTIVA HABITATE Prezentare generală. Directiva 92/43 a CE din 21 Mai 1992
DIRECTIVA HABITATE Prezentare generală Directiva 92/43 a CE din 21 Mai 1992 Birds Directive Habitats Directive Natura 2000 = SPAs + SACs Special Protection Areas Special Areas of Conservation Arii de Protecţie
More informationCURSUL 4 STOCARE ŞI VIRTUALIZAREA STOCĂRII ÎN SISTEME INFORMATICE
CURSUL 4 STOCARE ŞI VIRTUALIZAREA STOCĂRII ÎN SISTEME INFORMATICE 4. 1. DAS - DIRECT-ATTACHED STORAGE Direct-attached storage (DAS) reprezintă stocare ataşată direct şi se referă la sistemul de stocare
More informationdeclarare var <identif>:array[<tip1>,<tip2>,...] of <tip_e>; var a: array[1..20] of integer; (vector cu 20 elemente)
TITLUL: Tablou unidimensional 1. Teorie Tabloul este o structură de date statică (dimensiunea este fixă) care memoreză o succesiune de elemente de acelaşi tip. Elementele tabloului sunt identificate prin
More informationPROBLEME DE TEORIA NUMERELOR LA CONCURSURI ŞI OLIMPIADE
PROBLEME DE TEORIA NUMERELOR LA CONCURSURI ŞI OLIMPIADE Corneliu Mănescu-Avram Nicuşor Zlota Lucrarea prezentata la Conferinta Anuala a SSMR din Romania, Ploiesti, 19-21 octombrie 2012 Abstract. This paper
More informationTIPURI DE DISPOZITIVE DE INTRARE, DE IESIRE, DE INTRARE IESIRE, DE STOCARE A DATELOR
TIPURI DE DISPOZITIVE DE INTRARE, DE IESIRE, DE INTRARE IESIRE, DE STOCARE A DATELOR Un calculator interacţionează cu exteriorul prin intermediul dispozitivelor periferice de intrare/ieşire şi al dispozitivelor
More informationPoo Laboratoare 1. Laborator Programare cu JTable & JTree JTable JTree... 2
Poo Laboratoare 1 Contents Laborator12 2 1 Programare cu JTable & JTree 2 1.1 JTable........................................... 2 1.2 JTree............................................ 2 2 Probleme de laborator
More informationLaboratorul 1. MS Word
Laboratorul 1. MS Word Câmpurile se pot introduce astfel: prin intermediul meniului Insert/Field cu ajutorul combinaţiei de taste Ctrl+F9, după care se scriu codul câmpului şi comutatorii Comutarea între
More informationGhid de Instalare Windows Vista
Ghid de Instalare Windows Vista Înainte de a folosi aparatul acesta trebuie instalat împreună cu driverul. Vă rugăm să citiţi acest Ghid de Instalare Rapidă şi Ghid de Instalare Windows Vista pentru instrucţiuni
More informationPlatformă de e-learning și curriculă e-content pentru învățământul superior tehnic
Platformă de e-learning și curriculă e-content pentru Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul dumneavoastră. Programul Operațional
More informationConferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, Graph Magics. Dumitru Ciubatîi Universitatea din Bucureşti,
Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, 2006 133 Graph Magics Dumitru Ciubatîi Universitatea din Bucureşti, workusmd@yahoo.com 1. Introducere Graph Magics este un program destinat construcţiei
More informationO VARIANTĂ DISCRETĂ A TEOREMEI VALORII INTERMEDIARE
O VARIANTĂ DISCRETĂ A TEOREMEI VALORII INTERMEDIARE de Andrei ECKSTEIN, Timişoara Numeroase noţiuni din analiza matematică au un analog discret. De exemplu, analogul discret al derivatei este diferenţa
More informationConstruirea interfeţei utilizator
Construirea interfeţei utilizator Ferestre Spaţiul Forms ne oferă clase specializate pentru: creare de ferestre sau formulare System.Windows.Forms.Form), elemente specifice (controale) cum ar fi butoane
More informationManualul utilizatorului
Manualul utilizatorului Cuprins 1. Ghid de pornire rapidă 2. Cum sa ajungi la destinaţie? 3. Ghidare 4. Ajustarea luminozităţii afişajului 5. Previzionalizarea şi editarea rutei 5.1. Schimbarea destinaţiei
More informationCAPITOLUL 2. FACILITATILE SI ARHITECTURA SISTEMULUI ORACLE
CAPITOLUL 2. FACILITATILE SI ARHITECTURA SISTEMULUI ORACLE 2.1. EVOLUŢIA ŞI FACILITĂŢILE SISTEMULUI ORACLE Oracle este un sistem de gestiune a bazelor de date complet relaţional, extins, cu facilităţi
More informationObiectivele acestui modul sunt:
Obiectivele acestui modul sunt: Aplicarea operaţiilor elementare şi a conceptelor de bază ale aplicaţiei Microsoft Excel Proiectarea şi crearea documentelor Deschiderea, salvarea şi închiderea unui document
More informationBAZE DE DATE SI PRELUCRARI STATISTICE
BAZE DE DATE SI PRELUCRARI STATISTICE CU PROGRAMUL EPI INFO INTRODUCERE Epi Info a fost produs de Epidemiology Program Office, Centres for Disease Control si de Global Programme on AIDS, World Health Organisation
More informationCURS Nivele de management al SAN Nivelul de stocare *I LTO Tape Library Specialist
CURS 6 6.10. Nivele de management al SAN Arhitectura de management a SAN poate fi divizată în 3 nivele distincte (fig.6_1) : (a) nivelul de stocare al SAN; (b) nivelul de reţea; (c) Nivelul sistemelor
More informationSistemul de semnalizare SS7. Petre Ogruţan, ianuarie 2015
Sistemul de semnalizare SS7 Petre Ogruţan, ianuarie 2015 Protocoale în telecomunicaţii În telecomunicaţii un protocol este un ansamblu de reguli dedicat schimbului de date între sisteme de calcul. Un protocol
More informationMaria plays basketball. We live in Australia.
RECAPITULARE GRAMATICA INCEPATORI I. VERBUL 1. Verb to be (= a fi): I am, you are, he/she/it is, we are, you are, they are Questions and negatives (Intrebari si raspunsuri negative) What s her first name?
More informationTUTORIAL: EVALUAREA SUSCEPTIBILITĂŢII LA EROZIUNE PRIN ANALIZĂ BIVARIATĂ
UNIVERSITATEA DIN BUCUREŞTI FACULTATEA DE GEOGRAFIE TUTORIAL: EVALUAREA SUSCEPTIBILITĂŢII LA EROZIUNE PRIN ANALIZĂ BIVARIATĂ Masterand: Mădălina Teodor Profesor coordonator: Prof. Univ. dr. Iuliana Armaş
More informationStart with some basics: display devices
Output Concepts Start with some basics: display devices Just how do we get images onto a screen? Most prevalent device: CRT Cathode Ray Tube AKA TV tube 2 Cathode Ray Tubes Cutting edge 1930 s technology
More informationE-MANUAL. Model Număr de serie
E-MANUAL Vă mulţumim că aţi achiziţionat acest produs Samsung. Pentru a primi servicii mai cuprinzătoare, vă rugăm să vă înregistraţi produsul la adresa www.samsung.com/register Model Număr de serie Conţinut
More informationINTRODUCERE DEMONSTRATIVĂ LECŢIE OPERATOR CALCULATOR
OPERATOR CALCULATOR LECŢIE DEMONSTRATIVĂ INTRODUCERE LECŢIE DEMONSTRATIVĂ Vă doriţi un job în care operarea computerului este principala activitate? Munca operatorului PC este una la îndemâna oricui, învăţându-se
More informationOLIMPIADA INTERNAŢIONALĂ DE MATEMATICĂ FORMULA OF UNITY / THE THIRD MILLENIUM 2014/2015 RUNDA A DOUA
OLIMPIADA INTERNAŢIONALĂ DE MATEMATICĂ FORMULA OF UNITY / THE THIRD MILLENIUM 014/015 RUNDA A DOUA Abstract. Comments on some of the problems presented at the new integrated International Mathematical
More informationANALIZA STATICĂ A UNEI STRUCTURI DE TIP PANOU
APLICAŢIA 7 ANALIZA STATICĂ A UNEI STRUCTURI DE TIP PANOU 7.1 Descrierea aplicaţiei Structurile de tip panou publicitar sunt compuse, în principal, din două elemente: unul de tip panou şi celălalt de tip
More information3. CPU 3.1. Setul de regiştri. Copyright Paul GASNER
3. CPU 3.1. Setul de regiştri Copyright Paul GSNER CPU Procesorul Cetral Process Uit CPU este costituit di trei mari părţi: + regiştri + RM (cache) execută toate operaţiile aritmetice şi logice bus de
More informationProgramarea calculatoarelor CURS 1
Limbajul C CURS 1 Ş.l. Carmen Odubăşteanu Bibliografie: curs.cs.pub.ro Programarea Calculatoarelor seria 1CC elf.cs.pub.ro/programare laboratoare si simulator http://posdru62485.discipline.upb.ro/ - curs
More informationSisteme de operare şi programe specifice. Material de predare partea a I-a. Material de învăţare
Sisteme de operare şi programe specifice Material de predare partea a I-a Material de învăţare Domeniul: Electronică automatizări Calificarea: Tehnician operator tehnică de calcul Nivel 3 2009-1 - AUTOR:
More information