Lucrari de Laborator SM

download Lucrari de Laborator SM

of 39

Transcript of Lucrari de Laborator SM

  • 8/18/2019 Lucrari de Laborator SM

    1/39

    Lucrare de laborator Nr. 1Tema: Manipularea imaginilor Scopul lucrării: familiarizarea cu produsul  Director, studierea principalelor componentenecesare dezvoltării unei aplicaţii multimedia.

    Produsul de creaţie multimedia DirectorProdusul de creaţie multimedia  Director lucrează cu mai multe componente identificabile decătre utilizator prin prisma unor ferestre de vizualizare. Aceste componente sunt utile pentru aconstrui o prezentare multimedia şi se invocă prin selecţia unei opţiuni ce indică componenta dinmeniul Window.Componenta Stage defineşte fereastra (zona client) în care se derulează prezentarea multimedia

    după cum se poate observa în figura 1.1.

    Fig. 1.1 Componenta Stage

    izualizarea conţinutului ferestrei se poate face la diferite scale. !n figura 1.1 scala de vizualizareeste 1""# dar se poate sc$imba utilizînd controlul de tip combobo% din partea de &os a cadruluiferestrei. 'edimensionarea ferestrei se face prin intermediul proprietăţii Stage Size a obiectului

     Movie care identifică prezentarea (aplicaţia) multimedia în  Director . ot în partea de &os acadrului ferestrei e%istă butoane pentru controlul derulării prezentării. uncţionalitatea lor va fi

     prezentată în cadrul componentei Control Panel .Componenta Cast este utilizată pentru a stoca actorii unei aplicaţii. *a se poate configura(View/Cast/Thumbnail ) astfel încît să prezinte actorii sub forma unor mici ferestre devizualizare. Actorii se pot adăuga în componenta Cast prin selecţia următorului membru castneocupat apoi Click Dreapta+ mport dacă ei provin din afara mediului de programare sau se

     pot genera de către alte componente ale produsului soft,are.

  • 8/18/2019 Lucrari de Laborator SM

    2/39

    Fig. 1.2 Componenta Cast 

    !n figura 1.- se poate observa că în componenta Cast sunt doar doi membrii unul (europe) esteobţinut prin importul unei imagini în timp ce al doilea membru este un script./omponenta Cast poate fi privită ca fiind o bază de date ce memorează actorii unei aplicaţii.Această componentă poate fi stocată independent de aplicaţia în care a fost creată. 0n acest fel

    actorii unei aplicaţii pot fi folosiţi de către o altă aplicaţie. 0n figura .- se prezintă o componentăcast internă aplicaţiei ( nternal ).2acă se doreşte crearea unei componente independente în vederea refolosirii ei în alte aplicaţii se

     procedează astfel34 se crează un nou cast ( !ile/"ew/Cast )54 se furnizează un nume se setează opţiunea #$ternal  după care se apasă butonul Create54 apoi se populează componenta Cast cu actori.

    2acă se înc$ide fereastra atunci se iniţiază dialogul de salvare pe disc componenta se va stocaîntr4un fişier avînd e%tensia cst . 2esc$iderea componentei cast se face cu !ile/%pen şi se alegefişierul corespunzător cu e%tensia cst . 6n membru Cast se referă prin construcţia member&n'

    unde n este numărul sau numele membrului Cast dacă membrul aparţine componentei Cast interne ( nternal ) sau prin construcţia castlib(nume).member7n8 dacă membrul aparţine uneicomponente Cast e%terne identificabile prin nume.Componenta Tools conţine instrumente utile în dezvoltarea de aplicaţii  Director cum ar fi3

     butoane de diferite tipuri containere de te%te obiecte grafice după cum se poate observa înfigura 1.9.

    Fig. 1.3 Componenta Tools

  • 8/18/2019 Lucrari de Laborator SM

    3/39

  • 8/18/2019 Lucrari de Laborator SM

    4/39

    ig. 1. /omponenta /ontrol Panel

    Componenta Script este vizibilă sub forma unui editor de te%te şi se utilizează pentru a scriescripturi. :cripturile în Director se pot scrie fie în limba&ul de tip script -ingo propriu produsuluisoft,are fie în  .ava Script . Prin intermediul scripturilor se defineşte interacţiunea dintreutilizator şi aplicaţie şi se implementează funcţionalitatea acesteia..-. *tapele de dezvoltare ale unei aplicaţii multimedia

    0ndiferent de compe%itatea unei aplicaţii pentru construirea ei în Director  este necesar să se parcurgă următoarele etape3A. denti(icarea actorilor ce se vor utiliza în aplicaţia respectivă. Această etapă implică utilizareacomponentei Cast în sensul că ea va fi populată cu elemente. Actorii pot să provină din e%teriorulmediului de dezvoltare ( Director ) cum ar fi imagini secvenţe de sunet sau secvenţe videoac$iziţionate independent şi e%istente în formate acceptate în Director sau pot fi create utilizîndcomponentele produsului soft,are.2e e%emplu dacă dorim să construim o aplicaţie simplă care să afişeze un mesa& într4o căsuţă demesa&e cînd se dă click pe un buton atunci prima etapă se concretizează în trasarea butonului din

     bara de instrumente (Tools) pe scenă în locul dorit. :e scrie te%tul dorit pe buton în e%emplu Mesa iar în Cast se poate observa că obiectul a fost adăugat ca membru. igura 1.< ilustrează

    această operaţie.

    Fig. 1.6 Popularea componentei Cast 

    =. Secven0ializarea actorilor  presupune utilizarea componentei Score (a%a timpului). Actoriie%istenţi în Cast  conform unui scenariu sunt instanţiaţi în Score li se fi%ează durata de timp încare ei sunt vizibili şi momentul întrării lor în scenă. 0n cazul e%emplului prezentat trasarea

     butonului pe scenă determină includerea lui ca membru în Cast cît şi secvenţializarea lui înScore. 0mplicit actorul se secvenţializează de la frame4ul indicat de cursorul componentei :core

  • 8/18/2019 Lucrari de Laborator SM

    5/39

    şi durează 9" frame4uri (implicit). 2upă cum se poate observa din figura 1.> butonul întră înscenă începînd cu primul frame si durează 9" frame4uri. 

    Fig. 1.7 Secvenţialiarea actorilor 

    /. De(inirea inter(e0ei cu utilizatorul este etapa în care se utilizează componenta Script pentru ascrie secvenţe de cod ca răspuns la evenimentele ce se interceptează pe perioada e%ecuţieiaplicaţiei. Prin această etapă dezvoltatorul permite utilizatorului să aleagă scenariul de derulare a

    aplicaţiei multimedia. 2acă se e%ecută aplicaţia în forma prezentată atunci va apare pe scenă butonul pe durata a 9" de frame4uri după care derularea ei se va opri sau se va relua de la primulframe în funcţie de opţiunea setată în componenta Control Panel . 2acă se apasă pe buton în timpce aplicaţia este în derulare nu se va întîmpla nimic pentru că nu a fost definită nici ofuncţionalitate pentru evenimentul de click pe butonul mouse4ului.

    Pentru aplicaţia definită anterior se vor scrie două scripturi avînd funcţionalităţile34 la (rame4ul 9" se va păstra aplicaţia în e%ecuţie pentru ca utilizatorul să apese pe butonul Mesasau să termine aplicaţia3

    function e%itrame(me)? @movie.go(@movie.frame)5

    4 pentru obiectul buton identificat prin Mesa se răspunde la evenimentul de click  pe butonulsînga al mouse4ului prin scriptul3function mouse6p (me)? @plaBer.alert (CMesa& la apasare pe butonDC)50nterceptarea mesa&ului de către buton va determina apariţia unei casuţe de mesa&e de tipatenţionare în care va fi scris mesa&ul3 Mesa la apasare pe buton12. Distribuirea produc0iei multimedia este etapa în care aplicaţia multimedia se transformă astfelîncît să poată fi utilizată independent de mediu Director . Astfel se poate obţine din producţia

    multimedia o aplicaţie Windows de tip desEtop sau o aplicaţie de tip Feb. :e alge din meniul !ile opţiunea Publish Setings iar în caseta de dialog din figura 1.G se bifează categoria Proector şi se obţine o aplicaţie desEtop prin apăsarea pe butonul Publish.

  • 8/18/2019 Lucrari de Laborator SM

    6/39

    Fig. 1.! Distri"uirea aplicaţiei 

    Pentru a obţine o aplicaţie Web care să poată fi rulată într4un 2rowser Web (de e%emplu nternet  #$plorer ) se bifează opţiunea Shockwave !ile împreună cu 3TM-. Pentru ca operaţia să aibă

    succes trebuie ca pe calculator să fie instalat un control de tip  4ctive5 denumit Shockwave Pla6er care e%ecută aplicaţia Director în format Shockwave într4o pagină Web.2intr4o aplicaţie Director se mai pot e%porta cadre sau c$iar secvenţe video digitale în format

     4V sau  M%V . 0n acest sens se alege opţiunea  #$port din meniul  !ile şi se completeazăcorespunzător dialogul din figura 1.H.

    Fig. 1.# $%portul &e imagini sau vi&eo &in Director 

    Prin această operaţie interactivitatea cu aplicaţia multimedia nu se mai poate realiza..9 ipuri de scripturi şi comunicarea prin mesa&e

  • 8/18/2019 Lucrari de Laborator SM

    7/39

    Prin script se înţelege o secvenţă de cod realizată pentru a răspunde la mesa&ele interceptate deobiecte ca urmare a declanşării unor evenimente pentru a defini clase sau funcţii de utilizator.Principala structură de program e%istentă în scripturi este handler 4ul care are forma3function nume (argumente)?++corpul@$andler4ului

    6n script poate conţine unul sau mai multe handler 4e. 0ntr4o aplicaţie Director  pot e%ista maimulte tipuri de scripturi31. :cript de tip behavior  cel mai utilizat tip de script într4o aplicaţie  Director  care se ataşeazăobiectelor instanţiate în score sau cadrelor5 aceste scripturi sunt vizibile în componenta Cast  camembrii şi sunt marcaţi cu iconiţa 5-. :cript de tip movie care vizează aplicaţia în ansamblul ei prin intermediul lui se trateazăevenimente specifice aplicaţiei (de e%emplu3  startmovie  stopmovie) sau se definesc funcţii deutilizator cu vizibilitate în toată aplicaţia5 aceste scripturi sunt vizibile în componenta Cast  camembrii şi sunt marcaţi cu iconiţa 5

    Pentru a genera un script de tipul celor doua menţionate se selectează următorul membruneocupat din Cast şi se activează componenta Script (opţiunea Script de la meniul Window).Ia proprietăţi se selectează tab4ul Script şi se alege tipul de script dorit pentru a fi generatdupă cum se ilustrează în figura 1.1".

    Fig. 1.1' Selecţia tipului &e script 

    9. :cript ataşat membrului Cast  este singurul tip de script care nu se memorează într4un membruCast de sine stătător ci se asociază cu membrul Cast pentru care a fost definit5 pentru a genera unastfel de script se selectează membrul Cast  click dreapta şi se alge opţiunea Cast Member Script după care apare fereastra de editare a scriptului. Membrii Cast cărora li s4au asociat astfel descripturi sunt marcaţi şi cu iconiţa pe lîngă iconiţa afişată în concordanţă cu tipul membruluiCast .

    :e poate observa că unui actor i se poate asocia un script atît în Score cît şi în Cast . Actorulataşat unui canal în Score este o instanţă a actorului e%istent în Cast  de aceea scriptul lui de tipbehavior este asociat instanţei actorului în timp ce scriptul membrului Cast este aplicabil tuturor instanţelor actorului respectiv.!n  Director este important a se cunoaşte ordinea în care un mesa& este interceptat pentru a serăspunde la el dat fiind faptul că un handler  pentru un anumit mesa& poate e%ista în diferitetipuri de scripturi. Jrdinea în care unui mesa& interceptat i se caută handler 4ul de răspuns esteurmătoarea34 prima dată mesa&ul se transmite spre a fi tratat la scriptul de tip behavior ataşat obiectului carea interceptat evenimentul54 apoi mesa&ul se transmite spre a fi tratat scriptului asociat membrului Cast din care a provenit

    obiectul54 mesa&ul se transmite în ordine scriptului asociat  (rame4ului aferent momentului cîndevenimentul a fost declanşat5

  • 8/18/2019 Lucrari de Laborator SM

    8/39

    4 în ultimă instanţă mesa&ul se trimite spre a fi tratat scriptului de tip Movie.:pre e%emplificare să presupunem că avem un membru Cast de tip buton instanţiat pe canalul 1în Score şi care are asociat un script de tip behavior ce are un handler de răspuns la mesa&ulmouse7p de forma3function mouse6p (me)?

     @plaBer.alert (Ce%ecutie script be$aviorC)5iar scriptul asociat membrului Cast corespunzător este de forma3function mouse6p ()?

     @plaBer.alert (Ce%ecutie script asociat membrului castC)5

    /înd se interceptează evenimentul de mouse7p de către buton se e%ecută conform ordinii deinterceptare a mesa&elor handler8ul corespunzător din scriptul de tip behavior şi se va afişa încasuţa de mesa&e mesa&ul e$ecutie script behavior . Pentru ca mesa&ul să fie trimis spre a fi tratat

    şi în alte scripturi conform ordinii prezentate se foloseşte comanda  pass. 2acă în scriptul de tipbehavior asociat butonului handler 4ul de răspuns la evenimentul mouse7p ar avea forma3function mouse6p ()?

     @plaBer.alert (Ce%ecutie script asociat membrului cast C)5 pass()5atunci la apăsarea pe buton ar apare o casuţă de mesa&e avînd mesa&ul3 e$ecutie script behavior iar apoi ar apare o căsuţă avînd mesa&ul e$ecutie script asociat membrului cast .*venimentele care sunt interceptate pe parcursul derulării unei aplicaţii se pot împărţi în douăcategorii34 evenimente de sistem care sunt predefinite şi denumite in Director (de e%emplu3 #$it!rame

     Mouse7p etc)54 evenimente de utilizator definite şi gestionate de dezvoltatorul aplicaţiei.

    *%istă evenimente de sistem pe care o aplicaţie întotdeauna le interceptează pe parcursulderulării ei într4o ordine prestabilită3

    A. la startarea aplicaţiei:o prepareMovie5o preparerame5

    o begin:prite5o startMovie.B. la accesarea unui frame:o begin:prite5o steprame5o preparerame5o enterrame + e%itrame5o end:prite.C. la oprirea aplicaţiei:o end:prite5

    o stopMovie.

  • 8/18/2019 Lucrari de Laborator SM

    9/39

    0n .avaScript mesa&ele de utilizator se definesc prin literali. :pre e%emplificare să se coloreze oelipsă cu culoarea roşie la apăsarea unui buton. Această operaţie se va efectua prin trimitereaunui mesa& de utilizator (coloreaza) elipsei la apăsarea butonului. *lipsa la primirea mesa&uluicoloreaza se va colora cu culoarea roşie.:criptul butonului are forma3function mouse6p (me)

    ? @movie.sendsprite(1KcoloreazaK-"")5uncţia sendsprite trimite un mesa& unui obiect aflat pe canalul indicat de primul parametru. Aldoilea parametru reprezintă numele mesa&ului iar în e%emplu următorii parametri precizeazăculoarea prin culorile fundamentale ale spectrului 'L=.!n scriptul elipsei se răspunde la mesa&ul coloreaza şi se colorează elipsa3function coloreaza (me v1v-v9)?sprite(1).colorcolor(v1v-v9)

    :e observă că informaţiile trimise odată cu mesa&ul se preiau prin parametrii formali v) v+ şi v9.Parametrul me identifică obiectul care primeşte mesa&ul şi ocupă întotdeauna prima poziţie înlista de parametrii. 0n script el nu este utilizat dar trebuie pus în listă pentru a se recepţionacorect ceilalţi parametrii ce însoţesc mesa&ul. uncţia color formează culoarea pornind de lacele trei valori asociate culorilor fundamentale din spectrul 'L=.

    Sarcina:

    2ezvoltă o aplica ie 2esEtop care încarcă una sau mai multe imagini dintr4un fi ier i leț ș șvizualizează într4o fereastră. Asupra acestor imagini pot fi e%ecutate careva ac iuni utilizîndțcontroale 60 (butoane cNmpuri de introducere a te%tului etc.)

    Lista cu ac iuni posibile:ț1. !ntoarce imaginea pe verticală5 rote te imaginea la un ung$i divizibil cu H" O5 salveazăș

    imaginea rezultată.-. 'eglează contrastul ("41""#)5 reglează luminozitatea ("41""#)5 salvează imaginea

    rezultată.9. :calează imaginea5 decupează imaginea5 salvează imaginea rezultată.;. 'eglează uan a de culoare + :atura ia5 salvează imaginea rezultată.ț ț. Modifică imaginea sursă (iterează prin mai multe imagini) prin date introduse de

    utilizator5 sc$imbă4le într4un mod Cslide s$o,C (pe un interval de timp)5 salvează

    imaginea rezultată.. /onverte te imaginea la tonuri de gri5 /olorează imaginea (se aplică o culoare pentrușimaginea în tonuri de gri )5 salvează imaginea rezultată.

    G. 0nversează culorile la o scară reglabilă5 salvează imaginea rezultată.H. 2istorsionează imaginea cu un efect de lentilă (parametri reglabili ai lentilei)5 salvează

    imaginea rezultată.1". Aplică efectul de oglindă asupra imaginii de4a lungul unei linii specificabile de utilizator5

    salvează imaginea rezultată.

  • 8/18/2019 Lucrari de Laborator SM

    10/39

     

    ig. *%emple de aplica iiț

    Întrebări de control:

    1. /e reprezintă componenta :tageQ-. Pentru ce este utilizată componenta /astQ9. /e elemente con ine componenta oolsQț;. /e define te componenta :core ce reprezintă liniile i coloaneleQș ș. /are este destina ia componentei /ontrol PanelQț. /are sunt etapele de dezvoltare ale unei aplica ii mutimediaQțG. /e reprezintă un scriptQH. /e tipuri de evenimente sunt interceptate pe parcursul derulării unei aplica iiQț1". /are este ordinea de interceptare a evenimentelor de sistem de către o aplica ieQț

    Lucrare de laborator Nr. Tema: Manipularea Audio

    2ezvoltă o aplica ie 2esEtop care încarcă un sunetț   (cîntec) dintr4un fi ier i este capabil de a4lș ș

    reda cu o 7modificare8 precum i fără ea. Parametrii numerici ai modificării trebuie să fieșreglabili prin 60.

  • 8/18/2019 Lucrari de Laborator SM

    11/39

    Iistă de modificări31.:unetul este inversat-.Pasul (pitc$) mutat în sus sau în &os. (parametri3 valoare)9.:c$imbă viteza de redare în sus sau în &os. (parametri3 valoare);.*c$o adăugat. (parametri3 amplitudine întNrziere).*galizator ( pasi)

    .olumul oscilează de4a lungul unei IJ (oscila ie de frecven ă &oasă) parametri3 perioadaț țIJ IJ amplitudine ("41"" "41"")

    G.:e amestecă două fi iere împreună (se redau concomitent două fi iere)ș șH. Adaugă sunet metronom (parametri3 frecven a periodicitatea)ț

    1". :c$imbarea balan ei de sunet (pozi ia percepută)ț ț

     ig. *%emple de aplica iiț

    Lucrare de laborator Nr. !Tema: Manipularea ideo

    2ezvoltă o aplica ie desEtop care face oricare dintre următoarele (alege unul)3ț1. Arată în timp real input4ul de la ,ebcam-. 'edă un fi ier video stocat pe computer.ș9. 'edă un video stream de la o sursă stream. (6'0)

  • 8/18/2019 Lucrari de Laborator SM

    12/39

     ig. *%emple de aplica iiț

    Lucrare de laborator Nr."Tema: Aplica ii #ebț  multimedia. $T%L& '$T%L& CSSScopul lucrării: familiarizarea cu limba&ele $T%L& '$T%L& CSS.

    'e eaua deț  resurse globale de informare Feb are la bază no iunea de $iperte%t. Prin $iperte%t sețîntelege un document care con ine pe lîngă te%t grafică imagini anima ie înregistrări audioț țiș  leg(turi  (referin e) către alte documente.ț  6lterior acesta a fost e%tins la termenul de

    $ipermedia acesta avînd un sens mai larg. /onota ia este însă aceia i i anume semnificăț ș șresurse care con inț  legături la alte resurse media.

    ".1. $T%L

    Iimba&ul $T%L ( 36perTe$t Markup -anguage) a fost proiectat să poată opera cufunctionalită ile multimedia ale re elei Feb. *l este un limba& de marcare care permiteț țeditarea sau transformarea oricărui te%t sub formă de $iperte%t prin introducerea unor marca&e care vor indica pe lîngă modul cum se efectuează legăturile documentului cu alteresurse e%terne i modulș  cum vor apărea formatate paginile documentului. 6n document

  • 8/18/2019 Lucrari de Laborator SM

    13/39

    RMI poate fi făcut public prin instalarea lui pe un server Feb. Marca&ele introduse deRMI poartă numele de tag4uri RMI.

    ersiunile cele mai importante de RMI3

    • RMI 1." (S1HH1) 4 draft /*' -" de taguri• RMI -." (S1HH) 4 standard ;H taguri• RMI 9.- (S1HH>) 4 standard adoptă mare parte din tagurile propuse de etscape

    asigură suport pentru tabele a fost propusă e%tinderea prin Mat$MI pentru a permite includereade formule matematice

    • RMI ;." (S1HHG) 4 standard primul conform 0nternational :tandard 0:J GG>H suport/:: obiecte multimedia limba& script e%tins facilită i pentru tipărirea paginilor etc.ț  

    • RMI ." (S-""G) 4 draft include Mat$MI si :L în documente RMI adaugă tag4uri pentru dialog video audio embed  progress canvas etc.

    *%emplu de document RMI3

    TDdoctBpe $tmlUT$tmlU  T$eadU  TtitleU*%emplul1 RMIT+titleUT+$eadU

      TbodBU  TpUe%tul meuDT+pU  T+bodBUT+$tmlU

    Tipuri de ta(uri $T%L3

    1. Taguri pentru descrierea structurii:• document3 T$tmlUT$eadUTtitleUT+titleUT+$eadU TbodBUT+bodBUT+$tmlU• te)t3 paragrafe (TpUT+pU) rînd nou (TbrU) te%t preformatat (TpreUT+preU) subscript

    (TsubUT+sub) superscript (TsupUT+supU) citate (TblocEVuoteciteCadresa;citat CUT+blocEVuoteU)

    • liste3 neordonate (TulU TliUT+liU... T+ulU) ordonate (TolU TliUT+liU... T+olU) listădefiniții (TdlU TdtUT+dtUTddUT+ddU ... T+dlU)

    • tabele3 TtableUTcaptionUT+captionUTtrU Tt$UT+t$U ... T+trUTtrU TtdUT+tdU ...

    T+trUT+tableU*%emplu3

    Ttable borderC1CU  TcaptionU  TemU0epuri de casa (merged cells)T+emU  T+captionU  TtbodBU  TtrU  Tt$ ro,spanC-CU  Tt$ colspanC-CUMedia

    Tt$ ro,spanC-CU=lanaTbrUmaro

    TtrU  Tt$Ulungime

    Tt$Ugreutate

    http://www.w3.org/TR/REC-html32-19970114http://www.w3.org/TR/html4/http://www.w3.org/TR/2009/WD-html5-diff-20090825/http://www.w3.org/TR/html4/http://www.w3.org/TR/2009/WD-html5-diff-20090825/http://www.w3.org/TR/REC-html32-19970114

  • 8/18/2019 Lucrari de Laborator SM

    14/39

      TtrU  Tt$UMasculi

    TtdU".H9TtdU;.TtdUG"#

    TtrU

      Tt$UemeleTtdU".H1TtdU;.-TtdU#

    T+trU  T+tbodBUT+tableU

     epuri de casa &merged cells'

    %edia Blanama

    rolun(ime (reutate%asculi ".H9 ;. G"#

    *emele ".H1 ;.- #

    • le(ături3 Ta $refCadresaCUte%tT+aU adresa poate fi un 6'I sau o ancorăCWnumeAncoraC definită cu a&utorul tagului Ta name CnumeAncoraCUT+aU. umele ancorelornu este case8sensitive.

    • ima(ini3 Timg srcCadresa0mgC altCte%t alternativCU• appleturi3 Tapplet codeCnumeisier.classC ,idt$Cd%C $eig$tCdBCUitlu

    applet.T+appletU sau Tob&ect codetBpeCapplication+&avaC classidC&ava3numeisier.classC

    ,idt$Cd%C $eig$tCdBCU itlu applet.T+ob&ectU

    -. Taguri pentru descrierea preent ( rii:• st+le s,eets3Ttag  classCnume/lasa/::C ...U poate fi defint cu TstBle tBpeCte%t+cssCU

    tag.nume/lasa/:: ?atributeT+stBleU• fonturi& culori& alinieri 3 TbUboldT+bU

    TiUitalicT+iU TbUTiU"ol& italicT+iUT+bU TttUteletBpe te%tT+ttU andTbigUbigT+bigU and TsmallUsmallT+smallU Tfont sizeC-C colorCWff""""CfaceCerdanaCU... T+fontU

    • frame-uri3

    Tframeset colsC-"# G"#CU  Tframeset ro,sC1"" -""CU  Tframe srcCframe1.$tmlCU  Tframe srcCframe-.gifCU  T+framesetU Tframe srcCframe9.$tmlCU  TnoframesU  TpU2ocumentul contine3  TulU  TliUTa $refCframe1.$tmlCU pag1T+aUT+liU  TliUTimg srcCframe-.gifC altCimg-CUT+liU

      TliUTa $refCframe9.$tmlCUpag9T+aUT+liU  T+ulU

  • 8/18/2019 Lucrari de Laborator SM

    15/39

      T+noframesUT+framesetU

    9. Taguri pentru implementarea interactivit (ț  ii:• formulare $T%L forms/3

    Tform actionC6'I(p$p asp ...)C met$odCpostCU

    TpU  Tlabel forCprenumeCUPrenume3 T+labelU  Tinput tBpeCte%tC idCprenumeCUTbrU  Tlabel forCnumeCUume3 T+labelU  Tinput tBpeCte%tC idCnumeCUTbrU  Tlabel forCemailCUemail3 T+labelU  Tinput tBpeCte%tC idCemailCUTbrU  Tinput tBpeCradioC nameCtipC valueCbarbatCU =arbatTbrU  Tinput tBpeCradioC nameCtipC valueCfemeieCU emeieTbrU  Tinput tBpeCsubmitC valueCrimiteCU

    Tinput tBpeCresetC valueC0nitializeazaCUT+pU T+formU

    scripturi3 Tscript tBpeCte%t+vbscriptC srcC6'I=:criptCU sau Tscript tBpeCte%t+&avascriptCU...program Xavascript...T+scriptU

    ".. '$T%L

    YRMI *Ytensible RBpere%t MarEup Ianguage

    *ste o versiune strictă i CcuratăC de RMI ;."1.ș  *ste un standard F9/. :e bazează pe YMI.

     u acceptă marca&e incorecte. agurile sunt scrise cu litere mici i nu se acceptă lipsa marca&elor șde înc$idere. u se acceptă imbricarea incorectă a tagurilor (e%. TbUTiUAcest te%t este bold4italicT+bUT+iU). agurile singulare trebuie de asemenea înc$ise (e%. Tbr +U sau TimgsrcCimg.gifC altCMB imageC +U).

    2ocumentul trebuie să fie inclus într4o structură fi%ă (trebuie să e%iste un Croot elementC)

  • 8/18/2019 Lucrari de Laborator SM

    16/39

    '$T%L 1. TransitionalTD2J/ZP* $tml P6=I0/ C4++F9/++22 YRMI 1." ransitional++*CC$ttp3++,,,.,9.org+'+%$tml1+22+%$tml14transitional.dtdCU'$T%L 1. *ramesetTD2J/ZP* $tml P6=I0/ C4++F9/++22 YRMI 1." rameset++*CC$ttp3++,,,.,9.org+'+%$tml1+22+%$tml14frameset.dtdCU

    6n document YRMI poate fi validat la adresa3$ttp3++validator.,9.org+ .

    ".!. CSS

    e$nologia CSS (/ascading :tBle :$eets) este un standard pentru formatarea elementelor unuidocument RMI. *a a apărut în primul rînd din dorin a de a putea formata unitar toateț

     paginile unei aplica ii într4o manieră u oară i fle%ibilă.ț ș ș

    Menirea pricipală este aceea de a specifica cum vor fi afi ate diversele entitati RMI. /::ș  a

    apărut odata cu RMI ;.". :tilurile /:: pot fi definite în pagina sau într4un fi ier separatș(de obicei cu e%tensia .css). *%emplu de /:: utilizat în pagina3

  • 8/18/2019 Lucrari de Laborator SM

    17/39

    $1$-$9$;$$<?color3green

    Pentru a putea varia defini ia pentru un selector a fost introdusă no iunea de clasă. !n felul acestaț ț

    două entită i RMI de acela i tip pot fi formatate diferit dacă se va preciza o clasă diferităț ș pentru fiecare.

    !n fi ierul css3ș p,right @te$t8align:rightA

     p,center @te$t8align:centerA

    !n fi ierul $tml3ș

    ?right?=4cest paragra( va (i aliniat la dreapta,

  • 8/18/2019 Lucrari de Laborator SM

    18/39

    Întrebări de control:

    1. /um se descifrează RMIQ

    -. /um poate fi făcut public un document RMI. /um se numesc marca&ele introduse de

    RMIQ

    9. /are sunt versiunile de RMIQ

    ;. /e tipuri de taguri e%istăQ

    . /e reprezintă YRMIQ

    . !n cîte moduri pot fi adăugate elementele css la un documentQ

    Lucrare de laborator Nr.4

    Tema: Limba5e Client Side ScriptScopul lucrării: familiarizarea cu limba&ele 6a7aScript iș  Action Script.

    Aplica iileț  de tip /lient :ide :cript se referă în general la acele programe Feb care rulează pe

    client (bro,ser) după sau în timpul încărcării paginii Feb de cătrea acesta. Iimba&ele de programare /lient :ide :cript sunt acele limba&e care permit scrierea unor astfel de aplica ii.țAceste limba&e fie sunt integrate în limba&ul RMI i suportate direct de către bro,ser (e%.șXava:cript) fie necesită un plug4in e%tern (e%. Action:cript 4 las$). !n afară de utilizarea delimba&e de tip script pentru implementarea aplica iilor /lient :ideț  se pot utiliza i limba&e deș

     programare (e%. Xava prin Xava Applet). Acest capitol se va concentra pe două limba&e foarterăspîndite i anume Xava:cript i Action:cript.ș ș

    4.1. Limba5ul 6a7aScript

    Iimba&ul 6a7aScript (sau #CM4Script ) este un limba& de tip script suportat de bro,serele Febcare poate fi integrat direct într4o pagină RMI. a ă de alte limba&e el are cîteva avanta&ețimportante cum ar fi3

    • nu necesită instalarea unor aplica ii suplimentare pentru a rula.ț• este simplu de învă at (sinta%a este asemănătoare cu cea a limba&elor / i Xava)ț ș•  permite implementarea unor aplica ii comple%e într4o manieră simplăț• din el se poate accesa i controla direct toate elementele unei pagini RMI (te%tș

    imagini formulare frame4uri etc)• spri&ină validarea datelor din formularele RMI•  permite programarea bazată pe evenimente

  • 8/18/2019 Lucrari de Laborator SM

    19/39

    /ea mai importantă facilitate oferită de Xava:cript este aceea de a adăuga dinamism ișinteractivitate în paginile Feb clasice. 6n e%emplu elocvent este oferit de 2ave au în

     pagina de prezentare a cărtii Xava:cript 9nd *d.3

    • *%emplu de pagină animată folosind Xava:cript

    3lemente de limba5 6a7aScript

    Iimba&ul Xava:cript este case sensitive. 2eclara iile vor fi (op ional) despăr ite de C5C. Ia fel caț ț ți în limba&ul /ș  secven ele de codț  pot forma instruc iuni compuse dacă sunt plasate întreț

    acolade. Pentru comentarii poate fi utilizată sinta%a Xava pentru comentarii pe o singură linie(++) sau pe mai multe linii (+[...[+). Pentru a include o secven ă Xava:cript într4o paginățRMI se va folosi tagul (UUU *% ;.1 TTT)3

    Tscript tBpe Cte%t+&avascriptCU++ cod Xava:criptT+scriptU2e i ma&oritatea bro,serelor acceptă i forma mai vec$e (Tscript language CXava:criptCU)ș șnu se recomandă folosirea acesteia.

    Plasarea codului în pagină se poate face în func ie de momentul în care dorim ca acesta sățruleze. !n sec iunea T$eadU se vor scrie func iile apelabile la nevoie i cele declan ate deț ț ș șevenimente. /odul scris în sec iunea TbodBU se va e%ecuta în timpul încărcării paginii înț

     bro,ser. Pot e%ista oricîte sec iuni de cod Xava:cript atît în T$eadU cît i în TbodBU. Pentruț șsecven e lungi de cod sau pentru cod reutilizabil se poate folosi includerea unui fi ierț șXava:cript e%tern3Tscript tBpeCte%t+&avascriptC srcCfisier/od.&sCUT+scriptU

    8ariabile3 variabilele Xava:cript sunt case sensitive. aribilele nu au asociat un tip de date de ladeclarare ci pot să4 i sc$imbe tipul func ie de valoarea stocată. umele poate începe cu oș țliteră sau cu caracterul C@C. Pentru declararea unor variabile se va folosi construc iaț  var .*%3 var %- B5

    9peratori3

    9peratormatematic

    0escriere 3)amplu e;ultat

    \ adunare %B\- %>

    4 scadere %B4- %9

    [ multiplicare %B[- %1"+ impartire %B+- %-.

    # modul (rest) %B#- %1

    http://www.bookofjavascript.com/Chapter01/Fig01-01.htmlhttp://bigfoot.cs.upt.ro/~dan/curs/pm/ex/ex_4_1.htmlhttp://bigfoot.cs.upt.ro/~dan/curs/pm/ex/ex_4_1.htmlhttp://www.bookofjavascript.com/Chapter01/Fig01-01.htmlhttp://www.bookofjavascript.com/Chapter01/Fig01-01.htmlhttp://bigfoot.cs.upt.ro/~dan/curs/pm/ex/ex_4_1.html

  • 8/18/2019 Lucrari de Laborator SM

    20/39

    \\ incrementare %\\B %<

    44 decrementare %44B %;

    Jparatorii de asignare ( \ 4 [ + #).Jperatorul de concatenare iruri (\). 2acă se concatenează un ir cu un număr rezultă un ir.ș ș ș

    9peratorlo(ic

    0escriere 3)amplu

    egal ca valoare %G fals

    egal si ca tip % adevarat%CC fals

    D diferit %DG adevarat

    U mai mare %UG fals

    T mai mic %TG adevarat

    U mai mare sau egal %UG fals

    T mai mic sau egal %TG adevarat

    Jperatorii logici (]] ^^ D).Jperatorul condi ional (varconditionQval13val-).ț

    2nstrucțiuni

    1. 0nstruc iuneaț  if if (conditie) ?

      cod e%ecutat pentru conditie adevarataelse ?  cod e%ecutat pentru conditie falsa (UUU *% ;.- TTT)3Tscript tBpeCte%t+&avascriptCUvar d ne, 2ate()5var time d.getRours()5if (time T 1") ?document.,rite(C=una 2imineataDC)5

      else  ? document.,rite(C=una _iuaDC)5  T+scriptU

    -. 0nstruc iuneaț  s

  • 8/18/2019 Lucrari de Laborator SM

    21/39

      breaE5default3  cod e%ecutat daca nD1 si nD-*%3Tscript tBpeCte%t+&avascriptCU

    var dne, 2ate()5t$e2aBd.get2aB()5s,itc$ (t$e2aB)?case "3  document.,rite(CduminicaC)5  breaE5case 13  document.,rite(CluniC)5...case

  • 8/18/2019 Lucrari de Laborator SM

    22/39

      n\-5T+scriptU

    . 0nstruc iuneaț  for infor (variable in ob&ect)?

      code de e%ecutat

    *erestre de a7erti;are

    1. Alert bo%alert(Cmesa&C)5

    -. /onfirm bo%confirm(Cmesa&C)5

    9. Prompt bo% (UUU e%;@9 TTT) prompt(Cmesa&CCvaloare implicitaC)5

    *unc iiț

    unc iile sunt secven e de cod care se e%ecută fie prin apelarea e%plicită fie prin legarea deț țun eveniment. 2e obicei func iile sunt plasate în sec iunea T$eadU.ț țunc iile au un nume o listă de parametrii de apel i un bloc de cod. 2acă codul func ieiț ș țcalculează o valoare atunci aceasta poate fi returnată prin aplelul return val5.

    function numeunctie(var1var-...var)? codul functiei

    37enimente

    *venimentele sunt ac iuni care sunt detectate de către bro,ser i pot declan a e%ecu ia unorț ș ș ț

    func ii.ț*venimentele captate de Xava:cript3 onLoad& on>nload& on*ocus& onBlur& onC,an(e&onSubmit& on%ouse97er& on%ouse9ut.*%3function verific:uma() ?  if(document.get*lement=B0d(CsumaC).valueT") ?  alert(C:uma nu poate fi negativaDC)5  document.get*lement=B0d(CsumaC).value"5  ...

    Tinput tBpeCte%tC sizeC9"C idCsumaC onc$angeCverific:uma()CU

    J listă cu evenimentele specifice entită ilor &avascript se găse te laț ș *lated.

    http://bigfoot.cs.upt.ro/~dan/curs/pm/ex/ex_4_3.htmlhttp://www.elated.com/articles/events-and-event-handlers/http://bigfoot.cs.upt.ro/~dan/curs/pm/ex/ex_4_3.htmlhttp://www.elated.com/articles/events-and-event-handlers/

  • 8/18/2019 Lucrari de Laborator SM

    23/39

    %ecanisme de tratare a erorilor

    Pentru tratarea erorilor se pot folosi contruc iile trB..cartc$ pentru captarea lor respectivțt$ro, pentru generarea lor.

    9biecte 6a7aScript

    Xava:cript este un limba& orientat pe obiecte. Jbiectele au proprietă i i metode. Pentruț șcrearea obiectelor se va folosi operatorul ne,. Proprietă ile obiectului pot fi create dinamicț

     prin atribuirea unor valori3 pne, Jb&ect()5 p.nume C0onC5 p.varsta -5 

    4.. %odelul 09%

    (sursa3 FiEBmedia)

    *%emplu de 2JM3

    http://bigfoot.cs.upt.ro/~dan/curs/pm/images/jsdom.gif

  • 8/18/2019 Lucrari de Laborator SM

    24/39

    iecare obiect definit de modelul 2JM are o serie de proprietă i i metode prin care poate fiț școntrolat3

  • 8/18/2019 Lucrari de Laborator SM

    25/39

      ?

      t$is.adresaCnu areC5

     

    var pers3Persoana ne, Persoana()5

     pers.inaltime 1G"5

    0nstruc iuni condi ionale3 if..t$en..else s,itc$ la fel ca i la Xava:criptț ț ș

    0nstruc iuni ciclice3ț  

    4 for

    var i3int5

    for (i"5 iT5 i\\) ? trace(i)5

    4 for..in

    var mBJb&3Jb&ect ?%3-" B39"5for (var i3:tring in mBJb&)

    ?

      trace(i \ C3 C \ mBJb&7i8)5

    ++ output3 %3 -" B3 9"

    - for eac,..in

    var mBJb&3Jb&ect ?%3-" B39"5

    for eac$ (var num in mBJb&)?

      trace(num)5

    ++ output3 -" 9"

    -

  • 8/18/2019 Lucrari de Laborator SM

    26/39

    ,$ile (i T )5

    ++ output3

    Sarcina: realizarea unei aplica ii ,eb multimedia utilizînd no iuni dinț ț  limba&ele 6a7aScript

    iș  Action Script.

    Întrebări de control:

    1. /are sunt avanta&ele limba&ului Xava:criptQ

    -. ariabile Xava:cript operatori instruc iuni.ț

    9. ipuri de ferestre de avertizare.

    ;. /are este sinta%a de declarare a func iilor. /are sunt evenimentele captate de Xava:criptQț

    . /e mecanisme Xava:cript se utilizează pentru tratarea erorilor captarea lorQ

    . 2a i e%emplu de model 2JM.ț

    G. /e reprezintă Action :cript care este versiunea actualăQ

    H. *lemente utilizate în Action :cript.

  • 8/18/2019 Lucrari de Laborator SM

    27/39

    Lucrare de laborator Nr. ?

    Tema: Limba5e Ser7er Side ScriptScopul lucrării: familiarizarea cu limba&ul PRP.

    e$nologiile :erver :ide :cripting permit crearea de aplica ii Febț  comple%e prin procesareadatelor pe server i generarea unor pagini în mod dinamic.ș  !n felul acesta se pot interfa ațaplica iile Feb cu servere de baze de date sau servere de po tă electronică. Iimba&eleț ș:erver :ide :cript au posibilitatea de a accesa datele citite în formulare RMI ișimplementează biblioteci de acces la resurse e%terne cum ar fi o bază de date. :predeosebire de te$nologii mai vec$i care realizau acela i deziderat (*%. /L0) server sideșscripting asigură o viteză i o securiatate sporite. !n general interpretoareleș  limba&elor :::

    sunt integrate sub formă de module c$iar în serverul de Feb. *%emple de limba&e :::3 A:P/oldusion MarEup Ianguage X:P PRP Perl P$Bton 'ubi etc.

    ?.1. Limba5ul P$P 

    Iimba&ul PRP este un un limba& de tip server side script creat special pentru Feb. Iiniile de codPRP trebuie incluse în interiorul unei pagini Feb scrisă în RMI. 6tilizînd PRP pot ficonstruite u or3ș

    o mecanisme de autentificatre utilizatorio sisteme de gestiune a conținutuluio sisteme de tip C,eb based e4mailCo gestionare de liste de mesa&eo forumuri Febo generarea automată de documente pdf 

    :erverul Feb încarcă pagina din sistemul de fi iere propriu si constatînd că este vorba de oș pagină PRP o trimite interpretorului PRP. 0nterpretorul PRP parcurge pagina i e%ecutășinstruc iunile PRP întîlnite. 0nstruc iunile PRP au ca i scop principal acela de a genera codț ț șRMI. 2e asemenea codul RMI din fi ierul original este copiat pur i simplu la ie ire.ș ș ș0nterpretorul PRP transmite înapoi către server fi ierul transformat prin interpretarea codulșPRP. Acest fi ier va con ine doar cod RMI (eventual iș ț ș  /lient :ide :cript etc.) dar nu ișcod PRP.a ă de aceste limba&e ::: PRP are cîteva avanta&e importante3ț

    o  performan ăț  bunăo interfe e cu o mare varietate de sisteme de gestiune a bazelor de datețo  biblioteci puternice care acoperă toate opera iile Feb uzualețo gratuit ($ttp3++,,,.p$p.net) +cost scazut ($ttp3++,,,.zend.com)

    http://www.php.net/http://www.zend.com/en/http://www.php.net/http://www.zend.com/en/

  • 8/18/2019 Lucrari de Laborator SM

    28/39

    o ușor de învățat și utilizato  portabilo disponibil ca și cod sursă

    Pentru includerea codului PRP într4o pagină RMI se preferă de obicei stilul YMI3TQp$p ... QU

    Tipuri de date P$P nteger  4 utilizat pentru numere întregi Double 4 utilizat pentru numere realeString  4 utilizat pentru iruri de caractereș

     4rra6 4 utilizat pentru a stoca serii de date%bect  4 utilizat pentru a re ine obiecteț  

     Pd(doc* Pd(in(o 4 vezi sec iunea .-ț:pecific3 numele variabilelor PRP sunt prefi%ate de semnul ( @7ar1 sirul 1 )./a i în / identificatorii PRP suntș  Ccase sensitiveC.Pentru definirea constantelor se poate folosi instruc iunea defineț  (defineP2&!.1"/ @alfa DP2).

    Ia PRP domeniul de vizibilitate pentru variabile poate fi3o Elobal 4 varibilele globale definite în afara func iilor sunt vizibile în tot fi ierulț ș

    curent mai pu in în interiorul func iilor.ț țo Local unei functii 4 variabilele create în func ii sunt vizibile doar în interiorulț

    acestora.o Elobal Fn interiorul unei func iiț  4 acest tip de varibile sunt folosite pentru a

    accesa variabilele globale cu acela i nume.ș

    Accesarea datelor din formularele $T%LAccesarea varibilelor din formularele RMI se face prin intermediul tablourilor predefinite

    @PJ: si @L* (dependent de metoda declarata de formular). *%emplul .13 citire dinformular .

    9peratori P$PJperatorii PRP sunt în general identici cu cei din limba&ul / cu cîteva e%ceptii3Jperatorul de concatenare iruri C.C (sir1.C abcC).ș:ubstitu ia de variabile în ir CC (CvarC fata de var).ț șJperatorul de referire C]C (b ]a5).Jperatorul de testare a identitatii CC (a1-9).Jperatorul de suprimare a erorilor CC (a (b + " )5).Jperatorul de e%ecutie CC (dir c3).

    2nstruc iuni P$Pț0nstruc iuneaț  i( 3if e)pr/  instructiuneAde7aratelse  instructiune*als0nstruc iuneaț  elsei( 3if e)pr1/  instructiune1elseif e)pr/

      instructiune...else

    http://bigfoot.cs.upt.ro/~dan/curs/pm/ex/ex_5_1.htmhttp://bigfoot.cs.upt.ro/~dan/curs/pm/ex/ex_5_1.htmhttp://bigfoot.cs.upt.ro/~dan/curs/pm/ex/ex_5_1.htmhttp://bigfoot.cs.upt.ro/~dan/curs/pm/ex/ex_5_1.htm

  • 8/18/2019 Lucrari de Laborator SM

    29/39

      instructiuneN0nstruc iuneaț   switch3s

  • 8/18/2019 Lucrari de Laborator SM

    30/39

      foreac$ ( t as ind U el )  ec$o CTI0U ind 4 elT+I0UC5  ec$o CT+6IUC5++ apel functietPers arraB( C0onescuC U 1HG)5

    afis@tablou(Canul nasteriiC tPers)5:e pot declara si functii cu parametrii de apel optionali3function afiseaza@titlu( titlu marime CR1C culoare CW""""""C)?  ec$o CTmarimeU TJ colorC culoareCUC.titlu.CT+JUT+marimeUTPUC50mplicit parametrii sunt transmi i prin valoare. 2acă se dore te transmiterea prin adresă se vaș șutiliza referin e3țfunction sc,imba @a& @b /G  ec,o Apel sc,imbaa@a& b@b/

      @c @b  @b @a  @a @cJIimba&ul PRP suportă i func ii recursive3ș țfunction afisHin7ersat@sir/G  if strlen@sir/K/  afisHin7ersatsubstr@sir&1//

    ec,o substr@sir& & 1/J

    eutili;area codului

    Pentru a cre te eficien a dezvoltării aplica iilor se preferăș ț ț  reutilizarea codului gata scris.J primă modalitate o reprezintă crearea i utilizarea deș   biblioteci de func iiț .Aceste bibilioteci sunt scrise în fi iere e%terne care pot fi incluse in aplicatia curenta prinșinstructiunile include sau reMuire. :pre deosebire de include instructiunea reMuire esteinlocuita cu fisierul referit la incarcarea paginii indiferent daca e%ecutia codului va a&ungesau nu la aceasta instructiune.J a doua modalitate este reprezentata de posibilitatea crearii ierar$iilor de clase (incepand cu

    PRP ."). Pentru mai multe informatii accesatiPRP3 /lasses and Jb&ects.

    Controlul SesiunilorProtocolul RP este un protocol lipsit de informatii de stare. Acest lucru se traduce prinfaptul ca acest protocol nu are nici un mecanism propriu prin care sa trasmita datele intredoua tranzactii (pagini). Ia cererea succesiva a doua pagini de catre un utilizator catre unserver de Feb nu e%ista nici o posibilitate de a transmite spre cea de a doua pagina faptul caeste vorba de catre acelasi utilizator. 0deea de la care pleaca controlul sesiunilor este tocmaiacela de a permite urmarirea actiunilor unui utilizator pe parcursul unei sesiuni de accesecatre respectivul server de Feb.

    :esiunile PRP sunt gestionate prin intermediul unui numar unic ( session D) generat aleator pe baza unui algoritm criptografic. Acest numar este generat de catre PRP si mentinut de

    http://php.net/manual/en/language.oop5.phphttp://php.net/manual/en/language.oop5.php

  • 8/18/2019 Lucrari de Laborator SM

    31/39

    catre clientul de Feb care a acceseaza pagini pe tot parcursul sesiunii de lucru.Pasii care se fac la utilizarea unei sesiuni sunt urmatorii3

    o crearea unei sesiuni (session@start()5)o inregistrarea variabilelor sesiune (session@register( CvarC)5)o utilizarea variabilelor sesiune pentru controlul accesului sau personalizarea

     paginii (@:*::0J7CvarC85)o stergerea variabilelor sesiune si distrugerea sesiunii (session@destroB()5).

    J alternativa la utilizarea sesiunilor o reprezinta te$nologia coocEies caz in care datelespecifice utilizatorului sunt pastrate pe calculatorul acestuia (in fisiere cooEies gestionate de

     bro,ser).

    ?.. E0

    =iblioteca L2 este folosite pentru crearea dinamica a imaginilor (L0 XPL PL). *stedisponibila pe mai multe platforme ($ttp3++,,,.libgd.org+) dar in continuare ne vom referi laimplementarea PRP.

    Pentru instalarea bibliotecii modulul PRP trebuie compilat cu optiunea 44,it$4gd. Iaversiunea de Findo,s se poate folosi biblioteca [email protected] (se va modifica corespunzator

     p$p.ini). 0n p$p.ini trebuie facuta si modificarea3(d.5pe(Hi(noreH

  • 8/18/2019 Lucrari de Laborator SM

    32/39

    Jbs3 'eturneaza inde%ul culorii din punctul (%B).7oid ima(ecolorset@ima(e& @inde)& @red& @(reen& @blue/Jbs3 seteaza culoarea pentru inde%ul respectiv.K arra+ ima(ecolorsforinde)@ima(e& @inde)/Jbs3 obtine culoarea ('L=A) de la inde%ul specificat.K bool ima(ecop+@dstHim& @srcHim& @dstH)& @dstH+& @srcH)& @srcH+& @srcH

  • 8/18/2019 Lucrari de Laborator SM

    33/39

    if (Dpdf@open@file(pdf CC))die(C*rror3 ail to open output file.C)5

     pdf@set@info(pdf CAut$orC nume.C TC. email.CUC)5 pdf@set@info(pdf CitleC C/ 4C.nume)5 pdf@set@info(pdf C:ub&ectC C$e / of C.nume.C.C)5define(CPAL*@R*0LRC G;-)5 +[ A; [+

    define(CPAL*@F02RC H)5define(C*'@:PA/0LC 1;)5 pdf@begin@page(pdf PAL*@F02R PAL*@R*0LR)5++ Print namefont pdf@findfont(pdf Cimes4=oldC C,inansiC ")5

     pdf@setfont(pdf font 1;.")5string,idt$ pdf@string,idt$(pdf nume font 1;.")5%pos (PAL*@F02R + -) 4 (string,idt$ + -)5

     pdf@s$o,@%B(pdf nume %pos >"")5%pos pdf@get@value(pdf Cte%t%C ")5Bpos pdf@get@value(pdf Cte%tBC ") 4 *'@:PA/0L5

    ++ Print personal information.font pdf@findfont(pdf Cimes4'omanC C,inansiC ")5

     pdf@setfont(pdf font 1-.")5$eaderdata arraB(adresa oras tara codPostal tel email)5

     pdf@end@page(pdf)5 pdf@close(pdf)5buf pdf@get@buffer(pdf)5len strlen(buf)5$eader(C/ontent4tBpe3 application+pdfC)5$eader(C/ontent4Iengt$3 lenC)5$eader(C/ontent42isposition3 inline5 filenameresume.pdfC)5

     print buf5

    Sarcina: realizarea unei aplica ii ,eb multimedia utilizîndț  limba&ul P$P.

    Întrebări de control:

    1. 2escifrarea limba&ului :::. *%emple de limba&e :::.

    -. /are sunt avanta&ele limba&ului PRP fa ă de alte limba&e :erver :ide :criptingQț

    9. /are este sinta%a de a include cod PRP într4o pagină RMIQ

    ;. /e tipuri de date sunt specifice limba&ului PRPQ

    . umi i cîteva e%cep ii ale operatorilor PRP fa ă de operatorii altor limba&e.ț ț ț

    . :inta%a de declarare a func iilor PRP.ț

    G. Ia ce este recomandat reutilizarea coduluiQ

    H. /um are loc controlul sesiunilor PRPQ

  • 8/18/2019 Lucrari de Laborator SM

    34/39

    1". /are este destina ia bibliotecilor L2 P2libQț

    Lucrare de laborator Nr. Tema: Aplica ii 2Aț

    Scopul lucrării: familiarizarea cu te$nologiile '0A studierea limba&elor Adobe *le) iș S8E.

    e$nologiile '0A permit crearea de aplicatii Feb comple%e. :copul este acela de a estompadiferentele referitoare la interfete si timp de raspuns fata de aplicatiile desEtop clasice.

    .1. A5a)

    e$nologia AXAY (AsBnc$ronous Xava:cript and YMI) nu propune un limba& nou ci un modelnou de abordare a implementarii aplicatiilor Feb. 0ntr4adevar nu se propune nici un limba&nou ci o modalitate noua de a combina te$nologiile e%istente.

    0dea de baza pe care se spri&ina A&a% este acea de a utiliza obiecte Xava:cript de tipYMIRttp'eVuest pentru a face apeluri asincrone catre serverul de Feb. 0n acest fel se vaevita reincarcarea paginii Feb ori de cate ori sunt necesare date de la server.Aplicatiile Feb care folosesc A&a% devin astfel mai mici mai rapide si mai prietenoase.e$nologia A&a% este un standard actual ma&oritatea navigatoarelor suportandYMIRttp'eVuest (0nternet *%plorer irefo% /$rome Jpera :afari). 0n continuare se va

     prezenta o scurta functie care detecteaza tipul de bro,ser si instantiaza obiectul YMIRttp inmod corespunzator3function a5a)*unction/G 7ar )ml,ttp

     if

  • 8/18/2019 Lucrari de Laborator SM

    35/39

     J else if

  • 8/18/2019 Lucrari de Laborator SM

    36/39

    metoda de transmitere a datelor (+$T  sau PST ) cel de al doilea specfica care pagina de peserver (PRP A:P etc.) va prelucra cererea iar ultimul parametru trebuie sa fie true pentruapeluri asincrone. 0n cazul functiei send parametrul va fi null in cazul apelurilor +$T  la

     pagini din acelasi director de pe server.Pentru a modifica o portiune a paginii curente aceasta portiune poate fi inclusa intr4untag-&iv. *%emplu3

    == fisierul a5a)1.,tml,tmlK,eadKtitleK3)emplu A5a) =titleKscript t+pete)t=5a7ascriptKfunction a5a)/G 7ar )ml,ttp if

  • 8/18/2019 Lucrari de Laborator SM

    37/39

    == fisierul a5a)epl.p,pOp,pec,o Q,KTe)t P$P=,KbrKTe)t

    (enerat din P$PQOK

    Pentru mai multe informatii consultati tutoriale A&a% la ,9:c$ools a&a%tutorials si tizag.

    Pentru a crea aplicatii comple%e se poate apela si la biblioteci a&a% cum ar fi Looglecode &uerBsau 2o&o.

    .. Adobe *le)

    Adobe le% a fost creat de Adobe :Bstems si este destinat crearii de aplicatii interactive '0A. *limbina formatul MYMI (Macromedia YMI) cu limba&ul de tip script Actionscript.'ezultatul final este un fisier las$ (:F) care cuprinde elemente de interfata interactive.rame,orE4ul las$ este oferit de Adobe in regim open source. Pentru dezvoltarea eficienta

    a aplicatiilor se poate utiliza Adobe le% =uilder  oferit in regim comercial.Pentru utilizare in domeniul educatiei firma Adobe ofera licente gratuite de Adobe le%=uilder Professional.Avanta&ul te$nologiei le% consta si in posibilitatea de a rula aplicatiile atat intr4un navigatorFeb cat si ca aplicatii desEtop (prin intermediul Adobe A0' ).6n e%emplu de utilizare a te$nologiei le% poate fi vizualizata la urmatoarea adresa Feb4 2esign4/ontact4orm4le%.

    . !. S8E

    :L (:calable ector Lrap$ics) este un limba& de tip YMI care permite definirea imaginilor vectoriale pentru Feb. Avanta&ul unui format vectorial in fata unui format bitmap (gif &pg

     png) consta in posibilitatea de a o apropria+departa sau redimensiona fara a pierde calitatea.2e asemenea formatul :L permite animarea oricarui atribut utilizat la definirea imaginii. 0n

     plus fisierul care descrie o imagine este mai mic decat fisierul ec$ivalent bitmap este editabilsi cu editoare de te%t obisnuite si poate fi tiparit la orice rezolutie de imprimare curezultate asemanatoare.J serie de companii precum :un MicrosBstems Adobe Apple 0=M siodaE au fost implicate activ in dezvoltarea acestui standard.Acest standard F9/ este suportat la ora actuala de multe navigatoare. 0n plus se poate utiliza

    un plug4in de la Adobe (Adobe :L ie,er ) pentru navigatoarele care nu suporta directstandardul (e%. 0nternet *%plorer).*%emplu de imagine :L3O)ml 7ersion1. standalonenoOKV09CTUP3 s7( P>BL2C -==#!C==0T0 S8E 1.1==3N ,ttp:==  circle c)1 c+4 r"

    stroIeblacI stroIe-

  • 8/18/2019 Lucrari de Laborator SM

    38/39

  • 8/18/2019 Lucrari de Laborator SM

    39/39

    . 2escifrarea limba&ului :L. /are este destina ia i avanta&ulQț ș

    . umi i tagurile definite de :L pentru forme grafice diverse efecte.ț