Interfata Shell Alternativa Windows

Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

1. Informații teoretice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

1.1 Definiția interfeței (shell) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

1.2 Clasificarea interfețelor om-mașină . . . . . . . . . . . . . . . . . . . . . . . .7

1.2.1 Interfețele textuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

1.2.1.1 Modul dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

1.2.1.2 Modul de ecran plin (Full Screen). . . . . . . . . . . . . . . . . . . . . . .8

1.2.2 Interfețele grafice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

1.2.2.1 Fun-shells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

1.2.2.1.1 NextStep fun-shells. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 1.2.2.1.2 Macintosh fun-shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

1.2.2.2 Tehnologia skins și thems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

1.2.2.3 Îmbunătățitorii Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

1.3 Descrierea mecanismului de înlocuire a shell-ului . . . . . . . . . . . . .19

2. Proiectarea structurii interfeței . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

2.1 Analiza sarcinii pentru proiectul de diplomă . . . . . . . . . . . . . . . . .21

2.2 Alegerea instrumentarului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

2.3 Elaborarea schemei proiectului . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

2.3.1 Alegerea elementelor interfeței . . . . . . . . . . . . . . . . . . . . . . . . . . .30

2.3.2 Elaborarea specificațiilor funcțiilor standarde a modulelor . . . .32

3 Proiectarea în detalii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33

3.1 Proiectarea încărcătorului modulelor . . . . . . . . . . . . . . . . . . . . . .33

3.2 Proiectarea desktop-ului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

3.3 Proiectarea meniului principal . . . . . . . . . . . . . . . . . . . . . . . . . . . .38

3.4 Proiectarea barei de aplicații . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

3.5 Proiectarea barei de acces rapid la aplicații (Quick Launch) . . . 45

3.6 Mecanismul de lucru cu teme (Skin-uri) . . . . . . . . . . . . . . . . . . . . 47

3.7 Selectorul shell-ului (Shell Selector sau Shell Changer) . . . . . . . 49

4. Partea economică . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.1 Noțiuni teoretice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.2 Planificarea lucrărilor pentru elaborarea proiectului “My House Shell”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.3 Calcularea salariului de bază auxiliar și a altor cheltuieli . . . . . . 62

4.4 Argumentarea economică . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5. Partea protecția muncii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.1 Protecția muncii și sanitaria în producție . . . . . . . . . . . . . . . . . . . . 67

5.2 Zgomotul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.3 Microclima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.4 Calcularea ventilării . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.5 Radiația . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74

5.6 Efecte psihofiziologice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.7 Cerințele ergonomice față de locul de muncă . . . . . . . . . . . . . . . . . 75

Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Bibliografie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79

Anexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80

=== PARTEAPRINCIPALAFINAL ===

Introducere

Informatica, știință de vârf, a intrat puternic și cu mult succes în activitatea cotidiană umană, cu prioritate în domeniile industriale, economice, educaționale, și sociale, ajungând până în casele oamenilor, datorită rezultatelor benefice obținute, ca un principal element de progres în perspectiva informatizării societății. Dar a trecut timpurile când calculatorul a fost pur instrument de lucru; în zilele noastre calculatorul este un instrument puternic, dar în același timp este prietenul principal, care se stăruie să ne înțeleagă, poate se ne învețe ceva nou, se ne prevină în cazul efectuării unor operații incorecte și să se prezinte în modalitate ce depinde de noi.

Utilizatorul poate configura calculatorul în dependență de nivelul cunoștințelor și dorințelor sale prin componentele “hard” și “soft”.

Componentele “hard” răspund de viteza de lucru, posibilitățile fizice ale calculatorului, iar cele “soft” – de partea logică, care cuprinde toate programele, utilitele, driver-e, pachetele de program, între care și sistemul de operare.

Sistemul de operare este cea parte a “soft”-ului fără care practic nu este posibil lucrul calculatorului, deoarece sistemul de operare prestează cele mai principale servicii, între care lucrul cu fișierele, lucrul cu memoria (fizică și virtuală), sistemul de intrare/ieșire etc.

Există mai multe sisteme de operare, între care cea mai populară și accesibilă (dar nu și stabilă în lucru) este sistemul de operare Windows. Începând cu versiunea Windows 95, sistemul devine sistem de operare propriu zis, aducând cu versiunea nouă noi caracteristici, posibilități, metafore și interfață.

Interfața nouă a sistemului Windows este bazată pe metafora mesei de lucru – desktop. Această metaforă este caracteristică pentru majoritatea interfețelor contemporane deoarece permită de a opera cu fișierele ca cu niște coli de hârtie de diferite formate. Efectuând un dublu click pe orice document se deschide programul corespunzător. Fișierele de care este nevoie se găsesc pe masă, cele asupra cărora noi lucrăm sunt deschise (și la fel sunt pe masă), documentul curent poate fi maximizat – adus la suprafață, ocupând toată suprafața mesei, iar de celea de care nu mai avem nevoie sunt aruncate în coș de hârtii (recycle bin). Meniul principal permite accesarea tuturor programelor instalate pe calculator, accesarea documentelor deschise nu demult, accesarea programelor de configurare și căutare, sistemului de ajutor și de deconectare a computerului. Interfața sistemului Windows 95 este una din cele mai reușite interfețe, dar nu este ideală. Programatorii din firma Microsoft elaborând versiunile următoare ale sistemului, Windows 98, Windows ME, Windows 2000 și Windows XP, au lucrat asupra stabilității în lucru și posibilități, dar nu au uitat și de interfață.

Dacă versiunea 95 avea numai o singură temă a interfeței Windows 98 acuma permite utilizarea mai multor teme, diferite seturi de iconițe, permite utilizarea instrumentului nou numit “Quick Launch” – bara de acces rapid la aplicații și fisiere.

Versiunile Windows 98, Windows ME și Windows 2000 puțin diferă în interfață, deoarece folosesc aceleași elemente și chiar la prima vedere nu se diferă.

Versiunea Windows XP, a adus ceva nou în interfață. În această versiune există un număr mare de teme, există posibilitatea schimbării viziunii ferestrelor, ceea ce nu era posibil în versiunile anterioare (în afară de culori), există posibilitatea creării temelor proprii, meniul este organizat absolut diferit și are o formă nouă, este schimbat algoritmul de lucru al barei de aplicații – acuma toate aplicațiile de același tip (de exemplu mai multe ferestre a browser-ului) sunt unite într-un singur buton, la apăsarea căruia apare o listă din care putem selecta fereastra necesară.

Până la apariția versiunii Windows XP interfața sistemului nu a fost schimbată timp de mai mult de 5 ani, aceea ce a adus la dorință de a efectua lucrul ăsta. Astfel a apărut primele programe ce efectuează înlocuirea interfeței standarde Windows.

În lucrarea de față se face încercarea de a elabora o interfață alternativă Windows. Va fi descris programul elaborat, instrumentele necesare și informațiile necesare pentru efectuarea înlocuirii interfeței.

La fel vor fi descrise mai multe programe înlocuitoare a interfeței între care HoverDesk, Aston Shell, Talisman Desktop și LiteStep.

1. Informații teoretice

1.1 Definiția interfeței (shell)

Interfața grafică sau, mai bine zis, interfața grafică cu utilizator (GUI, altă denumire des utilizată este – Shell), este un termen cu înțeles larg care se referă la toate tipurile de comunicare vizuală între un program și utilizatorii săi. Aceasta este o particularizare a interfeței cu utilizator (UI), prin care vom înțelege conceptul general de interacțiune între un program și utilizatorii. Așadar, UI se referă nu numai la ceea ce utilizatorul vede pe ecran ci la toate mecanismele de comunicare între acesta și program.

Interfața este partea esențială a sistemului de operare. Shell-ul poate fi legat strâns de nucleul (kernel) sistemului de operare, astfel cum este în Windows sau slab – cum este Unix/Linux în care există două shell-uri: interpretator de comandă (ca în DOS dar cu mult mai performant), așa numit Shell și interfață grafică X Windows. (interfața X Windows la fel se împarte în două părți X Server și interfețele ca atare – adică aplicații obișnuite dar care execut funcția de shell).

1.2 Clasificarea interfețelor om-mașină

Clasificarea dată este făcute de mine în scopul de a sistematiza cunoștințele în domeniul dat și a simplifica lucrurile pe viitor în privința lămuririi unor termeni și noțiuni.

1.2.1 Interfețele textuale

Interfața dată este, practic, cea mai primă utilizată pe calculator. Dar și ele sunt împărțite în două subclase.

1.2.1.1 Modul dialog

Modul dat de lucru este cel prim mod elaborat de programatori care presupune cunoașterea unui număr mare de comenzi, parametri etc. În modul dat sistemul extrage un semn ce indică că el este pregătit de a recepționa comenzile introduse de utilizator, utilizatorul introduce comanda după ce sistemul încearcă să o interpretează; după executarea comenzii sistemul iarăși indică că este disponibil pentru introducerea comenzii următoare.

1.2.1.2 Modul de ecran plin (Full Screen)

Acest mod a apărut ca extensie pentru modul descris mai sus și a adus o interactivitate între om și sistemul. Un reprezentant tipic al acestei interfețe este bine cunoscutul Norton Commander, care fiind un înveliș (shell) lasă la dispoziție toate facilitățile ale sistemului DOS și în plus permite utilizarea celor posibilități vizuale cum ar fi: meniurile, butoanele, panele de dialog etc. Denumirea sa au primit din cauza utilizării totale a spațiului ecranului.

1.2.2 Interfețele grafice

Interfețele grafice au apărut mai târziu, cu dezvoltarea posibilităților tehnicii de calcul, dar pe calculatoare super au avut o răspândire largă și mai înainte. Interfața grafică permite utilizarea obiectelor grafice, cum ar fi meniuri, butoane, ferestre, boxe de editare și selecție, imagini grafice, permit utilizarea diferitor fonturi și mărimi diferite ale lor. Reprezentant cel mai cunoscut este interfața sistemului de operare Windows. Dar această interfață, fiind de-acuma aproape standard de facto nu este unic. Există un număr mare de sisteme de operare care au interfețele lor analogice. De exemplu interfețele sistemului de operare Linux (care are, în distributivul său standard două interfețe: KDE, Gnome). Imaginile acestor interfețe sunt prezentate în anexe.

În lucrarea dată vor fi cercetate programe ce efectuiază înlocuirea parțială sau totală a interfeței standarde a sistemului de operare Windows. Trebuie de înțeles faptul că acestea programe schimbă nu numai imaginea de fond și iconițele dar (în majoritatea cazurilor) și meniul, bara de aplicații executate (taskbar), panelul de mini aplicații (systray).

Clasificarea dată mai jos este subiectivă, deoarece eu îmi expun părerile mele față de programele de acum existente, dar în mare parte această clasificare caracterizează starea curentă pe piața produselor de felul dat.

1.2.2.1 Fun-shells

Sunt shell-uri – copii a altor sisteme de operare, cum ar fi Macintosh, NextStep, Sun Solaris, Amiga etc. Aceste shell-uri sunt lipsite de fantezii, dar, deoarece vin din diferite sisteme de operare, aduc niște idei noi, ce nu sunt realizate în Windows sau realizarea lor nu este atât de reușită.

Aceste shell-uri vor fi enumerate, și unele din ele descrise mai detaliat.

1.2.2.1.1 NextStep fun-shells

LiteStep (http://www.litestep.com);

HoverDesk (http://www.hoverdesk.net);

OpenView (http://openview.magic-badger.net.au)

IconDoc (www.forthrt.com/~everblue/winstephome.htm);

Cele mai reușite programe din cele sus indicate, după părerea mea este proiectul LiteStep și HoverDesk.

LiteStep efectuează înlocuirea completă a shell-ului Explorer, conține toate abilitățile interfeței standard, cum ar fi: taskbar, systray, analog al meniului Start, desktop cu toate iconițele standarde și utilizator. În plus la cele sus indicate se include manager de ferestre virtuale (4), miniprograme în systray, posibilitatea modificării, conținutului meniului, posibilitatea utilizării skin-urilor și temelor, extensibilitate extraordinară, ce se bazează pe tehnologia plug-in, adică biblioteci DLL, organizate într-un mod anumit.

Funcționalitatea LiteStep este bazată pe o concepție simplă dar puternică – concepție de modularitate. Fișierul principal al shell-ului practic execută numai încărcarea modulelor necesare, care sunt scrise în parte pentru fiecare abilitate. Modulele conțin câte o funcție cu același nume, de exemplu LoadModule, care execută înregistrarea serviciului necesar și execută funcțiile sale de destinație. Deoarece denumirile la funcții este aceeași, funcțiile pot fi apelate pe rând din toate modulele, prin legarea lor cu variabile de tip funcție. Pachetul LiteStep conține un fișier cu denumire step.rc care conține toate informații de configurare a pachetului. De aici și neajunsul major: pentru configurare e necesar de editat fișierul dat (dar pe site-ul oficial a organizației ce se ocupă de proiectul este publicată informația în privința elaborării unui nou modul ce ar permite configurarea vizuală a parametrilor shell-ului). În acest fișier se indică ce module vor fi încărcate, unde se găsește directorul al pachetului, culorile diferitor elemente grafice, imaginile utilizate ca butoane sau ca imaginea de fond etc. Dacă programul este executat în mod obișnuit (nu în funcție de shell), apare mesajul de prevenire, dar este posibilă executarea programului și pe deasupra la interfața obișnuită.

În afară de cele sus indicate pachetul mai conține utilitare pentru crearea și administrarea temelor (themes) și pentru administrarea interfețelor (ShellChanger).

Dezavantaje:

configurarea se execută manual;

des apar erori;

absența ajutorului (help) calitativ;

Hoverdesk la fel efectuiază shell replacement, dar poate fi folosit împreună cu explorer. Are o interfață plăcută, intuitivă și comodă, conține mecanismul de ferestre virtuale, taskbar, panel de informare a încărcării procesorului, folosirii memoriei, și a fișierelor temporare, panel de acces rapid la aplicații, panel informativ ce prezintă ora în diferite puncte ale lumii, meniu, conține posibilități de create a temelor, a butoanelor și configurarea lor (legarea lor de aplicații sau de funcții interne a sistemului sau a shell-ului), susține plug-in-uri. Meniul principal se diferă de cel al sistemului prin faptul că necesită apăsarea butonului mouse-ului pentru a deschide un submeniu, dar această opțiune poate fi setată după dorință. În plus punctele meniului pot fi editate, adaugându-se orice puncte. Configurarea se face prin mijloace vizuale și nu necesită editarea fișierelor de configurare.

Dezavantaje:

nu este atât de intuitiv ca explorer;

meniul se activează apăsând butonul drept al mouse-ului pe suprafața desktop-ului, ce nu este comod când sunt prezente aplicații cu ferestre maximizate;

aceea că programul fiind try only necesită înregistrarea după termen de expirare, ce servește ca o dovadă a calității programului.

Într-adevăr, lucrând cu acest program, nu a avut loc nici o blocare sau erori. Are un ajutor (help) complet (in limba engleză). Imaginea programului dat puteți vedea în anexă.

OpenView program scris în limbajul TCL, care, fiind interpretator, se execută foarte încet, deci acesta este neajuns major. Interfața este plăcută, dar nu prea comodă.

IconDoc în general nu poate fi numit shell deoarece nu face nici un fel de înlocuire. Programul dat extrage un panou care conține butoane ce acces la aplicații și atât.

1.2.2.1.2 Macintosh fun-shells

MacView (http://members.aol.com/JMB1984/MacView);

WinMac (http://home.hkstar.com/~ritchie/winmac.html);

Diferența între aceste două programe este minimă. Ambele au câte un panel în partea de sus al ecranului, aceleași puncte al meniului și ambele nu au nimic ce mi-ar interesa într-adevăr. MacView totuși este puțin mai reușit, deoarece panelul său este în regim on top, mai are un meniu obișnuit (analog Windows Start Menu).

Amiga:

Workbench’95 (http://www.geocities.com/SiliconValley/Lakes/7094/index3.htm)

Programul dat nu poate fi utilă pe calculator, deoarece nu are nici un fel de abilități calitative. Este emulată interfața sistemului Amiga cu interfața anilor 80. Ea, mai repede, poate fi folosită pentru prezentarea istoriei dezvoltării interfețelor grafice, dar nu a necesităților contemporane, dar în orice caz poate fi folosită, deoarece nu se blochează și lucrează stabil, fără erori.

1.2.2.2 Tehnologia skins și thems

Windows modifier (modificatorii Windows)

Aceste programe pot fi caracterizate prin cuvântul fantasy (fantezii). Aici vor fi prezentate programe neordinare, neobișnuite, atrăgătoare prin design și decizii extravagante cum ar fi, de exemplu, interfața 3D.

1-st Impression ( http://www.gromada.com);

Talisman (http://www.lighttek.com);

Aston Shell (http://www.astonshell.com);

3dTop (http://www.3dtop.com);

Programul 1-st Impression este freeware, deci poate fi distribuită absolut gratis, de a folosi în timp nelimitat, și de a crea copii fără limită. După instalare (acest proces este foarte simplu) se deschide fereastra aplicației și se începe procesul de “înfrumuțișare” a sistemului.

Butonul Add apelează o altă fereastră unde putem adăuga în baza de date noi imagini, de orice format, adică nu e nevoie de convertit fișierele, nici de a le copia, deoarece programul ține minte adresa fișierelor, din această cauză la lichidarea oricăror fișiere, pot apărea erori.

Baza de date poate conține un număr nelimitat de adrese ale fișierelor. După adăugarea tuturor fișierelor necesare, se trece la următorul pas – setarea (legarea) imaginilor de elementele interfeței.

Pot fi alese imaginile pentru:

imaginea la încărcarea sistemului de operare;

imaginea la finisarea lucrului sistemului de operare;

imaginea de fond în timpul lucrului;

Opțiunea Shuffle este destinată pentru a efectua alegerea aleatoare a imaginilor sus indicate. Și a rămas ultima opțiune (Options) – servește pentru a indica ce inscripții trebuie să apară în regimuri diferite, cum să folosească imaginile – în mărimile sale originale sau a le întinde pentru a acoperi totul ecranul. Aici mai poate fi restabilită toată configurația originală ale sistemului Windows, dar aceasta opțiune se folosește rar.

Și ultimă, 1-st Impression – e un program foarte stabil, și nu aduce la blocarea sistemului nici parțial nici în întregime.

Programul Talisman nu este pur și simplu program ce schimbă imaginile în sistem, dar este un shell adevărat, deoarece efectuiază înlocuirea completă a interfeței Explorer. Programul dat are de acuma o istorie comparativ lungă. Pentru prima dată acest product a apărut în anul 1998. Posibilitățile programului sunt practic nelimitate, încât multe din ele nu sunt folosite complet. De exemplu, pe desktop putem crea obiecte de orice formă și să-i atribuim orice funcție internă sau a sistemului de operare. Elementele reacționează nu numai la click ci și la mișcarea mouse-ului deasupra sa, apăsării tastelor de scurtcircuitare (hot keys), astfel pot fi înlocuite shortcut-urile sistemului prin orice element grafic sau textual și, ce este foarte interesant nu neapărat ca elementele să fie vizibile. Toată informația legată de obiectele și operații asociate se conține în fișierele de temă, și deci, pot fi reconfigurate la dorința utilizatorului. Această flexibilitate este datorită faptului că pachetul conține un limbaj script intern și comenzi interne, numărul cărora crește de la un release la altul.

Dacă în Windows panelul de programe efectuate, este legat strâns de o margine a ecranului în Talisman panelul dat poate fi plasat în orice loc cu ajutorul mouse-ului. La fel este organizat și systray. Fiecare buton (task, systray program, buton obișnuit, punct al meniului) folosește trei imagini pentru trei stări: obișnuit, activ, semi-activ (highlight). În plus la cele sus indicate mai există următoarele elemente: panel de acces rapid la aplicații, și (ce este absolut nou) rândul de comandă (în Windows trebuie de apelat la meniu Start, Run).

Comenzile interne ale programului:

taskmenu

foldermenu

programs

desktop

documents

favorites

start

quicklaunch

menutop

menubottom

about

menuright

menuleft

quit

minimize

shutdown

moved

closeform

showdesktop

open

home

desktop

programs

documents

run

findfile

Go to form XXX

Popup form XXX

Cum se vede, aceste funcții acoperă orice operație ce e necesar de efectuat.

Talisman susține tehnologia skin ceea ce permite de a utiliza un număr mare de teme diferite, putem utiliza tema creată de alt cineva sau de a crea tema sa. Pentru aceasta trebuie de trecut în regim de editare, de a selecta elementul ce trebuie schimbat, apare fereastra în care putem introduce caracteristici noi, după ce salvăm tema. Tema poate fi creată de la zero, dar în acest caz e nevoie de puțină răbdare și de talent de designer.

Neajunsuri:

unicul neajuns pe care l-am detectat este acela că programul în meniul său principal prezintă numai programele ale utilizatorului activ (Windows NT sau 2000), dar nu deschide directorul All User. În sistemele Windows 95, 98, ME această problemă nu are loc.

Iar alt neajuns este acela că Talisman utilizează un volum de memorie cu mult mai mare ca Explorer și, deci nu este prea rațional de al folosi în configurația slabă a calculatorului.

AstonShell – este un shell complet, execută înlocuirea completă a interfeței Windows, are toate elementele standarde: Desktop, Meniu, Systray. Sistemul pe care este instalat Aston Shell se recunoaște de la prima vedere: toate elementele sunt la locurile lor, dar nu sunt de aceeași formă, mărime, culori și nu reacționează astfel ca în Explorer. În plus, conține și niște elemente nestandarde: barele de acces rapid la aplicații și utilitare; aceste bare reacționează la fel cum taskbar în regim AutoHide. Aducând mouse-ul la marginea acestor bare, are loc activarea lor și deci apariția pe ecran, altfel ele se găsesc în afara suprafeței de ecran.

Unele caracteristice ce diferă acest product de celelalte și de explorer:

reacționează la apăsarea tastei Win (ce este interesant, meniul apare în poziția cursorului mouse-ului, ce evită deplasarea acestuia la colțul ecranului);

pachetul conține utilită de schimbare a interfețelor – Shell Swapper – ce permite schimbarea interfeței Explorer – Aston timp de câteva secunde;

configurarea detaliată a fiecărui element al interfeței;

iconițele de mărimi forme și formate diferite (se are în vedere formatele grafice a fișierelor: bmp, gif, jpg, png etc.);

taste de scurtcircuitare (hotkeys);

susținerea temelor și plug-in-urilor (între care și ale lui LiteStep);

susținerea tehnologiei Drag and Drop;

și multe altele;

Pug-in-uri ce intră în pachetul Aston Shell:

Skin ClockEx – modului de lucru cu skin-uri pentru ceasornicul inclus;

CPU Monitor – monitorizarea procesorului;

Aston Command Line – linia de comandă ce permite apel la orice resurse (fișiere, mape, aplicații, comenzi ale sistemului etc.);

Desktop panel – prezintă iconițele ce se găseau pe desktop în forma de meniu de acces rapid la programe (quicklaunch);

Task Terminators – modulul ce permite finisarea oricărei aplicații;

Window on top – modului cu ajutorul căruia putem schimba parametrul ferestrei pentru al trece în regim tot timpul deasupra (Always on top);

Clipboard Viewer – modulul ce permite vizualizarea conținutului memoriei, de transfer;

Wallpaper Changer – modulul ce efectuează schimbarea imaginei de pe desktop la un timp anumit, indicat de utilizator;

Are un editor specializat foarte intuitiv de proiectarea a temelor;

Alte;

În comparație cu Talisman este foarte economisitor, și după informațiile producătorilor, lucrează și pe un calculator 486 cu 8Mb memorie stabil; nu încarcă procesorul în background, ocupă puțină memorie, este foarte stabil în lucru;

Unicul neajuns care nu poate fi numit neajuns este acela că versiunea ShareWare nu permite de a folosi mai mult de 10 elemente, pe un suport (pe desktop de exemplu);

Imaginea acestui program ca și majorității sus indicate sunt date în anexă.

3dTop – este un program cu o idee absolut nouă! În acest shell se încearcă de a trece la reprezentarea interfeței în trei dimensiuni. Nu putem spune că această încercare este reușită deoarece nu este comod de lucrat cu ferestre 2D și interfață 3D, dar totuși putem spune că este comparativ rapid (utilizează standardul OpenGL), există taskbar-ul animat, systray, desktop plat, becuri pentru iluminare. Se poate seta diferite imagini pentru împrejurări și desktop. Este posibilitate de crea obiecte ce servesc ca cameri, în care pot fi stocate informații (fișiere). Pe viitor, când și aplicațiile vor susține 3D, după părerea mea, și interfețele sistemelor de operare vor trece la această abstractizare. Acuma acest program prezintă interes pur științific, dar nu practic.

1.2.2.3 Îmbunătățitorii Windows

În această clasă intră programele ce sunt destinate schimbării formei ferestrelor altor aplicații. Deci ele nu schimbă desktop-ul, taskbar-ul, systray și meniul, dar numai forma ferestrelor.

Windows Blinds (http://www.windowblinds.net);

Window Pictures (http://www.windowpictures.com);

Windows Blinds – un pachet de programe ce permite de a schimba forma ferestrelor și legarea unor fișiere sonore de operații indicate, folosind pentru aceasta un număr mare de skin-uri, ce sunt distribuite pe Internet. În plus este posibilă schimbarea stilului butoanelor, barelor de derulare și a altor elemente de interfață. Cu ajutorul acestui pachet noi putem să folosim, de exemplu interfața MacOS sau Sun Solaris sau Linux KDE sau Gnome, sau orice altă interfață, chiar și creată de utilizator. Pachetul conține un program de configurare ce permite de a exclude unele programe din prelucrarea standardă. De exemplu, nu e prea bine de a schimba interfața al programului WinAmp deoarece el singur susține tehnologia skin. Sau poate oricare program lucrează instabil în combinație cu acest pachet, sau pur și simplu dorim pentru o aplicație oarecare o interfață standardă. Astfel sunt rezolvate orice conflicte între aplicații. Între skin-urile standarde este și skin-ul pentru Windows XP, astfel putem instala această interfață nouă chiar și pe Windows 98.

În plus pachetul nu numai schimbă forma ferestrelor ci și permite de a extinde funcțional posibilitățile acestor ferestre. Bara de titlu, de exemplu, poate conține ceasornicul, butoanele de scrolling și de fixare a ferestrei în regim “Always on top”, panele de dirijare cu alte programe, cum ar fi, panelul programului WinAmp etc.

Windows Pictures – este un program ce permite setarea imaginilor pentru orice element al interfeței: fundal al ferestrei, marginile ferestrelor, barele de derulare, butoane, meniuri, bară de titlu etc. Programul este stabil în lucru, simplu și intuitiv în configurare și, pentru clasa dată de aplicații, destul de rapidă. Neajunsul major se urmărește la folosirea fișierelor grafice de mărimi mari, are loc încetinirea vitezei de redesenare a ferestrelor.

1.3 Descrierea mecanismului de înlocuire a shell-ului

Mecanismul de înlocuire se bazează pe faptul că interfața sistemului Windows este un program aparte numit “Explorer”. Acest program are mai multe caracteristici între care, posibilitatea încărcării în modul obișnuit (cunoscutul Windows Explorer) și modul special – ca interfață (toate elementele obișnuite de lucru – desktop, meniul start, bara de task-uri, bara de acces rapid la aplicații – Quick Launch și bara de aplicații ascunse, regiunea ceasornicului – Systray). Restul elementelor nu aparțin shell-ului – între care bara de schimbare a programului activ, ce apare la tastarea butoanelor Alt+Tab, Alt+Shift+Tab, managerul de task-uri – apare la tastarea butoanelor Ctrl+Alt+Del.

Astfel, dacă se face înlocuirea shell-ului o parte esențială a interfeței rămâne activă.

Selectarea shell-ului se efectuază în dependență de informația care se găsește în fișierele de configurare șau în registru de sistem, în dependență de versiunea sistemului.

Pentru platforma win95 (Windows 95, Windows 98, Windows ME) aceste informații se găsesc în fișierul system.ini, iar pentru platforma NT (Windows NT4, Windows 2000, Windows XP) – în registrul de sistem pe adresa:

HKEY_LOCAL_MACHINE\SoftWare\Microsoft\WindowsNT\CurrentVesrion\Winlogon

Și în fișier și în registru de sistem există un parametru numit “shell”. De obicei acest parametru este setat ca Explorer.exe.

System.ini

. . . . . . . . . . .

[boot]

oemfonts.fon=vgaoem.fon

shell=Explorer.exe

system.drv=system.drv

Astfel pentru înlocuirea interfeței standarde e destul de schimbat acest parametru și de a reinițializa sistemul de operare. După reîncărcarea totul se execută la fel, se cere parola, dacă este setat modul corespunzător, s-e încarcă programul setat ca shell și atât. În cazul că programul setat ca shell nu e destinat în special pentru acest lucru nu sunt încărcate toate serviciile, programele etc. ce se încarcă automat.

Un pachet bun de programe trebuie numai decât să includă și un program special de dezinstalare. În cazul nostru acest program trebuie să permită restabilirea stării inițiale a sistemului, adică să înscrie înapoi în locul său valoarea prestabilită Explorer.exe.

Ca shell poate servi orice program Windows, chiar și fără interfață grafică (de exemplu cunoscutul Far). Dar trebuie ținut cont de faptul că la finisarea programului shell utilizatorul nu va putea efectua practic nici o operație. Astfel programul înlocuitor trebuie să poată finisa sesiunea de lucru a sistemului de operare. Este bine dacă la încercarea închiderii să apară meniul standard de încheiere a sesiunii de lucru. La fel va fi foarte bine dacă shell-ul va permite selectarea unui din shell-uri: cel standard și cel nou. Aceasta se lămurește că totuși interfața standardă este mai universală și este scrisă în special pentru sistemul Windows, astfel având la dispoziție tot necesarul pentru efectuarea tuturor operațiilor posibile.

2. Proiectarea structurii interfeței

Ca prim pas al proiectării vom da nume shell-ului: “My House Shell”. Această denumirea caracterizează utilizatorii principală ai shell-ului, deoarece destinația lui este, în special, utilizarea în condițiile de casă.

Proiectarea oricărui obiect presupune determinarea sarcinii de lucru, după care se efectuează toate lucrările de elaborare și cercetare.

2.1 Analiza sarcinii pentru proiectul de diplomă

Efectuând cercetările, rezultatele cărora sunt expuse în lucrarea dată, a rămas să determinăm caracteristicile principale, de care are nevoie un shell contemporan:

Un desktop;

Un taskbar;

Un systray;

Meniu principal (analog – Start Meniu);

Susținerea tehnologiei skin;

Instrumentarul pentru crearea skin-urilor proprii;

Un shell changer;

Reieșind din cele expuse, pentru diplomă, sunt alese următoarele sarcini:

Crearea destop-ului;

barei de task-uri;

meniu;

încercarea utilizării tehnologiei skin;

shell changer (opțional).

Sarcina dată cuprinde majoritatea elementelor standarde ale interfeței Windows. Se pune sarcina de a se lămuri în mecanismele sistemului de operare, sistemului de fișiere, elementele metaforei, mecanismului de mesaje, profilurile (pentru platforma NT) etc. La fel se pune sarcina de a crea unu, două skin-uri ce ar permite prezentarea mecanismului dat. Skin-urile trebuie să fie maxim diferite de interfața standardă, ce ar permite observarea imediată a diferenței shell-ului elaborat de interfața standardă Windows.

Se mai pune sarcina de a elabora un sistem de ajutor (help) pentru simplificarea studierii pachetului.

2.2 Alegerea instrumentarului

Deoarece instrumentarul meu preferat este pachetul de programare vizuală “Delphi” pentru scrierea programului va fi folosit acesta, fiind mai simplu pentru mine, mai puțin strict la sintaxă în comparație cu C și fiind foarte accesibil, deoarece este bazat pe limbajul de programare Pascal. În plus, acest pachet permite de a crea o interfață fără a scrie nici un rând de cod, numai selectând elementele necesare.

Lucrarea dată nu este destinată descrierii pachetului dat, dar vrea să indic faptul că elaborarea oricărei programe cu ajutorul acestui pachet timpul necesar pentru elaborarea ei se micșorează de multe ori. Acest fapt se datorează posibilității creării interfeței fără a executa compilarea proiectului.

Mediul de programare Delphi este originală și se diferă de orice program obișnuit Windows. De exemplu, Borland Pascal for Windows 7.0, Borland C++4.0, Word for Windows – toate acestea programe sunt de interfață MDI (Multi Document Interface) și din această cauză și se diferă de Delphi.

Delphi este scris după specificația SDI (Single Document Interface) și constă din mai multe ferestre, ce sunt aranjate în mod dorit.

Mai jos sunt numerotate părțile principale pachetului Delphi:

Form Designer

Editor Window (Editorul de cod)

Component Palette

Object Inspector

On-line Help (sistemul de ajutor)

Există și alte elemente esențiale, cum ar fi sistemul meniurilor, Project Manager, etc.

Form Designer – este atât de intuitiv și simplu că crearea interfeței unei aplicații se transformă într-un lucru lipsit de monotonie și devine un joc în care răspunzând corect primim un element corect aranjat. Inițial forma nu conține nici un element în afară de cele predefinite de sistemul Windows: cum ar fi: meniul de sistem și butoanele de minimizare, maximizare și închidere.

Cât de frumos și accesibil este designer-ul majoritatea timpului programatorii lucrează totuși cu fereastra de editarea a codului, în care se introduc corpurile tuturor funcțiilor scrise de programator. Dacă este nevoie de unele variabile în program programatorul este nevoit să le introducă manual, dar toate elementele ce țin de interfață fiind pur și simplu puse pe formă nu trebuie introduse deoarece Delphi singur face lucrul ăsta.

Palitra de componente este cea parte a ferestrei principale care permite selectarea componentei necesare și plasarea ei pe formă. Palitra conține mai multe pagini de componente ce permite gruparea lor în dependență de destinația lor. Vezi Fig .1.

Fig. 1. Bara componentelor vizuale mediului de programare Delphi

Cu ajutorul mouse-ului pot fi selectate orice componente după ce e necesar de a efectua un click pe formă. Componenta a fost adăugată la proiect. Utilizarea componentelor standarde permite accesarea majorității instrumentelor Windows, de care este nevoie, astfel ca: ferestre, butoane, meniuri, forme de dialog, mesaje, liste, editoare, bare de instrumente, timer-e, componente de acces la baze de date, componente scrise în special pentru Internet, componente de lucru cu grafica, componente de lucru cu formatele răspândite de grafică, instrumentar de acces la fișiere, GDI, etc.

Dacă nu sunt de ajuns componente standarde există posibilitatea scrierii componentelor sale și instalarea lor în pachet. (Trebuie ținut cont de faptul că în cazul scrierii componentelor nu pot fi folosite elemente de programare vizuală).

Această posibilitate permite extinderea posibilităților pachetul de programare nesfârșit.

Din partea stânga de la formă și editor se găsește Inspectorul Obiectelor. Vezi Fig.2. În dependență de obiectul selectat se schimbă și conținutul inspectorului.

Fig. 2. Inspectorul obiectelor

Se văd foarte clar avantajele acestui instrument. Object Inspector are două despărțituri: Properties – proprietăți și Events – evenimente.

În proprietăți nu e necesar de scris nimic numai de a selecta din valorile predefinite sau de a introduce datele caracter sau numere.

În despărțitura evenimente sunt prezentate proprietăți – evenimente, care pot fi inițializate sau nu.

În cazul inițializării (dublu click) Fig. 3 în fereastra sursei programului automat se generează corpul rutinei în care programatorul introduce codul prelucrării evenimentului.

În plus pentru fiecare componentă există câte o funcție ce este delegată, adică evenimentul care se produce cel mai frecvent.

Fig.3. Fereastra editorului sursei programului

De exemplu pentru buton evenimentul delegat este “OnClick” – evenimentul apăsării butonului. Astfel, pentru evenimentele delegate nu e necesar selectarea lor din Object Inspector ci numai un dublu click pe componentă.

Și în sfârșit ultimul element esențial este sistemul de ajutor Delphi, care poate fi accesat prin meniu sau tastând butonul F1. În cazul când avem nevoie de niște informații concrete legate de o componentă sau de o funcție este posibilă accesarea informației legate prin tastarea Ctrl+F1.

În afară de elementele descrise mai sus în Delphi sunt incluse un meniu ce permite accesarea tuturor posibilităților mediului, panel de acces rapid la funcțiile meniului și editorul de resurse, debugger, compilator din rând de comandă, Watch list – instrument ce permite scanarea valorilor variabilelor în timpul prelucrării proiectului cu debugger-ul.

Elementul principal al oricărui program Windows este fereastra. În Delphi la fel primul element ce automat se generează pentru orice proiect este forma – prototipul ferestrei, pe care pot fi puse toate celelalte componente.Vezi fig. 4.

Fig. 4. Forma – elementul de bază a proiectului

Se vede foarte bine elementele selectate de programator. Fiecare element este setat cu niște valori. Este selectat un editor, organizat meniul, un buton, o imagine, un timer și un dialog de deschidere a unui fișier.

Delphi este un mediu foarte bogat în componente, între care componente vizibile și nevizibile, componente de acces la baze de date, componente de lucru cu Internet și rețea, SQL, componente pentru startarea serviciilor programelor externe cum ar fi Word for Windows, componente de creare a rapoartelor, componente de lucru cu grafica și diagrame etc.

Producătorii pachetului au încercat să ascundă de la programatorii tot ce ține de rutină, sau ceea ce nu e esențial. Dar aceasta nu înseamnă că nu există posibilitate de a programa fără a folosi elementele vizuale ale mediului. De aici și neajunsul major al mediului dat. Un program minimal ocupă în jur de 300 kB deoarece sunt introduse în el toate valorile implicite, sunt prelucrate toate evenimentele standarde și sunt puse toate resursele (ele sunt generate de mediu). Dar la creșterea numărului liniilor de cod volumul programului crește cu mult mai puțin.

Orice program scris în conformitate cu specificațiile sistemului de operare și limbajului Object Pascal va fi compilat și executat normal.

În plus aceste două metode de programare pot fi combinate. Astfel pentru desenare pe formă pot fi folosite două metode:

utilizând metodele mediului (evenimentul onPaint și funcția corespunzătoare plus componenta Canvas, ce permite desenarea).

utilizarea identificatorului ferestrei (Handler) și metode obișnuite de desenare prin GDI.

La fel stau lucrurile și pentru toate celelalte evenimente posibile. În cazul programării evenimentului său – la fel nici o problemă, se definește o funcție cu modificatorul message ce indică că funcția dată va fi apelată la apariția evenimentului indicat. Exemplu:

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

procedure MyMessageHandler(var Msg : TMessage); message WM_User+1;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

SendMessage(Form1.Handle,WM_USER+1,0,0);

end;

procedure TForm1.MyMessageHandler(var Msg: TMessage);

begin

MessageDlg('My event !!!!', mtInformation, [mbOK], 0);

end;

end.

Există și posibilitate de a prelucra toate evenimentele în modul caracteristic mediilor de programare nevizuale. Exemplu 2.

procedure TForm1.FormCreate(Sender: TObject);

begin

Application.OnMessage:=AOM;

end;

procedure TForm1.AOM(var Msg: TMsg; var Handled: Boolean);

begin

Handled:=False;

if Msg.Message = WM_LBUTTONDBLCLK then begin

MessageDlg('Double click.', mtInformation, [mbOK], 0);

Handled:=True;

end;

end;

Ca și în orice limbaj contemporan în Delphi există mecanism de prelucrare a situațiilor excepționale. Nu e neapărat de a prelucra situațiile excepționale, deoarece Delphi singur propune prelucrarea lor. Însă in cazul dat prelucrarea are loc în mod standard. Dacă este necesară o prelucrare nestandardă, sau se dorește extragerea mesajelor în limbă diferită de cea engleză e necesar de a inițializa mecanismul de prelucrare a situațiilor excepționale în mod manual.

Prelucrarea standardă presupune verificarea rezultatelor întoarse de funcțiile apelate sau a unor variabile globale; această modalitate este bună în viteză, dat este destul de voluminoasă și neintuitivă. Prelucrarea situației excepționale se execută la nivelul funcției ce apelează funcțiile ce pot genera situațiile excepționale. În cazul că situația dată nu este descrisă în funcția dată, se trece la nivelul superior. Și așa recursiv până la nivelul maximal – aplicație. Prelucrarea dată este caracterizată prin faptul că așa o modalitate de prelucrare cere mai puțin timp pentru elaborarea programului, deoarece există un singur loc unde se execută prelucrarea situațiilor excepționale, sursa devine mai citabilă.

Modelul prelucrării situațiilor excepționale ale mediului Delphi este nereturnabil, adică nu există posibilitate de întoarcere în punctul unde s-a generat excepția. Există și modele cu întoarcere, dar aceste modele necesită salvarea a volumului mare de date temporare, este mai complicat pentru elaborare și mai puțin eficient în viteză de prelucrare. Situațiile excepționale au loc destul de rar, din această cauză producătorii limbajului Delphi au decurs la folosirea metodei fără întoarcere.

Exemplu:

try

Statement 1;

Statement 2;

except

on Exception1 do Statement;

on Exception2 do Statement;

else

Statements; {default exception-handler}

end;

Astfel sunt prelucrate situațiile excepționale. Există și o altă construcție ce ține de prelucrarea situațiilor excepționale: finally – se execută în orice situație, a avut loc excepția sau nu. Aici de obicei sunt eliberate resursele care au fost ocupate în blocul try. Exemplu:

var Bit : TBitmap;

begin

try

Bit:=TBitmap.Create;

Bit.LoadFromFile('c:\recycle.bmp');

Button1.Glyph.Assign(Bit);

finally

Bit.FreeImage;

end;

end;

Ca ultima frază la acest capitol vreau să spun că mediul de programare vizuală Delphi este unul din cele mai reușite medii de programare (după părerea mea). Se știe că producătorii (Inprise Corporation atunci se numea Borland) au avut probleme mari în privința producerii compilatoarelor pentru Windows, dar se poate spune că cu apariția acestui mediu corporația și-a întors pozițiile sale pe piață.

Toate caracteristicile descrise mai sus sunt și în alt produs elaborat de Inprise – C Builder. Acest mediu la prima vedere este identic cu Delphi, însă, aici ca bază se folosește limbajul C++.

Alegerea mea este condiționată de faptul că primele mele încercări de programare sub Windows eu le-am făcut în mediul dat și, fiind foarte impresionat de simplitatea și calitatea acestui mediu, până acum prefer mediul dat de programare.

2.3 Elaborarea schemei proiectului

Ca element de bază a shell-ului va fi programul de încărcare a modulelor (Module Loader) – destinația căruia este de a găsi modulele (lista cărora se va găsi în fișierul de configurare) și de a le inițializa. Metoda dată se folosește pentru a putea extinde pe viitor posibilitățile shell-ului.

Dacă utilizatorul, într-un moment dat de timp, va dori să se întoarcă la interfața standardă, iar această posibilitate nu va exista, ei (utilizatorul) poată să se dezică de utilizarea acestui shell. Din această cauză e necesar de a elabora un selector de shell, ce ar permite la un moment dat de timp, schimbarea interfeței elaborate cu cea standardă. Astfel s-a determinat primul element al shell-ului.

Interfața standardă are următoarele elemente de bază: desktop-ul, taskbar-ul, meniul Start, Quick Launch, systray, un instrument rudimentar de selectarea temei.

Reieșind din cele existente voi încerca să elaborez aceleași elemente, dar elementele noi elaborate vor avea o altă imagine și alte caracteristici. Elementele interfeței trebuie să se comunice între ele pentru a putea transmite comenzile ce țin de toată interfață. Ca mecanism de transmitere se alege mecanismul vechi și foarte puternic, deoarece este cel folosit de sistemul de operare: sistemul de comunicare prin mesaje. Acest mecanism presupune cunoașterea identificatorilor tuturor elementelor interfeței. Cu părere de bine mediul de programare Delhpi, ascunzând pe cât e posibil mărunțișurile, lasă la dispoziția doritorilor posibilitatea prelucrării mesajelor în mod sus indicat. Fiecare componentă din Delphi, cum ar fi ferestrele, butoanele, meniurile, punctele meniului, imaginile, etc. are o proprietate numită “Handler” – care servește ca identificator unic. Utilizând acest identificator și funcțiile Windows-ului putem efectua practic orice operație dorită, între care și prelucrarea evenimentelor prin mesaje.

Elaborarea interfeței bune, în zilele noastre presupune folosirea mecanismului skin-urilor. Acest mecanism este destinat schimbării imaginilor elementelor interfeței și, în unele cazuri parametrii elementelor. De exemplu într-un skin bara de aplicații se găsește în partea de jos a monitorului, iar în alt skin – în partea de sus.

Începând cu versiunea Windows 98, interfața standardă include un instrument nou numit Quick Launch. Acest instrument este destinat accesului rapid la unele aplicații sau fișiere sau funcții interfeței. Aici se găsesc iconițele programelor și fișierelor des folosite și iconițele pentru unele funcții ale sistemului de operare, cum ar fi minimizarea tuturor ferestrelor deschise (Show Desktop).

Vom încerca să elaborăm un element identic, ce ar permite de a apropia posibilitățile shell-ului elaborat la cele a interfeței standarde.

2.3.1 Alegerea elementelor interfeței

În afară de încărcător se vor elabora următoarele elemente interfeței:

Selectorul shell-ului (Shell Selector sau Shell Changer);

Suprafața mesei de lucru (Desktop);

Meniul principal (analogul Start Meniului);

Bara de aplicații (Taskbar);

Bara de acces la aplicații (Quick Launch);

Mecanismul de lucru cu teme (Skin-uri);

Aceste elemente vor fi create astfel ca să nu fie asemănătoare celor standarde. În plus utilizarea skin-urilor va permite organizarea shell-ului în mod dorit. Coordonatele fiecărui element, cum ar fi bara de aplicații și bara de acces rapid la aplicații vor fi salvate în fișierul de configurare a skin-ului.

Astfel schema proiectului va fi următoarea: vezi Fig. 5:

Fig.5 Schema de proiectare a shell-ului

Reieșind din cele expuse putem formula următoarele legături dintre module:

Selectorul shell-ului apelează la încărcătorul modulelor, care la rândul său încarcă modulele; modulele la rândul său adresându-se la modulul de skin-uri încarcă acelea imagini care sunt propuse de acest modul.

La rândul său modulul de skin-uri poate să impună celelalte module să reîncarce imaginile în cazul când se cere schimbarea skin-ului curent.

2.3.2 Elaborarea specificațiilor funcțiilor standarde a modulelor

Este clar că fiecare modul trebuie să execute funcțiile sale, dar pentru a putea fi încărcate ele trebuie să includă și niște funcții standarde, specifice ce ar permite utilizarea aceleiași funcții pentru încărcarea modulelor de către încărcătorul modulelor. La fel lucrurile stau și cu descărcarea modulelor. Vom specifica aceste funcții. Vom numi aceste funcții LoadModule și UnLoadModule.

function LoadModule(Parent : Handle; DllInst : hInst; path : string):integer;

procedure UnLoadModule(DllInst : hInst;);

Acum vom încerca să lămurim principiul de lucru al încărcătorului:

pas 1. deschiderea fișierului de configurare;

pas 2. extragerea informațiilor, între care și cea legată de modulele ce vor fi încărcate;

pas 3. căutarea modulelor care au fost indicate;

pas 4. încărcarea modulului curent;

pas 5. căutarea funcției LoadModule în modulul încărcat;

pas 6. în cazul existenței acestei funcții apelul funcției (cu transmiterea parametrilor), în caz contrar descărcarea modulului și trecerea la următorul pas;

pas 7. trecerea la următorul modul (pas 4);

Astfel este realizată posibilitatea extinderii programului. Pentru aceasta e necesar de a crea un nou modul ce ar conține funcțiile LoadModule și UnloadModule, de a edita fișierul de configurare și de a copia modulul în directorul shell-ului și a impune shell-ul să se reîncarce.

Această metodă se folosește de majoritatea programelor extensibile. De exemplu Adobe Fotoshop folosește metoda dată pentru a utiliza plug-in-urile scrise de utilizatori. La fel lucrurile stau și cu Far și chiar Delphi, în care există posibilitatea creării componentelor sale, care trebuie să conțină funcția Register, cu ajutorul căreia și se efectuează includerea componentei în pachet.

3. Proiectarea în detalii

Proiectarea în detalii presupune descrierea amănunțită a fiecărui modul în parte. Astfel vom începe cu încărcătorul modulelor, care a fost parțial descris mai sus.

3.1 Proiectarea încărcătorului modulelor

Încărcătorul modulelor, fiind element de bază al interfeței, trebuie să deschidă fișierul de configurare al shell-ului aceasta se face cu ajutorul componentei standarde Windows – fișierele de inițializare. Delphi la fel permite utilizarea acestor fișiere, crearea, citirea din ele, scrierea etc. Pot fi scrise și citite datele de orice tip standard: întreg, real, boolean și string. Aceste operații se execută cu ajutorul funcțiilor ce sunt descrise în fișierul IniFiles.dcu al pachetului Delphi.

Var

s : TStringList;

Procedure LoadModules;

Var i : integer;

begin

s.Clear;

IniFile := TIniFile.Create(ChangeFileExt(ParamStr(0),'.ini'));

IniFile.ReadSection('Modules',s);

IniFile.Free;

for i:=0 to s.Count-1 do

begin

MyHandle:=LoadLibrary(PChar(s[i]));

try

@ModuleFunction:=GetProcAddress(MyHandle,'LoadModule');

ModuleFunction(Form1.Handle);

Except begin

ShowMessage('Error Opening File: '+s[i]);

FreeLibrary(MyHandle);

continue;

end;

end;

end;

end;

În fragmentul dat se arată cum se efectuează deschiderea fișierului cu numele ce diferă de numele programului numai prin extensie – ‘.ini’. Din fișierul dat se citesc datele din despărțitura “Modules”, după ce se încearcă apelarea funcției LoadModule din modulul curent. Deoarece apelul funcției se execută în interiorul construcției try exept în cazul apariției erorilor, ce pot avea loc din cauza absenței modulului sau absenței funcției sus indicate în modul sau erorii în fișierul de configurare. În cazul apariției erorii se va extrage mesajul. Vezi Fig. 6.

Fragmentul adus este pur un exemplu și în el nu sunt arătate, cum sunt citite restul parametrilor ce sunt încărcate din fișierul de configurare. Sursa completă a modulelor le puteți vedea în anexa 1.

Fișierul de configurare trebuie să conțină informații în privința modulelor în despărțitura “Modules”. Vom aduce un fragment de acest tip:

[Modules]

project1.dll =;

project2.dll =;

project0.dll =;

În exemplul dar sunt arătate ce module sunt încărcate. Valorile nu sunt atribuite deoarece specificația fișierelor .ini cere să fie utilizat în fiecare rând neinformațional simbolul =, dar valorile nu ne sunt necesare. Încărcătorul la fel trebuie să citească și toți ceilalți parametri al fișierului de configurare.

Modulul dat fiind primul încărcat (în afară de selectorul shell-ului) trebuie să execute niște funcții specifice interfeței, aceste funcții sunt:

executarea programelor ce sunt puse în punctul de meniu Start Up (sunt încărcate la încărcarea shellului);

executarea programelor ce sunt înscrise în registrul de sistem următoarele adrese:

Software\Microsoft\Windows\CurrentVersion\Run;

Software\Microsoft\Windows\CurrentVersion\RunOnce;

Software\Microsoft\Windows\CurrentVersion\RunServices;

Software\Microsoft\Windows\CurrentVersion\RunServicesOnce;

informația de pe adresele 2, 4 trebuie să fie distrusă, deoarece programele ce sunt indicate aici trebuie încărcate o singură dată.

Vom aduce fragmentul de program ce realizează executarea programelor ce sunt indicate în registrul de sistem:

procedure RunEntriesIn(Key:HKey;path:string);

var loop: integer;

Key1 : hKey;

rslt : longint;

NameBuffer: string;

NameSize,ValueSize:DWord;

ValueBuffer: array[1..255] of char;

pValueBuffer : pchar;

begin

SetLength(NameBuffer, MAX_PATH);

pValueBuffer:=@ValueBuffer[1];

if RegOpenKeyEx(Key,PChar(path),0,KEY_READ,Key1) = ERROR_SUCCESS then

try

Loop:=1;

while (true) do

begin

NameSize:=255;

rslt:=RegEnumValue(Key1,Loop,PChar(NameBuffer),NameSize,nil,nil,

PByte(pValueBuffer),@ValueSize);

if rslt=ERROR_NO_MORE_ITEMS then

break;

if rslt=ERROR_SUCCESS then

WinExec(PChar(pValueBuffer),SW_SHOW);

Loop:=Loop+1;

end;

finally

RegCloseKey(Key);

end;

end;

Fragmentul dat arată cum este deschis pentru citire registrul de sistem – RegOpenKeyEx, cum sunt citite valorile – RegEnumValue, cum sunt executate programele WinExec și cum este închis registrul de sistem – RegCloseKey.

La fel stau lucrurile și cu destrugerea valorilor înscrise în registru, dar puțin se modifică algoritmul și este necesar de a folosi funcția RegDeleteValue.

Puțin mai altfel stau lucrurile cu pornirea programelor din meniul Start Up. Cu ajutorul funcției SHGetSpecialFolderLocation primim calea spre orice obiect COM, între care este și punctul de meniu indicat. Primind calea și utilizând funcțiile FindFirst și FindNext găsim toate fișierele ce sunt pe adresa dată. Acum cu ajutorul aceleași funcții WinExec sau ShellExecute apelăm programele indicate.

3.2 Proiectarea desktop-ului

Mai menționez încă o dată că toate modulele trebuie să conțină funcțiile standarde pentru a fi încărcate de către încărcătorul modulelor.

În această funcție sunt efectuate lucrările de pregătire și de pornire a formei desktop-ului. Deoarece Delphi permite crearea modulelor (dll) și includerea formelor în module, forma desktop-ului este o simplă formă Delphi, care are niște caracteristici specifice:

forma desktop-ului numai decât trebuie tot timpul să fie cea mai de jos dintre toate ferestrele;

forma nu trebuie să conțină bara de titlu și mărgini;

forma trebuie să includă un mecanism de desenare pentru a putea deschide imaginea fundalului.

Prima caracteristică se realizează cu ajutorul funcției SetWindowPos: ce permite de a indica ferestrei să fie cea mai de jos în structura 3D a ferestrelor. Apelul funcției are următoarea formă:

SetWindowPos(Form1.Handle,HWND_BOTTOM,0,0,0,0,SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE);

Această construcție simplă permite de a obține scopul impus de prima caracteristică a desktop-ului. Următoarea caracteristică poate fi obținută prin două metode:

utilizarea posibilităților mediului de programare prin selecția tipului bsNone al parametrului Border Style al formei;

utilizarea tipurilor ferestrelor Windows cu ajutorul funcției setWindowLong;

ExtendedStyle:=GetWindowLong(application.Handle, GWL_EXSTYLE);

SetWindowLong(Application.Handle, GWL_EXSTYLE, ExtendedStyle or WS_EX_TOOLWINDOW);

Următoarea caracteristică poate fi realizată cu ajutorul componentei Canvas, ce aparține formei. Pentru a mări posibilitățile shell-ului a fost efectuat mecanismul dat astfel ca să găsească imaginea setată de Explorer. Informația despre imaginea setată se găsește în registrul de sistem pe adresa Software\Microsoft\Internet Explorer\Desktop\General\Wallpaper. Cu părere de rău mediul de programare nu conține mecanisme de deschidere a imaginilor în formate diferite de BMP.

Vom arăta cum are loc citirea acestei informații:

var INI : TRegistry;

path : string;

ext : string;

begin

INI:=TRegistry.Create;

INI.RootKey:=HKEY_CURRENT_USER;

INI.OpenKey('Software\Microsoft\Internet Explorer\Desktop\General',false);

path:=INI.ReadString('Wallpaper');

path:=Form1.dirSys[1]+':\'+copy(path,15,length(path)-14);

if path<>'' then

begin

ext:=copy(path,length(path)-2,3);

ext:=UpperCase(ext);

if ext = 'BMP' then image1.Picture.LoadFromFile(path);

else image1.Picture.LoadFromFile(ThemeDir+’\background.bmp’);

end;

end;

Restul sursei modulului Desktop este prezentat în anexă.

3.3 Proiectarea meniului principal

Elaborarea meniului principal se bazează pe căutarea și accesarea fișierelor în mapele speciale. Astfel pentru accesarea documentelor editate nu demult e necesar de a deschide mapa RECENT, în care automat sunt înscrise fișierele de legătură .lnk. Accesând aceste fișiere și executându-le automat se deschide aplicația corespunzătoare document. Pentru accesarea programelor se folosește același mecanism, se deschide fișierul de legătură, în care este informația despre plasarea fizică a aplicației. Se execută apelul acestei programe.

În afară de cele două puncte sus numite meniul va mai conține setările sistemului de operare și a shell-ului, punctul pentru căutarea fișierelor, punctul ajutorului și finisarea programului.

Vom aduce un fragment de program în care se execută căutarea fișierelor în directorul special

CSIDL_COMMON_STARTMENU

procedure TForm1.BuiltPrograms(DirPath:string;Parent:TMenuItem);

var i,j : integer;

item : TMenuItem;

ml : list;

begin

for i:= Parent.Count-1 downto 0 do

Parent.Items[i].Destroy;

ml:=ReadDir(DirPath,FaDirectory,'*.');

if length(ml)> 0 then

begin

for i:=0 to length(ml)-1 do

begin

InsertItemWithSub(Parent,ml[i],DirPath+'\'+ml[i]);

BuiltPrograms(DirPath+'\'+ml[i],Parent.Items[i+1]);

end;

end;

ml:=ReadDir(DirPath,not(FaDirectory),'*.*');

if length(ml)> 0 then

begin

for i:=0 to length(ml)-1 do

InsertItem(Parent,ml[i],DirPath+'\',1);

end

else InsertItem(Parent,'Empty','',0);

end;

În exemplul dat, care este o parte a surselor shell-ului elaborat de mine, este arătat cum sunt căutate fișierele din directorul special, care poate fi găsit cu ajutorul funcției sus indicate – SHGetSpecialFolderLocation. Apelând funcția dată primim ca rezultat calea spre mapa necesară, care se transmite funcției aduse ca exemplu. De la început se execută distrugerea elementelor vechi (necesită în cazul apariția unor elemente noi în meniu) după ce cu ajutorul funcției ReadDir care întoarce denumirile tuturor fișierelor găsite în mapa dată, implementăm meniul.

Pentru aceasta sunt folosite două funcții: InsertItemWithSub – creează submeniurile și InsertItem care creează punctele de meniu obișnuite. Deoarece în prima parte a algoritmului sunt căutate directoarele deci, acestea vor fi punctele de meniu cu subpuncte. În a doua porte a algoritmului sunt căutate fișierele obișnuite și ele sunt incluse în meniu ca puncte obișnuite.

În fig. 7 se vede rezultatul executării acestui modul, sunt citite toate directoarele recursiv, nu apar extensiile fișierelor, dar la selectarea oare cărui punct al meniului are loc apelul programului sau a fișierului indicat.

Meniul conține apelul funcțiilor de sistem cum ar fi deschiderea ferestrei proprietăților desktop-ului, sistemului, panelului de control, ferestrei rândului de comandă “Run”, ferestrei de căutare, dialogului de finisare a sesiunii de lucru.

Toate acestea dialoguri sunt chemate cu ajutorul funcțiilor de sistem majoritatea din care se găsesc în fișierul

Fig.7 Meniul principal al shell-ului

SHELL32.DLL.

Vom aduce aici specificația acestor funcții și modul de apel.

desktop properties – WinExec('rundll32.exe shell32.dll,Control_RunDLL desk.cpl',0);

system properties – WinExec('rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl',0);

control panel – WinExec('start explorer /root,,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}',0);

my computer – winexec('start explorer /root,,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}',0);

Run – procedure MSRun(Wnd:hWnd;x,y:integer;t1,t2:pchar;attr:integer);stdcall; external 'shell32.dll' index $3d;

ShutDown – procedure ShutDown(Wnd:hWnd);stdcall; external 'shell32.dll' index $3c;

Aceste funcții sunt nedocumentate dar sunt utilizate de sistem însăți. (Informațiile despre aceste funcții pot fi găsite în Internet).

Punctul meniului Documents lucrează la fel cu excepția că se caută numai fișierele din directorul cu identificator CSIDL_RECENT. Vezi fig. 8.

Meniul este partea esențială a interfeței deoarece permite accesul la toate programele instalate în sistem, documente recente, serviciile de configurare, căutare etc. Restul punctelor meniului sunt create cu ajutorul componentei PopUpMenu al mediului de programare Delphi. Încă un punct major al acestui mediu, pe care eu l-am detectat în timpul efectuării proiectului de diplomă – se poate combina componentele generate la proiectare cu celea create în timpul executării programului.

Punctele meniului implicit sunt mărite, dar există posibilitate de a le micșora la mărimi standarde. Pentru a mări diferențierea între meniul standard și cel elaborat am folosit imagini statice de informare. Astfel, submeniul meniului Programs conține ca titlu imaginea Programs (vezi descrierea modului skin), iar submeniul Documents – imaginea Documents. Fiecare submeniu în ultimul rând conține logotipul shell-ului.

3.4 Proiectarea barei de aplicații

Bara de aplicații este necesară pentru apelarea programelor deja încărcate în memorie. E clar că aceste programe pot fi apelate și prin alte metode, de exemplu tastând Alt-Tab, alegând cu mouse-ul fereastra necesară. Dar aceste metode au și neajunsuri. Prima metodă presupune folosirea tastaturii, ce în unele cazuri nu e dorit, a doua metodă poate fi folosită numai în cazul când nu sunt ferestre maximizate, în caz contrar necesitatea activării unei ferestre aduce la minimizarea sau aducerea la starea normală (restore) altei ferestre. Deci așa un mecanism nu e bun pentru aceste cazuri.

Pentru a crea butoanele barei de aplicații e necesar de știut dar ce ferestre / aplicații avem acuma încărcate. Pentru aceasta vom folosi funcții speciale Windows ce permit căutarea tuturor ferestrelor existente.

function EnumProc(Wd: HWnd; Param: LongInt): Boolean; stdcall;

var

Nm:Array[0..255] of Char;

Cs: Array[0..255] of Char;

ExtendedStyle, current : Longint;

Begin

GetWindowText(Wd,Nm,255);

GetClassName(Wd,Cs,255);

ExtendedStyle:=GetWindowLong(Wd, GWL_EXSTYLE);

current:=(WS_EX_TOOLWINDOW and ExtendedStyle);

If (current=0)and (Wd<>Form1.Handle) and (Wd<>Application.Handle) and

(GetParent(Wd)=0) and (StrLen(Nm)>0)

and isWindow(Wd) and IsWindowVisible(Wd) then

begin

Form1.Taskbar1.Add(Wd,0);

end;

EnumProc := TRUE;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

EnumWindows(@EnumProc, 0);

end;

Iar acuma vom încerca să lămurim acest cod. La crearea ferestrei se prelucrează funcția FormCreate, care la rândul său apelează funcția EnumWindows. Această funcție este o funcție specială a sistemului de operare care permite trecerea consecutivă prin toate ferestrele din sistem. E clar că nu e nevoie de a salva informația despre toate ferestrele sistemului, deoarece nu toate sunt vizibile etc. Cu selectarea ferestrelor necesare se ocupă funcția EnumProc. Ea primind ca parametru identificatoarele ferestrelor, execută selectarea celor necesare cu ajutorul următoarelor funcții: GetWindowText, GetClassName, GetWindowLong, GetParent și utilizând constricțiile simple de comparare.

Dacă fereastra corespunde cerințelor impuse de funcția dată pentru ea se creează butonul pe bara de aplicații. Deoarece avem nevoie să le testăm toate ferestrele din sistem funcția trebuie să întoarcă true, pentru a prelungi căutarea.

Pentru funcționarea normală a barei aplicațiilor e necesar de ținut minte identificatorii tuturor ferestrelor din sistem. Voi aduce definirea clasei task care este destinată salvării informației despre o fereastră.

type

TTask = class(TObject)

Task: HWND;

ToolButton: TToolButton;

ParentBar: TToolBar;

TaskList: TList; { Parent }

constructor Create(aTask: HWND; ImageIndex: Integer; BtnParent: TToolBar;

aTaskList: TList);

destructor Destroy; override;

procedure ClickButton(Sender: TObject);

procedure ButtonUp;

private

Nm:Array[0..255] of Char;

end;

Clasa dată este o clasă înveliș pentru clasa ToolButton, adăugând la ea câteva proprietăți și metode. Acestea sunt Task – identificatorul ferestrei, ParentBar – adresa barei – părinte, TaskList – adresa listei tuturor task-urilor, Nm – un masiv de caractere, și funcțiile ClickButton – prelucrarea evenimentului de apăsare a butonului, ButtonUp – pentru procedura ce execută dezactivarea tuturor butoanelor. Din aceste două funcții mai mult interes prezintă funcția a doua.

procedure TTask.ClickButton(Sender: TObject);

var

i: Integer;

CurrentTask: TTask;

Wd : hwnd;

begin

ButtonUp;

With Sender As TToolButton do

begin

Wd:=Task;

if Down = true

then begin ShowWindow(Wd,SW_HIDE); Down:=false; end

else begin SwitchToThisWindow(Wd,1);Down := True; end;

end;

end;

Această funcție este puțin simplificată, deoarece se aduce ca exemplu. Rezultatul obținut puteți vedea în fig. 10.

Fig. 10 Bara de aplicații

Se vede că bara de task-uri conține butonul activării meniului, o componentă de editare pentru pornirea rapidă a aplicațiilor, numită să înlocuiască dialogul Run, care la fel este prezent, prin meniul principal. Butonul Run este destinat este destinat pornirii aplicațiilor în cazul folosirii de utilizator a mouse-ului. Mai departe sunt, de acuma task-urile obișnuite: Delphi, mapa curentă, un desen și un ajutor – help. În partea dreaptă apare ceasornicul. Taskbar-ul dat se diferă de cel standard, prin aceea că utilizează desene elaborate de mine, care sunt originale.

Vom descrie mai jos cum este realizat elementul rândului de comandă.

unit IECombo;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;

type

TIECombo = class(TCombobox)

private

{ Private declarations }

FPos:integer;

FCanSearch:boolean;

FSearching:boolean;

protected

{ Protected declarations }

procedure Change; override;

procedure KeyDown(var Key: Word; Shift: TShiftState); override;

public

{ Public declarations }

published

{ Published declarations }

constructor Create(aowner:Tcomponent);override;

end;

implementation

constructor TIECombo.Create(aowner:Tcomponent);

begin

inherited create(aowner);

Fpos:=-1;

FSearching:=false;

FCanSearch:=true;

end;

procedure TIECombo.Change;

var i,l:integer;

begin

inherited;

if FSearching then Exit;

if not FCanSearch then Exit;

if Text='' then exit;

l:=Length(Text);

for i:=0 to items.Count-1 do

if Copy(items[i],1,l)=Text then begin

FSearching:=true;

FPos:=i;

DroppedDown:=true;

ItemIndex:=i;

FSearching:=false;

SelStart:=Length(Text);

SelLength:=-(Length(Text)-l);

end;

end;

procedure TIECombo.KeyDown(var Key: Word; Shift: TShiftState);

begin

if Chr(Key) in ['A'..'z','А'..'Я','а'..'я','0'..'9'] then FCanSearch:=true

else FCanSearch:=false;

inherited;

end;

end.

Exemplul dat este destul de clar și scurt. Dacă are loc tastarea oare cărei taste șe verifică dacă tasta este alfanumerică și dacă e adevărat se efectuează căutarea cuvintelor ce se încep cu aceleași caractere care au fost introduse, dacă există mai multe, se alege primul.

Toate posibilitățile standarde rămân în putere, se minimizează ferestrele, la apăsarea butoanelor ferestrele sunt activate, în cazul că fereastra a fost minimizată are loc restabilirea ferestrei la mărimea sa normală. Lucrează trecerea de la aplicație la alta prin tastarea butoanelor Alt+Tab.

Nu putem spune că bara de aplicații este lipsită de neajunsuri. Principalul este acela că nu se deschide, meniul la apăsarea tastei drepte al mouse-ului pe butoanele task-urilor. Și alt neajuns este lipsa posibilității minimizării ferestrei la un dublu click. Dar aceste caracteristici nu micșorează plăcerea lucrului cu acest shell.

3.5 Bara de acces rapid la aplicații (Quick Launch)

Bara de acces la aplicații servește pentru a permite apelarea unor programe, fișiere sau funcții de sistem. În lucrarea dată, a fost realizată posibilitatea accesului la programe, funcții (nu ale sistemului dar scrise de mine) și mape: între care My Computer, Internet Explorer, Windows Explorer, Recycle Bin, Control Panel, mapa Documents și funcția Show Desktop. Vezi fig. 11.

Bara dată este o simplă formă Dilphi, fără chenar și bata de titlu care are un mecanism de desenare / redesenare a fundalului. Butoanele sunt butoane simple fără corp, dar cu posibilitatea includerii imaginilor. Fiecărui buton se atribuie câte o operație, principala din care este WinExec cu diferiți parametri.

Voi prezenta aici unele din aceste funcții:

My computer – de exemplu este realizat prin funcția următoarea –

winexec('start explorer /root,,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}',0);

Internet Explorer – winexec('start iexplore');

Pentru fiecare element e posibil de a selecta sau introduce calea la aplicația necesară. Unele aplicații sunt predefinite.

Deoarece mapa Documents este de sistem neapărat trebuie primită adresa ei cu ajutorul funcției SHGetSpecialFolderLocation cu parametru CSIDL_PERSONAL. Primind calea putem efectua operațiile dorite. Pentru a simplifica lucrurile și a micșora numărul de apeluri la funcția sus indicată au fost efectuate toate accesările în metoda FormCreate.

Un exemplu în care este extrasă adresa mapei în care se găsesc link-urile la programe ce trebuie încărcate la fiecare pornire a sistemului de operare:

SHGetSpecialFolderLocation(0,CSIDL_STARTUP,item);

SetLength(path,MAX_PATH);

if (SHGetPathFromIDList(item, PChar(Path))) then

Path:=Copy(Path,1,StrLen(PChar(Path)));

DirStartUp := Path;

Bara de acces rapid la aplicații fiind un instrument puternic este setat de a fi tot timpul la suprafață între ferestrele de lucru. La prima vedere bara nu se implică în metafora mesei de lucru, dar gândind puțin mai mult este clar că și pe orice masă sunt instrumente ascunse, dar sunt și instrumente ce se află pe suprafața mesei de lucru. Aici sunt cele mai des utilizate instrumente, niște mărunțișuri care ușurează lucrul. Elementele standarde a barei de acces la aplicații ale interfeței standarde se găsesc la fel în mape speciale adresa calea căreia se găsește în registrul de sistem pe adresa : HKEY\CurrentUser\Software\Microsoft\Internet Explorer\Quick Launch.

Unele din elemente acestei mape sunt foarte de folos altele nu prea, din această cauză eu am decurs la elaborarea acestei bare de la început până la sfârșit.

Ce e necesar pentru utilizator simplu – simplitatea, deaceea bara nu conține subpuncte, în același timp luând în vedere că majoritatea omenirii lucrează mai mul cu mâna dreaptă, în ideal ar fi de a pune instrumentele din partea dreaptă sau de jos.

Partea de jos de acuma este ocupată de bara de aplicații, astfel rămâne partea dreaptă. Dar Toate ferestrele normale au din partea dreaptă barele de derulare! Eu pentru mine am decis că cea mai reușită zonă al desktop-ului pentru bara de acces la aplicații este partea din stânga, deoarece, în cazul lucrului cu aplicații ea nu încurcă, iar la necesitate nu e greu de mișcat puțin mouse-ul.

Bara de acces rapid utilizează desene de mărime nestandardă, deoarece, din experiența mea pot spune că quick Launch standard utilizează iconițe destul de mici, ce în unele cazuri nu e comod, mai ales dacă demult nu ai curățit mouse-ul ;-).

3.6 Mecanismul de lucru cu teme (Skin-uri)

Mecanismul se bazează pe posibilitatea utilizării a mai multor fișiere grafice și de configurare în același program. Trebuie de înțeles că noțiunile de temă și skin sunt puțin diferite, dar în lucrarea dată îndică același lucru: un set de imagini și fișiere de configurare ce permit lucrul cu skin-urile.

Pentru a diferenția aceste fișiere e necesar de elaborat un algoritm. Cel mai simplu algoritm de diferențiere constă în utilizarea a mai multor mape ce se conțin în directorul “themes”.

În lucrarea dată este elaborat un mecanism de acest tip. În fișierul principal de configurare se indică care din skin-urile trebuie încărcat. Numele skin-ului coincide cu unul din subdirectoarele a mapei temelor.

În mapa skin-ului se găsește încă un fișier de configurare, numele căruia coincide cu numele directorului, iar extensia este ‘.ini’.

Acuma vom prezenta algoritmul de citire a fișierului principal de configurare și determinarea skin-ului curent.

IniFile := TIniFile.Create(ChangeFileExt(ParamStr(0),'.ini'));

them:=IniFile.ReadString('Main','CurrentTheme','default');

ItemH:=IniFile.ReadInteger('Main','MenuItemsHeight',32);

form1.Top:=Screen.Height-Form1.Height;

myDir:=ExtractFileDir(ParamStr(0));

myDirThemes:=myDir+'\Themes\'+them+'\'; //here to work with themes

FormBit := TBitmap.Create;

BBit := TBitmap.Create;

MMBit := TBitmap.Create;

DocBit := TBitmap.Create;

ProgBit := Tbitmap.Create;

SetBit := TBitmap.Create;

BlankBit := TBitmap.Create;

FormBit.LoadFromFile(myDirThemes+'blank800.bmp');

BBit.LoadFromFile(myDirThemes+'bottom.bmp');

MMBit.LoadFromFile(myDirThemes+'MainMenu.bmp');

DocBit.LoadFromFile(myDirThemes+'Docum.bmp');

ProgBit.LoadFromFile(myDirThemes+'Programs.bmp');

SetBit.LoadFromFile(myDirThemes+'Settings.bmp');

Se deschide fișierul de configurare (schimbând extensia aplicației în .ini).

Se încearcă a citi din despărțitura principală parametrul CurrentTheme, dacă nu se reușește citirea acestui parametru va fi atribuită valoarea standardă “default”. La fel se citesc și restul parametrilor. Se determină calea aplicației și la ea se adaugă numele mapei Themes și denumirea temei curente.

Sunt create componentele de lucru cu fișiere grafice – bitmap, și se execută încărcarea imaginilor din fișiere.

Fișierele de configurare a skin-urilor conțin date specifice pentru fiecare skin, cum ar fi:

poziția taskbar-ului;

poziția barei de acces rapid la aplicații;

culorile alese pentru desenare;

fonturile pentru scrierea titlurilor butoanelor;

(în unele cazuri imaginea background) ;

etc.

Deoarece prelucrarea acestor fișiere se face la fel ca și a fișierului de configurare a shell-ului nu va fi adus exemplu, dar în anexe sunt prezentate listing-urile tuturor fișierelor surse și a fișierelor de configurare.

Mai departe este încărcat shell-ul.

3.7 Selectorul shell-ului (Shell Selector sau Shell Changer)

Selectorul shell-ului nu este o parte a lui, dar poate fi utilizat ca utilita de selectare a interfeței. Se pune întrebarea: pentru ce e necesar acest lucru?

Voi răspunde astfel:

nici un program nu este ideal, din această cauză la un moment dat utilizatorul poate să dorească să se întoarcă la interfața standardă;

utilizarea selectorului poate să permită selecția shell-ului pentru diferiți utilizatori a aceluiași calculator;

deoarece Internet Explorer este inclus în sistemul de operare (versiunile începând cu Windows 98), apariția erorilor și închiderea lui va aduce la finisarea lucrului a shell-ului; iar un selector bun va permite reinițializarea shell-ului;

Esențial în elaborarea selectorului este utilizarea fițierelor de configurare sau a registrului de sistem, deoarece datele trebuie undeva salvate. Deoarece după părerea mea e mai simplu de lucrat cu fișierele de configurare și la copierea shell-ului de pe un calculator pe altul nu vom putea copia și conținutul registrului de sistem am decis să lucrez cu fișiere.

Fișierul de configurare trebuie să conțină următoarele parametri:

calea de acces la shell-ul elaborat;

calea de acces la programul explorer;

opțional, calea de acces la alt program care, în unele cazuri poate servi ca shell (de exemplu Far);

shell-ul implicit;

parametru ce ar indica necesitatea propunerii selecției sau încărcarea shell-ului implicit;

reținere de timp ce ar permite selectarea interfeței;

în cazul folosirii calculatorului de mai multe persoane trebuie organizat pentru fiecare câte o dispărțitură în parte cu numele utilizator-ului curent și parametrii utilizator-ului;

Astfel așa un fișier ar putea fi de forma următoare:

[ShellSelector]

MyHouseShell_exe = "c:\MHS\project1.exe"

explorer_exe = "c:\windows\explorer.exe"

[Alternate_Shells]

altshell_name_1 = "My"

altshell_path_1 = "c:\Program Files\Far\Far\project1.exe"

[default]

shell = explorer_exe

ask_boot = 0

start_delay = 5

kill_delay = 10

shift_delay = 15

[administrator] shell = explorer_exe

[Cojuhari] shell = MyHouseShell_exe

[CojuhariSpecial] =”My”

Această specificație permite de a utiliza toate posibilitățile shell-urilor; cel standard și celor nestandarde.

Selectorul fiind primul încărcat trebuie să fie setat ca shell în fișierul de configurare sau registrul de sistem. Vezi capitolul “Descrierea mecanismului de înlocuire a shell-ului”.

Pentru aceasta e necesar de a știut ce sistem de operare este instalat pe calculator. Pentru aceasta putem folosi funcțiile sistemului de operare GetVersionEx care primind ca parametru o variabilă de tip OSVERSIONINFO înscrie aici datele despre sistemul de operare. Analizând aceste date:

if (os_info.dwPlatformId = VER_PLATFORM_WIN32_NT) then . . .

putem determina de ce este nevoie: de deschis fișierul de configurare sau a registrului de sistem.

Mai departe primind datele de la utilizator sau efectuând operațiile indicate ca implicite facem încărcarea shell-ului propriu zis. Pentru aceasta folosim, nu o dată indicată în lucrare, funcția WinExec.

Deoarece se dorește ca selectorul să rămână accesibil și după finisarea de lucru a Shell-ului se face ascunderea ferestrei selectorului cu ajutorul funcției ShowWindow(Selector.Handle, SW_HIDE).

Aici va fi prezentată imaginea acestui selector de shell. Vezi Fig 12.

Se vede că programul propune 5 alternative:

reinițializarea shell-ului elaborat;

reinițializarea interfeței standarde;

reîncărcarea calculatorului;

finisarea sesiunii de lucru a utilizatorului;

finisarea sesiunii de lucru a calculatorului;

Fig. 12 Opțiunile selectorului shell-ului

Aceasta este totul despre utilita dată și despre proiectarea shell-ului. Toate sursele și imaginile programului sunt aduse în anexă.

4. Partea Economică

4.1. Noțiuni teoretice

Proiectele tehnologice contemporane sunt caracterizate de următoarele particularități:

tehnica nouă utilizată este foarte complexă și este construită utilizând ultimele elaborări științifice.

accelerării vitezei de elaborare a proiectelor.

proiectele referitoare la complexele tehnicii de calcul și softului sunt supuse uzurii morale foarte rapide.

necesitatea proiectării de sistemă la elaborarea softului și sistemelor tehnice.

Toate acestea au dus la necesitatea de creare a noi metode de planificare. Una din aceste metode prezintă modelarea procesului de elaborare, adică prezentarea legăturilor și caracteristicilor lucrărilor în procesul elaborării proiectului.

Metodele tradiționale de planificare presupun utilizarea celor mai simple modele de construirea a diagramelor de tip consecutive și ciclice.

Prima dată graficele rețea au fost folosite în procesul de proiectare a rachetelor “POLARIS” 1957. În 1964 e folosită în URSS pentru proiectarea stației hidro în Ucraina (Borsiscov). În procesul de planificare la pregătire și proiectare a tehnicilor noi, în raport cu cea clasică, numită calendaristică avantajele planificării în rețea:

Toate planurile în rețea constau din două elemente: lucrări prezentate prin săgeți și evenimente prezentate prin circumferințe.

Lucrarea înregistrează direcția și efortul depus pentru realizarea evenimentului numit.

Evenimentul înregistrează momentul când a fost realizată lucrarea.

Avantajele planificării rețea:

Graficele rețea sunt mai compacte.

În graf-rețea se văd bine legăturile de interacțiune între lucrări și evenimente (ce lucrare e preconizată pentru a atinge evenimentul anumit.

Modelele rețea pot fi revăzute, reconstruite, reoptimizate.

E posibilă schimbarea topografiei grafului.

Pot fi schimbate duratele de timp pentru efectuarea lucrărilor.

E posibilă paralelizarea diferitor ramuri, segmente ale grafului rețea, care tot reduc timpul total de efectuare a proceselor tehnologice.

Apreciază valoarea lucrărilor (reale și fictive). Lucrarea reală – linie ne întreruptă; Lucrare fictivă, secundară – linie întreruptă. Lucrarea se efectuează dar nu necesită pierdere de timp.

Graficele sunt mai citabile, receptive, comparativ cu graficele calendaristice.

Sistemele de planificare și gestiune în rețea prezintă un complex de metode grafice și de calcul, metode de control și de organizare, care asigură modelarea, analiza și reconstruirea dinamică a planului de executare a proiectelor complexe.

Sistemele de planificare și gestiune în rețea este o metodă cibernetică creată pentru gestiunea cu sisteme dinamice complexe cu scopul asigurării condiției de optim pentru careva indicatori. Așa indicatori, în dependență de condițiile concrete, pot fi:

timpul minim pentru elaborarea întregului complex de lucrări;

costul minim al elaborării proiectului;

economia maximală a resurselor.

4.2 Planificarea lucrărilor pentru elaborarea proiectului “My House Shell”

Particularitățile sistemului de planificare și gestiune în rețea în general sunt următoarele:

Scrierea “shell”-ului.

Elaborarea selectorului “shell”-ului.

Elaborarea “wizard”- ului de instalare a “shell”-ului.

Utilizarea în cooperare cu “shell”-ul Explorer și fără.

Posibilitatea selectării “skin”-ului curent și crearea și configurarea “skin”-urilor noi create.

Prevederea securității datelor.

Totalizarea informațiilor de sistem și utilizator primite de la PC.

Documentul de bază în sistemul de planificare și gestiune în rețea este graful-rețea (modelul rețea), care prezintă modelul informațional-dinamic, în care sunt prezentate legăturile și rezultatele tuturor lucrărilor, necesare pentru atingerea scopului final.

Tab. 1.

Graful-rețea

Tab. 2

Durata efectuării lucrărilor.

Fig. 13 Graf rețea

Fig. 13 Graf rețea (continuare)

Tab. 3

Tabelul timpurilor și rezervelor de timp

Tab. 4

Componența grupului de lucru.

Tab. 5

Executarea lucrărilor de către lucrători

4.3 Calcularea salariului de bază auxiliar și a altor cheltuieli.

Pentru salariu remunerat de bază sau cheltuit

Sb = 1050,00 + 2680,00 + 1920,00 = 5650,00 lei.

Salariu auxiliar (30%)

Sa = 5650,00 0,3 = 1695,00 lei.

Defalcări în Fondul Social (28%)

Cfs = (5650,00 +1695,00) 0,28 = 2056,6 lei.

Defalcările in Fondul Pensiilor (1%)

Cfp = (5650,00 +1695,00) 0.01 = 73,45 lei

Cheltuielile totale pentru achitarea salariului

Ct = 5650,00+ 1695,00 + 256,6 + 73,45 = 7 675,05 lei

Tab. 6

Evenimentele care necesită timp de lucru cu calculatorul

Programul va fi scris la calculatoare procurate de către întreprindere evaluate la 10 lei pe oră.

Suma cheltuielilor pentru ore-mașină va constitui Smas = 276*10 = 2760 lei.

Tab. 7

Cheltuielile pentru procurarea softului necesar.

De asemenea s-a procurat literatură tehnică în valoare de 424,00 lei.

Cheltuielile pentru amortizarea programelor Inprise Delphi v.5.0 Professional: Costul inițial 350USD, amortizarea timp de 2 ani.

Amortizarea soft-ului se calculează pe doi ani, cu valoarea calculată pentru o lună.

Sam_soft = 350/(12*2) = 14.60 USD;

Sam_soft (lei) = 197,50 lei;

Tab. 8

Evaluarea prețului de cost și prețului de livrare a proiectului în întregime

Pentru calcularea eficienței economice e necesar de calculat venitul anual adus de softul elaborat. Pentru aceasta e necesar de determinat satisfacțiile cumpărătorilor și de le evaluat în bani.

Tab. 9

Evaluarea satisfacțiilor cumpărătorilor (Venitul anual)

4.4 Argumentarea economică

Programul elaborat pe piață va ocupa segmentul utilizatorilor calculatoarelor de uz casnic. Aceasta se lămurește prin aceea că, ca orice program, shell-ul necesită studierea posibilităților sale și în cazul folosirii calculatorului de mai multe persoane poate aduce la neînțălegeri. Dar, în același timp în cazul creării unei teme specifice poate fi folosit ca element de reclamă a firmei. Totuși, programul este destinat, în special pentru utilizatori inițiați mai profund în domeniul sistemelor de operare și, în special al sistemului de operare Windows.

Softul elaborat are caracteristici bune în domeniul stabilității de lucru, deoarece shell-ul este aparte de nucleul sistemului de operare. Astfel la apariția unor erori ale interfeței sau a browser-ului sistemul nu cade în pană (nu se blochează). Altă caracteristică bună ale shell-ului este posibilitatea configurării și creării skin-urilor și absența salvărilor temporare în registru de sistem, astfel la dezinstalarea shell-ului nu rămâne nici un fel de informații neutilizate în registru de sistem.

Calcularea efectului anual:

Ea = A – En * Kpr

Unde:

A- venit anual;

En – coeficient;

Kpr – costul produsului;

Ea = 12654 – 0,2 * 23693.33 = 12654 – 4738.67 = 7915.33

Calcularea timpului de recuperare

Trec = Kpr / Ea

Trec =23693.33/7915.33 = 2.993347

Calcularea coeficientului real al efecienței investițiilor capitale

Ec =1/Trec

Ec =1/2.993347 = 0.334074

5. Partea protecția muncii

5.1 Protecția muncii și sanitarie în producție.

Munca prezintă o activitate a omului, care este orientată pentru a satisface cerințele materiale și spirituale ale societății. În procesul de muncă, omul interacționează cu mijloacele de producție, cu mediul de producție și obiectele muncii. Prin urmare, el este supus acțiunilor a unui număr mare de factori de diferită natură, care se manifestă sub diferite forme și acționează în diferit mod, iar ca drept urmare se înrăutățește starea sănătății omului și scade capacitatea de muncă.

Pentru a evita toate aceste urmări ne dorite sunt necesare unele măsuri pentru securitatea muncii. Securitatea muncii – prezintă starea condițiilor de muncă, unde sunt excluși sau reduși la minim acțiunile factorilor dăunători și periculoși. De studierea și analiza condițiilor de muncă se ocupă știința care se numește PROTECȚIA MUNCII și a MEDIULUI AMBIANT.

Protecția muncii – prezintă un set de acte legislative, social-economice, organizatorice, tehnice, igienice și măsuri medico-profilactice, ce asigură securitatea sănătății păstrează capacitatea de muncă a omului în procesul de muncă. De aceea odată cu dezvoltarea PTȘ cresc și cerințele față de PM. Toate tehnologiile noi ne dau un avantaj în producția de mărfuri însă ele nu reduc din problemele PM, deoarece toți factorii periculoși și dăunători își schimbă natura sa mecanismul acțiunii asupra organismului uman. Trebuie de menționat că odată cu dezvoltarea PTȘ a crescut ponderea factorilor psihofiziologici.

După cum s-a menționat mai sus factorii de producție, după caracterul urmărilor care pot avea lor, se împart în două grupe factori periculoși ăi factori dăunători. Factorii se numesc periculoși, dacă în urma acțiunii asupra omului în anumite condiții pot duce la traume saula înrăutățirea bruscă a stării sănătății omului. Factorii care duc la înrăutățirea stării sănătății omului sau la scăderea capacității de muncă sunt numiți factori dăunători. În dependență de nivelul și durata de acțiune factorii dăunători pot deveni periculoși.

După natura acțiunii asupra organismului uman factorii periculoși și dăunători se împart în patru grupe: fizici, chimici, biologici și psihofiziologici.

Către grupa de factori periculoși și dăunători de origine fizică aparțin următorii factori:

– factori ce caracterizează utilajul și tehnologia;

– factori ce caracterizează mediul de producție.

În acest mod protecția muncii este un sistem de acte legislative, social-economice, tehnice ce îndestulează condițiile favorabile și sănătoase de muncă.

Funcțiile a operatorului și programatorului sunt caracterizate, de obicei, de inexistența sau existența în cantități mici a diferitor substanțe dăunătoare. În același timp sunt cerute cerințe ridicate pentru posibilitățile psihofiziologice a operatorului la indicii economici a locului de muncă și elementele lui, organele de dirijare.

Condițiile de muncă a programatorului-operator sunt legate cu încordări vizuale, fapt căruia sunt cerute cerințe față de iluminarea de producere, la conținutul ei spectral, și de asemenea la condițiile ergonomice a locului de muncă.

Această teză de diplomă este dedicată elaborării unui pachet de programe de înlocuire a interfeței standarde. Apare problema de protecția muncii programatorilor și utilizatorilor acestui pachet de programe. Deoarece lucrul cu acest sistem se efectuează cu ajutorul terminalelor video, noi avem nevoie de a examina cerințele de protecție a muncii lucrând cu terminalele video, în particularitate cu Calculatoare Electronice (CE) și diferite dispozitive periferice care se utilizează în Centrele de Calcul (CC) în procesul de lucru. Natural că introducerea și utilizarea largă a CE are în afară de părți pozitive și unele acțiuni negative asupra utilizatorilor.

Programatorii, operatorii CE și alți lucrători a CC sunt supuși acțiunilor factorilor de producere periculoși și dăunători, cum sunt nivelul zgomotului înalt, cantitatea insuficientă a luminii naturale, neajunsul iluminării locului de lucru, temperatura ridicată a mediului exterior, diferite tipuri de radiație și altele.

Acțiunea factorilor nefavorabili, numiți mai sus, aduce la micșorarea capacității de muncă, ce este provocată de oboseală. Apariția și dezvoltarea oboselii este legată de schimbări care se petrec în creierul omului în timpul executării lucrului, cu reacții de frână în scoarța cerebrală.

De exemplu, zgomotul mare provoacă greutăți în constatarea semnalelor de culori, micșorează rapiditatea de recepție a culorii, vederea, tulbură percepția informației vizuale, micșorează capacitatea de a efectua mișcări rapid și fix, micșorează productivitatea de lucru cu 5-12 %, și încă aduce la înrăutățirea (agravarea) auzului.

Aflarea omului în zonele de influență combinată a diferitor factori dăunători mai mult timp poate aduce la îmbolnăvirea profesională.

Pentru crearea condițiilor de muncă favorabile în CC este de luat în considerație particularitățile psihofiziologice a omului și condițiile de igienă generală. Un rol important joacă planificarea locului de muncă, care se petrece în conformitate cu cerințele de comoditate a executării lucrului, economisirea energiei și timpului operatorului, utilizarea rațională a spațiilor de producerea, respectarea regulilor de protecție a muncii.

5.2 Zgomotul

Zgomotul este unul din factorii care influențează omul când el lucrează cu CE, aceasta este condiționat de funcționarea dispozitivelor ce sunt necesare în CC.

Sursele principale de zgomot în încăperi amenajate cu tehnica de calcul sunt imprimantele, tastatura, instalații pentru condiționarea aerului, dar în CE – ventilatoarele sistemelor de refrigerare și transformatoare.

La influența zgomotului pe un timp îndelungat la colaboratorii CC se observă micșorarea atenției, dureri de cap, se micșorează capacitatea de muncă. În documentele de însoțire a utilajelor ce produc zgomot se aduc normele timpului de lucru la acest utilaj.

În conformitate cu STAS 12.1.003-91 “Zgomot. Cerințele generale de protecție” caracteristica de normă a zgomotului a locurilor de muncă sunt nivelurile presiunii sonore (zgomot). Nivelurile accesibile a zgomotului, lucrând cu CE, sunt prezentate în Tab. 10.

Tab. 10

Nivelurile admisibile a zgomotului

Pentru micșorarea zgomotului la locurile de muncă se efectuează următoarele acțiuni:

Arhitectural – planificative.

Clădirile se proiectează și se construiesc în așa mod ca la locurile de muncă să nu fie depășit nivelul admisibil, întrucât sistemul va fi utilizat la CC existent aici poate de obținut micșorarea zgomotului amplasând în încăperi vecine utilajul cu zgomot ridicat.

Tehnico – organizatorice.

Pentru micșorarea zgomotului la CC se efectuează reparația și ungerea utilajului (imprimantelor). Se poate de aranjat utilajul în așa fel ca el să facă mai puțin zgomot.

Acustice. În CC se instalează podele tehnologice și poduri fixate în balamale. Distanța între podul de bază și podul fixat în balamale 0,5 – 0,8 m, iar înălțimea podelei tehnologice 0,2 –0,6 m.

5.3 Microclima

Deoarece CE sunt surse de eliminare a căldurii, ce poate ajunge la mărirea temperaturii și micșorarea umidității aerului. În încăperi se atrage atenție la controlul parametrilor microclimei în Săli de Calcul (SC).

În SC mărirea medie a eliminărilor de căldură constituie 310 W/m2. Eliminările de căldură de la instalații de iluminare tot sunt mari, mărirea specifică a lor este 35-60 W/m2. În afară de aceasta la microclima încăperii încă influențează surse exterioare de eliminare a căldurii, cum sunt căldura de la radiația solară ce intră prin fereastră, și afluența căldurii prin construcții de barieră ce nu sunt transparente.

Asupra corpului omului și lucrului utilajului a CC influențează foarte mult umiditatea aerului relativă. La umiditatea aerului egală cu 40% lenta magnetică devine mai fragilă, se mărește uzura capilor magnetici și apare câmpul magnetic static la mișcarea purtătorilor de informație m CE.

La efectuarea controlului locurilor de muncă se măsoară temperatura, umiditatea relativă și viteza de mișcare a aerului în încăperi, totodată se efectuează măsurări la începutul, mijlocul și sfârșitul perioadelor calde și rece a anului.

Se măsoară temperatura și umiditatea aerului cu aspiratoare, iar viteza de mișcare a aerului – cu electro-anemometre, catatermometre. Ordinea de măsurare a indicilor microclimei se stabilește în conformitate cu STAT 12.1.005 – 91.

Parametrii se normează după acest STAS și sunt prezentați în Tab. 11.

Tab.11

Normele microclimei

În acest tabel se aduc parametrii pentru categoriile de lucru 1 a (mai puțin de 120 kcal/oră, lucrul șezând) și 1 b (de la 120 – 150 kcal/oră, lucrul șezând), deoarece lucrul programatorului sau operatorului se poate atribui la una din aceste categorii.

Pentru crearea la locuri de muncă a condițiilor meteorologice bune se efectuează condiționarea și ventilarea aerului, utilizarea ventilatoarelor înăuntru CE pentru a reduce eliminările de căldură. Utilajul se aranjează în așa mod ca influența căldurii asupra corpului omului să fie cea minimă.

5.4 Calcularea ventilării

Pentru a menține condițiile optimale ale microclimei în zona de lucru des se folosește ventilarea. Ventilarea poate fi naturală și artificială (mecanică). Ventilarea mecanică se împarte, la rândul său, în generală și locală. Calcularea ventilării constă în determinarea volumului necesar de schimb de aer pentru asigurarea parametrilor optimali ai microclimei.

Pentru asigurarea temperaturii optimale a aerului în zona de lucru (eliminarea surplusurilor de căldură) e necesar de un schimb de aer în m3/h.

Vt=(QS)/(c*p*(tN-ta))

unde QS – surplusul de căldură degajată:

Q1 – de utilaj;

Q2 – de oameni;

Q3 – de instalații de iluminat;

Q4 – de iradiere;

Qs = Q1 + Q2 + Q3 + Q4;

c – capacitatea termică specifică aerului, 0,24 kcal/kg*C;

p – densitatea aerului, 1. 206 kg/m3;

ta – temperatura aerului absorbit, ta = 8 C;

tN – temperatura optimală a aerului după STAS 12.1.005 – 88, tN = 18 C.

Surplusul de căldură degajată de utilaj se află din relația:

Q1 = 860*Pt*A,

unde 860- echivalentul termic;

Pt – puterea utilajului, Pt = 0,15 kW;

A – coeficientul de randament, A = 0,75.

Q2 = k*n

unde k – cantitatea de căldură degajată de un om, k = 150 kcal/h.

n – numărul oamenilor, n = 3.

Q3 = 860*Pil*A*cosλ

unde Pil puterea iluminatului în încăpere, Pil = 4 kW;

Q4 = m*F*q*cosλ

unde m – numărul de ferestre, m = 2;

F – aria unei ferestre; F = 2 m2;

q – cantitatea căldurii pătrunzătoare printr-un m2 de fereastră într-o oră, q = 125 kcal/m2*h.

Calculăm ventilarea pentru încăperea cu volum

V = 75 m3.

Q1 = 860*0,15*0,75 = 96.75 kcal/h.

Q2 = 150*3 = 450 cal/h = 0,45 kcal/h

Q3 = 860*4*0,75*0,1 = 258 kcal/h.

Q4 = 2*2*125*0,1 = 50 kcal/h.

Qs = 96,75+0,45+258+50 =405,2 kcal/h.

Vt= 40,5/(0,24*1.206(18-8)) = 13,9 m3

5.5 Radiația

Intensitatea radiației Roentgen de energie joasă se controlează la locuri de muncă cu monitoare care lucrează sub tensiunea la cinescop 15 kV și mai mult. Norma nivelului de radiație roentgen este 100 mcP/h, dar în prezent se utilizează mai frecvent monitoare cu nivelul de radiație mai mic, ce aduce la micșorarea influenței factorilor dăunători asupra programatorului sau operatorului.

La efectuarea lucrării de diplomă a fost utilizat un monitor cu tensiunea la cinescop mult mai mică de 15 kV , și de aceea acest factor a fost înregistrat de dispozitiv, adică a fost mai puțin de normă.

Încă se măsoară și se normează intensitatea radiației ultraviolete (la lungime de undă 336 nm) și infraroșie (la lungime de undă 700 – 1050 nm) ce influențează asupra omului și nu trebuie să depășească 10 W/m2.

Radiația electromagnetică se normează după componente electrice (50 V/m) și magnetice (50 A/m) de aflare în această zonă de radiere timp de 8 ore. Tensiunea înaltă a câmpului electric între monitorul și operatorul aduce la efecte neplăcute.

La distanța de 5 – 30 cm de la monitor tensiunea nu trebuie să depășească nivelul admisibil după norme, ce sunt stabilite în dependență de timpul aflării la locul de muncă. Nivelurile admisibile sunt prezentate în Tab. 12.

Tab. 12

Nivelurile admisibile a tensiunii câmpului electric

Controlul radiației de toate tipurile se efectuează în conformitate cu regulile ce sunt expuse în îndrumări speciale.

5.6 Efecte psihofiziologice

Lucrul operatorului încordarea mentală și emoțională foarte mare, concentrarea atenției și responsabilitatea de lucrul efectuat. Operatorii foarte des suferă de diferite stări proaste a vederii, dureri de cap, dureri de mușchi în regiunea spatelui.

În afară de aceasta, în mare măsură se exprimă senzația oboselii și încordarea mentală în timpul lucrului; ei nu se simt odihniți după somn de noapte.

Sarcina asupra vederii și caracterul încărcării lucrului provoacă la operatori disfuncția stării a analizatorului de vedere și sistemului nervos central. În procesul de lucru la dânșii se micșorează rezistența vederii clare, sensibilitatea electrică și labilitatea analizatorului de vedere, precum și disfuncția mușchilor ochilor. Sunt interesante cercetările stării psihofiziologice a operatorilor de introducerea datelor, care efectuează lucrul monoton în timp de două ore în condiții favorabile de muncă.

Totodată, s-a depistat că la 80% de persoane supuse experienței capacitatea de lucru și activitatea mintală se micșorează peste 40 – 60 minute de lucru neîntrerupt. În afară de aceasta, la persoanele supuse experienței la sfârșitul zilei de lucru s-a mărit timpul de reacție și cantitatea greșelilor la executarea problemelor.

S-a micșorat frecvența de contractare a inimii de la 64 până la 40 bătăi / minute; la 74% din persoanele examinate s-a tulburat bilanțul mușchilor ochilor.

Efectuarea multor operațiilor la calculatoare cer încărcarea îndelungată a mușchilor spatelui, gâtului, mâinilor și picioarelor ce aduce la apariția obosirii.

Motive principale de apariție a oboselii sunt înălțimea irațională a suprafeței de lucru, mesei și scaunului, lipsa spatelui de sprijin și brațelor, unghiuri incomode de îndoire în articulațiile umărului și cubitului, unghiul de înclinare a capului, repartizarea incomodă a documentelor, monitorului și tastaturii, lipsa spațiului și suportului pentru picioare.

5.7 Cerințele ergonomice față de locul de muncă

Progresul tehnic ce a atins diferite domenii a producerii, folosirea pe larg a tehnicii de calcul și prelucrarea numerică a semnalelor, sistemele automate de proiectare sunt legate tot mai mult și mai mult cu trecerea de la munca fizică la munca intelectuală.

Automatizarea ăi computerizarea duc la schimbarea mijloacelor și caracterului activității de muncă, la schimbarea condițiilor de muncă.

Totodată automatizarea ăi computerizarea pot avea și urmări sociale negative, deoarece se cer cerințe înalte față de posibilitățile psihofizice a inginerului-operator. În felul acesta, funcțiile activității în condițiile automatizării se schimbă.

În procesul de lucru operatorul primește memorează și prelucrează un mare volum de informație, ia diferite decizii și dirijează cu starea sistemului.

Principalul conținut a activității omului îl alcătuiesc procesele de memorare și psihice – recepționarea activă, memorarea și gândirea. De aceea în condițiile actuale a apărut necesitatea de a efectua acordarea dintre construcțiile sistemelor tehnice și condițiile lor de funcționare cu posibilitățile psihofizice a lucrătorului.

Cu studierea și proiectarea interacțiunii omului (a unui grup de oameni) în procesul de lucru cu mijloacele tehnice, obiectele de activare cu mediul ambiant se ocupă ergonomica.

Țelul analizei ergonomice – ridicarea eficienței și calității activității omului în sistemul “ om – mașină – obiect – mediu” cu condițiile păstrării sănătății omului în procesul de lucru a operatorului un mare rol îl ocupă dispozitivele de vizualizare a informației care trebuie să satisfacă anumite cerințe ergonomice.

Ergonomie-știința, care studiază în mod complex particularitățile psihofiziologice, anatomice și antropologice ale omului în procesul muncii, precum și problemele igienei, toxicologiei, biomecanicii și biofizicii ân scopul de acrea omului condiții optime de muncă cu un consum minim de energie. Respectarea recomandațiilor ergonomice duce la ridicarea productivității muncii omului și la păstrarea capacității lui de muncă, a forței musculare și a sănătății lui.

Cercetările ergonomice se extind și asupra unor discipline specializate (psihologia inginerească, protecția muncii), termenul “ergonomie” a fost pus în circulație în Anglia (1949) de către un grup de specialiști.

Din punct de vedere ergonomic locul de muncă destinat proiectării este amenajat satisfăcător, dat fiind faptul că pentru proiectare sunt prezente:

– un calculator IBM AT cu monitor color MPR-II de o rezoluție satisfăcătoare;

– microclima încăperii este asigurată de trei condiționere;

– proiectarea se efectuează cu ajutorul unui pachet destul de comod de proiectare a schemelor electrice principale;

– scaune moi, o masă destul de încăpătoare, ce permite aranjarea comodă a tuturor componentelor necesare proiectării (blocul calculatorului, monitorul, imprimanta, radioul, care permite de a fi la curent cu noutățile necesare de a fi știute pentru o activitate cotidiană normală, aparatul de telefon pentru schimbul și căpătarea operativă a informației necesare).

Ca neajunsuri din punct de vedere ergonomic sunt:

– generarea zgomotelor de către condiționer și imprimantă, fapt care cauzează necesitatea de folosire a unor mijloace individuale de protecție;

– lipsa ecranului de protecție pe monitorul calculatorului pentru apărarea de razele ultraviolete, de energia statică, care poate să se acumuleze la om, pentru contrastul mai înalt al imaginilor, înlăturarea efectelor de reflectare a luminii zilei pe monitor etc.

Concluzii

În lucrarea de diplomă a fost realizată o interfață alternativă Windows. Concluzia principală făcută la efectuarea lucrării este că un shell, fiind acea parte a soft-ului care întâlnește utilizatorul față în față, trebuie să fie cât mai accesibilă, simplă în configurare, stabilă în lucru; trebuie să includă instrumente de selectare a shell-ului (în cazul folosirii a mai multor).

Elementele de bază ale interfeței fiind diferite de cele standarde nu trebuie să creeze impresii neplăcute, de la acest fapt. Introducerea elementelor nestandarde trebuie efectuată cu atenție și, la dorință, ar fi bine de a avea posibilitatea excluderii folosirii acestor elemente. Astfel, cea mai mare atenție se atrage dorințelor utilizatorului, aceasta fiind concluzia majoră, utilă pentru orice lucru legat de design.

O altă concluzie ține de mediul de programare; deoarece eu utilizez acest mediu de programare timp de doi ani, fiecare zi găsesc ceva nou în acest mediu. Eu sunt foarte satisfăcut de posibilitățile acestui mediu și pe viitor, în lucrul mei voi utiliza acest mediu ca instrument de bază; iar concluzia este că luând în vedere viteza de elaborare a aplicațiilor, mediul Delphi ocupă primul loc între compilatoare sub Windows.

Bibliografie:

«Delphi 4. Среда разработки»

Епанешников А.М. Епанешников В.А.

Москва Диалог – МИФИ 1999

«Delphi – Язык Object Pascal»

Епанешников А.М. Епанешников В.А.

Москва Диалог – МИФИ 2000

«Программирование на языке Турбо Паскаль»

Зуев Е.А. Радио и связь Веста. Москва 1993

http://doc.trecom.tomsk.su/Delphi/OpenInterface/Delphi.htm

http://www.neosoft.ru/desktop/desktop.htm #Talisman

http://www.computerra.ru/offline/1999/288/2486/

http://www.litestep.org

http://softlab.doc.nov.ru/main/litestep.htm

http://www.pl-computers.ru/article.cfm?id=383

http://www.winguides.com/registry

http://delphi.vitpc.com

http://wwwdelphikingdom.com

http://delphi.mastak.ru

http://www.sources.ru/delphi

Anexe:

Similar Posts