Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
BulgaraCeha slovacaCroataEnglezaEstonaFinlandezaFranceza
GermanaItalianaLetonaLituanianaMaghiaraOlandezaPoloneza
SarbaSlovenaSpaniolaSuedezaTurcaUcraineana

AdministrationAnimalsArtBiologyBooksBotanicsBusinessCars
ChemistryComputersComunicationsConstructionEcologyEconomyEducationElectronics
EngineeringEntertainmentFinancialFishingGamesGeographyGrammarHealth
HistoryHuman-resourcesLegislationLiteratureManagementsManualsMarketingMathematic
MedicinesMovieMusicNutritionPersonalitiesPhysicPoliticalPsychology
RecipesSociologySoftwareSportsTechnicalTourismVarious

Developer Form Builder

computers



+ Font mai mare | - Font mai mic



Developer Form Builder

Forms Builder este componenta principala a programului Develorper/2000. Este un instrument de dezvoltare orientat obiect, multiplatforma, permitand accesul la mai multe baze de date.



Developer- Forms are 3 componente executabile:

Form Builder - componenta care permite construirea de aplicatii, proiectarea si stocarea definitiilor formelor, meniurilor si bibliotecilor.

Form Compiler componenta care permite compilarea aplicatiilor create de Form Builder.

Form Runtime componenta care permite rularea unei aplicatii create si compilate cu Form Builder, respectiv Form Compiler.

O aplicatie realizata cu Form Builder este impartita in module. Un modul este o colectie de obiecte care asigura functionalitatea aplicatiei.

Sunt 4 tipuri de module in Form Builder:

Form este o colectie de obiecte si de rutine de cod care definesc interfata aplicatiei. Citeva dintre obiectele care se pot defini intr-un modul Form sunt: ferestre, text item-uri, check box-uri, butoane, mesaje de avertizare, liste de valori, triggere.

Menu este o colectie de obiecte care ajuta utilizatorul sa opereze cu interfata aplicatiei; reprezinta o colectie de elemente de meniu ( un meniu principal si un numar de submeniuri)

PL/SQL Libraries este o colectie de proceduri, functii si pachete (cod PL/SQL ) care pot fi apelate de alte module ale aplicatiei.

Object Libraries este o colectie de obiecte care pot fi utilizate in dezvoltarea aplicatiilor.

Object Navigator

Object Navigator asigura o vizualizare ierarhica a obiectelor din toate modulele deschise. La cel mai inalt nod Object Navigator include cele 4 tipuri de module Form, Menus, Libraries, Object Libraries si Built-in Packages, Database Objects. Obiectele continute intr-un nod se identeaza pentru a sugera apartenenta la acel nod. Fiecare nod care contine cel putin un obiect are in stanga sa semnul sau + in functie daca obiectele pe care le contine sunt afisate sau nu.

Fiecare obiect are un icon specific care indica tipul de obiect. Ca facilitati de baza enumeram:

Selectarea obiectelor

Crearea si stergerea de obiecte

Copierea si mutarea obiectelor in si intre module

Localizarea rapida a obiectelor folosind Fast Search

In Object Navigator pot fi mai multe module din diferite aplicatii

Layout Editor

Layout Editor este un instrument grafic de proiectare si aranjare a interfetei utilizator.

In titlul ferestrei Layout Editor se pot citi informatii privind numele formei curente, numele canvasului pe care-l editam si numele blocului. Cand se creaza un item in Layout Editor , Form Builder ataseaza item-ul automat blocului curent. Se poate schimba blocul curent din lista cu blocuri disponibila in partea dreapta-sus.

Rigla orizontala si verticala poate fi afisata sau ascunsa folosind optiunile din meniu View-Rules. Unitatea de masura poate fi schimbata cu ajutorul optiunilor din meniu Format-LayoutOptions-Ruler.

In partea de jos se gaseste linia de stare care afiseaza informatii despre:

Pozitia cursorului mouse-ului

Lupa

Dimensiunile obiectelor la crearea/mutarea lor cu mouse-ul

In Layout Editor se poate lucra cu un singur canvas in acelasi timp.

PL/SQL Editor

Este un editor care permite introducerea si compilarea rutinelor PL/SQL. Rutinele PL/SQL includ triggere, proceduri, functii, comezi asociate optiunilor din meniu s.a.m.d.

In partea de sus a editorului PL/SQL se definesc optiunile privind tipul si obiectul, iar mai jos se numele procedurii, functiei sau pachetului.

In lista privind tipul se gasesc 3 optiuni:

Program Unit

Trigger

Menu Item Code

Pentru tipul Program Unit nu se poate seta tipul obiectului.

Mesajele de eroare apar in partea de jos a editorului PL/SQL.

Property Palette

Property Palette este fereastra unde se seteaza proprietatile obiectelor create in modulul Form si Menu. La selectarea unui obiect din Object Navigator fereastra Property Palette se actualizeaza automat cu proprietatile obiectului selectat. Property Palette este formata din 2 coloane, in coloana din stanga se gasesc numele/tipul proprietatilor grupate pe categorii si in dreapta valorile proprietatilor.

Navigarea prin fereastra de proprietati se poate realiza cu tastele sageti (sus/jos).

In coloana de valori pot aparea urmatoarele optiuni:

Camp text in care se pot introduce text sau valori numerice.

Lista din care se pot alege optiunile afisate.

Butonul MORE - prin apasarea butonului se deschide o noua fereastra unde trebuiesc introduse date suplimentare.

Object Library

Object Library este o fereastra asemanatoare cu Property Palette care poate fi utilizata pentru crearea, stocarea, intretinerea si distribuirea obiectelor reutilizabile.

Avantajele principale in utilizarea bibliotecilor de obiecte:

Bibliotecile de obiecte se deschid automat la pornirea programului Form Builder, facand astfel obiectele imediat utilizabile.

Se pot asocia mai multe biblioteci de obiecte unei aplicatii, astfel incat aplicatia sa se inscrie in anumite standarde.

Crearea rapida a aplicatiilor folosind obiecte predefinite prin tehnica drag-and drop, sporind astfel productivitatea in dezvoltarea de aplicatii

Afisarea ferestrei Object Library se realizeaza folosind optiunile din meniu Tools-Object Library.

Menu Editor

Editorul de meniuri in Form Builder este un instrument grafic de proiectare, creare si aranjare a modulelor de meniu. Intre Menu Edfitor, Object Navigator si Property Palette exista o sincronizare, astfel orice modificare in Menu Editor se regaseste si in celelalte 2 ferestre.

Pentru crearea unei aplicatii nu este necesara definirea unui meniu. La rulare se activeaza un meniu implicit (DEFAULT&SMARTBAR) care contine toate comenzile de baza.

Dupa crearea unui meniu cu ajutorul instrumentului Menu Editor, meniul trebuie atasat modulului From, setand urmatorii parametrii din fereastra Property Palette pentru modulul form unde se doreste atasarea:

Menu Source

Menu Module

Initial Menu

Menu Style

Menu Role

1. Definirea modulelor

Forms Builder suporta mai multe tipuri de formate pentru salvarea si stocarea modulelor. Exista 2 optiuni pentru salvarea modulelor:

In fisiere sistem: fisierele au extensia FMB. Ele pot fi deschise pentru modificari ulterioare.

In baza de date: modulele sunt salvate in tabele speciale din baza de date.

Este responsabilitatea administratorului bazei de date de a identifica metoda de stocare optima pentru modulele aplicatiei.

Modulele pot exista in 3 tipuri de formate:

Binar - formatul binar poate fi utilizat pe mai multe platforme. Din acest format se poate genera fisiere executabile pentru diferite sisteme de operare.

Text - Formatul text este un format citibil. Acest format poate fi generat din formatul binar folosind Form Builder; formatul text descrie obiectele si codul fiind utilizat pentru intocmirea documentatiei aplicatiei.

Executabil - Formatul executabil este folosit de utilizatori pentru a rula aplicatia; fisierele in format executabil sunt specifice platformei si sunt generate din format binar folosind componenta COMPILER.

In Form Builder, modulele sunt create si salvate in format binar.

MODUL

BINAR extensie

Form

FMB

Menu

MMB

Library

PLL

Formatul binar poate fi deschis pentru modificari ulterioare.

Module  Binary (Design) Text Executable Runfile

Form .FMB .FMT .FMX

Menu .MMB .MMT .MMX

PL/SQL Library .PLL .PLD .PLX, .PLL

Object Library .OLB .OLT NA

Extensiile fisierelor salvate pe disc:

.FMB Form Module Binary

.FMT Form Module Text

.FMX   Form Module Executable

.MMB Menu Module Binary

.MMT Menu Module Text

.MMX   Menu Module Executable

.PLL PL/SQL Library Module Binary

.PLD PL/SQL Library Module Text

.PLX PL/SQL Library Module Executable

.OLB Object Library Module Binary

.OLT Object Library Module Text

Developer genereaza fisiere text cu extensia ERR. Aceste fisiere contin mesajele de eroare care apar la compilare, fiind astfel utile la depanarea aplicatiei.

Aplicatiile pot avea mai multe module, iar un modul poate avea mai multe obiecte.

2. Modulele in Forms Builder

Elementul central al aplicatilor dezvoltate in Forms Builder este modulul (module). FormBuilder accepta existenta a 4 tipuri de module:

Form reprezinta o colectie de obiecte si rutine care definesc interfata si functionalitatea aplicatiei.

Menu reprezinta o colectie de elemente de meniu.

PL/SQL library este o biblioteca de proceduri, functii si/sau pachete care pot fi apelate din alte module ale aplicatiei.

Object library reprezinta o colectie de obiecte care ajuta la dezvoltarea aplicatiei.

Modulele pot fi salvate ca fisiere sistem sau direct in baza de date.

Ele pot fi convertite intre formate binare, text sau fisiere executabile.

Numele unui modul poate sa contina maxim 30 caractere si trebuie sa inceapa cu o litera. Poate contine orice combinatie de litere si caractere speciale ($,,etc), exceptand cuvinte rezervate Oracle si duplicate.

3. Operatii asupra modulelor

Crearea unui modul

In meniu cu optiunile File-New se alege tipul de modul dorit.

In Object Navigator se selecteaza tipul de modul dorit si se apasa butonul CREATE (+) sau NEW.

Deschiderea unui modul

In meniu cu optiunile File-Open si din fereastra de dialog se alege fisierul dorit.

In Object Navigator se apasa butonul OPEN si apare fereastra de la punctul 1.

Inchiderea unui modul

In meniu cu optiunile File-Close.

In Object Navigator se apasa butonul DELETE. Inainte de a inchide un modul este posibil sa apara fereastra de dialog Save

Salvarea unui modul

In meniu cu optiunile File-Save sau File-Save as

In Object Navigator se apasa butonul SAVE.

Stergerea unui modul

A.    Daca este stocat in baza de date, din meniu se folosesc optiunile File-Administration-Delete.

B.     Daca este salvat ca fisier sistem, se folosesc comenzile specifice sistemului de operare

Redenumirea unui modul

A.    Daca este stocat in baza de date, din meniu se folosesc optiunile File-Administration-Rename.

B.     Daca este salvat ca fisier sistem , se folosesc comenzile specifice sistemului de operare.

OBS:

La punctul B. exista atat un nume de fisier, cat si un nume intern care se vede in Object Navigator.

Revenirea la ultima versiune salvata a modulului

Din meniu se folosesc optiunile File-Revert

Convertirea modulelor din formar binar in format text

Exista posibilitatatea de a converti modulele din formatele binare si text.

Din meniu se aleg optiunile File-Administration-Convert

Compilarea modulelor

Din meniu se folosesc optiunile File-Administration-CompileFile sau folosind optiunile Program-Compile.

Exista posibilitatea de a compila automat inainte de a rula un program Tools-Preferences-Build Before Running

Rularea unui modul din Form Builder

Din meniu se folosesc optiunile Program-RunForm.

Din Object Navigator se apasa butonul RUNFORM

Se pot rula doar modulul Form, restul modulelor meniu si biblioteci nu pot fi rulate separat ci numai legate de modulul Form. Form Builder incarca automat modulele meniu si bibliotecile de care are forma nevoie atunci cand rulezi o forma.

4. Blocurile

Block un container care grupeaza obiecte, cum ar fi butoane, liste samd.

Blocurile nu au o reprezentare fizica, ele fiind regasite mai mult la nivelul logic al unei aplicatii. Doar elementele grupate intr-un bloc sunt vizibile la nivelul interfetei utilizator.

Blocurile pot fi grupate in 2 tipuri:

A.    Data Block blocuri care sunt asociate cu o tabela dintr-o baza de date.

Blocurile pot fi single-record adica afiseaza un singur tuplu la un moment dat sau multi-record care permit vizualizarea mai multor tupluri deodata.

B.     Control Block blocuri care nu sunt asociate cu date, ele fiind concepute ca elemente de control.

Un frame este o cale predefinita de aranjare a cimpurilor unui bloc care stabileste marginile blocului, distanta dintre item-uri si textul asociat fiecaruia.

Sursele de date pentru Data Block

Tabele sau tabele virtuale

Proceduri stocate

Tabelele sunt cele mai folosite ca sursa de date pentru blocurile de date. Daca nu exista cerinte speciale, tabela ramane cea mai buna alegere ca sursa de date. Cand se creaza un bloc bazat pe tabela Forms Builder genereaza automat la nivel de forma:

Rutine SQL care permit inserari, modificari, stergeri si interogari.

Rutine care preiau constrangerile tabelei..

Creaza elemente care corespund cu coloanele tabelei..

Un block poate fi asociat doar unei singure tabele.

3. Procedurile stocate returneaza date pentru blocurile de date prin utilizarea uneia din cele 2 tipuri:

reference cursor se creaza un cursor care se deschide si este populat cu date in urma unei instructiuni SELECT

acesta varianta permite doar interogari si nu permite folosirea de intructiuni DML.

este o metoda ideala daca interogarile nu depind de declaratii PL/SQL.

table of records este o structura PL/SQL care se aseamana cu o matrice de inregistrari

este o metoda ideala daca interogarile depind de declaratii PL/SQL si SQL

este o metoda extrem de eficienta pentru a salva traficul de retea

Cand se doreste afisarea mai multor inregistrari pe ecran se seteaza proprietatea Number of Records Displayed.

Scroll bar este separata de elementele din bloc si poate fi plasata oriunde pe ecran. Poate fi mutata, redimensionata si setate diferite culori.

Pentru a sterge un scroll bar i se seteaza proprietatea Set Scroll Bar pe No.

Crearea unui bloc

Data Block

  1. Din meniu cu optiunile Tools-DataBlockWizard.
  2. Apasand pe butonul CREATE (+). Se poate alege optiunea DataBlockWizard sau Build a New Data Block Manually. In cazul al doilea se seteaza proprietatile Query Data Source Type si  DML Data Target Type

Control Block

Apasand pe butonul CREATE (+).

Se alege optiunea Build a New Data Block Manually.

5. Crearea si modificarea unui Text Item

Text Item este un obiect vizual cu ajutorul caruia utilizatorul poate interoga,insera, sterge date. In mod normal, text item corespunde unei coloane unui tabel din baza de date. Fiecare item din forma trebuie sa se afle in cadrul unui bloc.

Sunt 2 cai principale pentru a crea un text item:

folosind Layout Editor

Se selecteaza butonul TEXT ITEM.

Se pozitioneaza cursorul mouse-ului in locul unde se doreste item-ul.

Cu un singur click text item-ul apare pe canvas .

Se apeleaza fereastra de proprietati.

folosind Object Navigator

Se selecteaza un item din cadrul blocului unde dorim sa creem butonul.

Se apasa tasta CREATE (+).

Form Builder permite utilizarea mai multor tipuri de item-uri pentru realizarea interfetei aplicatiei.

button

chart item

check box

display item

image item

list item

radio group

sound item

text item

OLE container

ActiveX control

Item-urile pot fi grupate in 2 categorii:

input item - accepta introducerea datelor

text item

check box

list item

radio group

OLE container

ActiveX control

CHECK BOX

Check box este un obiect grafic care permite alegerea unei stari din 2 posibile (ex. ON/OFF sau A/F). Check Box poate stoca valori de tip char, number si date. Cand se defineste un check box se poate specifica valorile pentru fiecare stare, setand proprietatile din Property Palette (Value when Checked, Value when Unchecked).

Sunt 2 cai principale pentru a crea un Check Box:

folosind Layout Editor

Se selecteaza butonul CHECK BOX.

Se pozitioneaza cursorul mouse-ului in locul unde se doreste sa apara.

Cu un singur click check box apare pe canvas .

Se apeleaza fereastra de proprietati.

folosind Object Navigator

Se selecteaza un item din cadrul blocului unde dorim sa creem item-ul.

Se apasa tasta CREATE (+).

Din Property Palette se modifica Item Type in Check box.

RADIO GROUPS

Radio Group este un set de butoane radio. Fiecare buton reprezinta o alta valoare. Intr-un grup pot exista 2 sau mai multe valori statice. Este o alternativa la List Item cu 2 3 optiuni.

Sunt 2 posibilitati pentru a crea un Radio Group:

folosind Layout Editor

Se selecteaza butonul RADIO GROUP.

Se pozitioneaza cursorul mouse-ului in locul unde se doreste sa apara.

Cu un singur click butonul radio apare pe canvas .

Daca este primul buton radio pe canvas se creaza automat grupul.

La crearea urmatoarelor butoane va apare suplimentar intrebarea daca butonul respectiv intra sau nu intr-un grup existent de butoane radio.

Se apeleaza fereastra de proprietati.

folosind Object Navigator

Se selecteaza un item din cadrul blocului unde dorim sa creem butonul.

Se apasa tasta CREATE (+).

Din Property Palette se modifica Item Type in Radio Group.

Odata creat grupul trebuie create in continuare si butoanele radio prin pozitionarea pe Radio Buttons si apasarea butonului CREATE (+) sau dublu click pe Radio Buttons.

LIST ITEM

List Item este un obiect grafic care afiseaza un set de optiuni, iar la fiecare optiune ii se poate atasa o valoarea specifica. Se utilizeaza un List item cand se doreste selectarea unei singure optiuni din mai multe posibile. Fiecare optiune din List Item poate contine pana la 30 de caractere. Este o alternativa la folosirea butoanelor radio, permitand economisirea spatiului pe canvas. Exista 3 stiluri:

Pop List afiseaza optiunea cu un buton in partea dreapta; prin selectarea butonului apare o lista derulanta; nu accepta adaugare de noi elemente la rulare

T-List afiseaza optiunile avand atasat in partea dreapta un scroll bar

Combo Box afiseaza optiunile avand in partea dreapta un buton, dar care nu este atasat de optiuni (ca la Pop List); accepta adaugarea de noi optiuni la rulare

Sunt 2 alternative pentru a crea un List Item:

folosind Layout Editor

  1. Se selecteaza butonul LIST ITEM.
  2. Se pozitioneaza cursorul mouse-ului in locul unde se doreste sa apara.
  3. Cu un singur click list item-ul apare pe canvas.
  4. Se apeleaza fereastra de proprietati.

folosind Object Navigator

  1. Se selecteaza un item din cadrul blocului unde dorim sa creem item-ul.
  2. Se apasa tasta CREATE (+).
  3. Din Property Palette se modifica Item Type in List Item.
  4. Din Property Palette (List Style) se selecteaza optiunea dorita (Pop List, T-list, Combo Box).

Din Property Palette (Elements in list) se introduc elementele si valorile asociate lor.

non-input item nu accepta introducerea datelor

button

display item

image item

sound item

chart item

BUTTON

Butoanele sunt elemente vizuale prin care utilizatorul executa o comanda sau initiaza o actiune. In mod diferit fata de celelalte item-uri, butoanele nu pot stoca sau afisa date.

Form Builder permite existenta a 2 tipuri de butoane:

buton text are afisat pe buton o eticheta text.

buton iconic are afisat o imagine pe buton.

Butonul icon poate fi afisat numai in mod grafic.

Butonul text poate fi afisat atat in mod grafic cat si in mod text. In mod grafic apare ca un dreptunghi cu textul in mijloc, iar in mod caracter apare textul intre paranteze.

Utilizatorul poate naviga spre buton, fie cu tastele, fie cu mouse-ul. Cand se folosesc tastele, vizitarea butonului depinde de pozitia lui in Object Navigator.

Utilizatorul poate selecta un buton cu ajutorul mouse-ului sau atunci cand cursorul se afla pe buton prin apasarea tastei ENTER. In al doilea caz cursorul ramane pe buton pana cand se muta explicit la un al item. In primul caz comanda sau actiunea asociata butonului este initiata atunci cand butonul mouse-ului este lasat. Nu are importanta daca cursorul este pe buton sau nu.

Sunt 2 cai principale pentru a crea un buton:

folosind Layout Editor

Se selecteaza butonul BUTTON.

Se pozitioneaza cursorul mouse-ului in locul unde se doreste butonul.

Cu un singur click butonul apare pe canvas.

Se apeleaza fereastra de proprietati.

folosind Object Navigator

Se selecteaza un item din cadrul blocului unde dorim sa creem butonul.

Se apasa tasta CREATE (+).

Din Property Palette se modifica Item Type in Push Button.

DISPLAY ITEM

Display Item este asemanator cu text item, exceptand faptul ca este read-only, avand numai rolul de afisare. El nu poate fi editat, interogat fiind folosit doar la afisarea unor valori, atat referitoare la baza de date cat si valori calculate.

Sunt 2 cai principale pentru a crea un Display Item:

folosind Layout Editor

Se selecteaza butonul DISPLAY ITEM.

Se pozitioneaza cursorul mouse-ului in locul unde se doreste sa apara.

Cu un singur click display item-ul apare pe canvas .

Se apeleaza fereastra de proprietati.

folosind Object Navigator

Se selecteaza un item din cadrul blocului unde dorim sa creem item-ul.

Se apasa tasta CREATE (+).

Din Property Palette se modifica Item Type in Display Item.

IMAGE ITEM

Image item este un obiect vizual care permite afisarea imaginilor scanate sau vectoriale. Ca si text item poate stoca si afisa varchar2, number sau date ca valori si in plus imagini.

Afisarea imaginilor se poate face atat din baza de date, cat si din fisiere externe bazei.

Cand salvezi imagini in baza de date Oracle foloseste un mecanism propriu de compresie.

Rata de compresie medie este de 10:1 pentru imagini alb/negru si de 3:1 pentru imagini color

Imagine stocata in

Descriere

Baza de date

Formatul Long Raw poate stoca comprimat pana la 2G

Fisiere

Este suportat orice tip de format cunoscut

Format

Image Item

BMP

Y

Read/Write

JFIF

Y

Read/Write

PCX

Y

Read Only

PICT 1&2

Y

Read/Write

GIF

Y

Read/Write

CALS

Y

Read/Write

PCD

Y

Read Only

RAS

Y

Read/Write

TIFF 4,5&6

Y

Read/Write

*Graphic Text and Objects

Cand creezi un image item in data block, Form Builder aloca memoria necesara pentru inregistrarile care por fi aduse din baza de date. Pentru a folosi resurse mai putine se poate seta proprietatea Number of Records Buffered la nivelul blocului. Valoarea minima este de +2.

Sunt 2 cai principale pentru a crea un Image Item:

folosind Layout Editor

Se selecteaza butonul IMAGE ITEM.

Se pozitioneaza cursorul mouse-ului in locul unde se doreste sa apara item-ul.

Cu un singur click image item-ul apare pe canvas.

Se apeleaza fereastra de proprietati.

folosind Object Navigator

Se selecteaza un item din cadrul blocului unde dorim sa creem item-ul.

Se apasa tasta CREATE (+).

Din Property Palette se modifica Item Type in Image Item.

WINDOWS SI CANVAS

La construirea unei forme se utilizeaza ferestrele (windows) si suprafetele (canvases) pentru a prezenta elementele vizuale ale formei. O singura forma poate avea mai multe ferestre si canvases-uri.

Relatia dintre windows si canvases

Pentru fiecare fereastra creata trebuie creata una sau mai multe suprafate, deci fiecare suprafata trebuie sa aibe o fereastra. Definirea unei relatii dintre elemente, suprafete si ferestre se reduce la setarea unor proprietati.

Window este asemanatoare cu rama unui tablou. Ea poate fi mutata sau modificata.

Cand se creaza o noua forma automat Form Builder creeaza o fereastra implicita numita WINDOW1. Se pot adauga noi ferestre, iar fereastra implicita se poate sterge sau redenumi.

O singura forma poate avea mai multe ferestre.

In Form Builder se pot crea urmatoarele tipuri de ferestre:

modal window este o fereastra la care utilizatorul trebuie sa raspunda pentru a trece la alta fereastra. Forteaza utilizatorul sa lucreze in interiorul unei singure ferestre cind fie accepta sau nu modificarile care au fost facute. Bara de instrumente si meniul nu sunt accesibile. O fereastra modala este folosita cind utilizatorul trebuie sa termine un proces anume inainte de a continua.

modless window este o fereastra nerestrictiva, din care utilizatorul poate iesi oricand. Permite utilizatorului sa interactioneze cu orice alta fereastra precum si cu bara de instrumente si cu meniul principal. Ferestrele modeless sunt folosite in principal in interfetele grafice unde utilizatorul este liber sa aleaga unul dintre procesele existente

Container (MDI) contine toate celelalte ferestre. De obicei, dar nu intotdeauna contine bara de instrumente si meniul principal.

O fereastra contine urmatoarele elemente:

Titlul ferestrei

Bara de meniu si submeniuri

Butoane si alte controale care nu corespund datelor

Item-urile corespunzatoare datelor din baza de date

Linia de mesaje si linia de stare

Cand se creeaza o fereastra trebuie specificata stilul ei. In Form Builder exista 2 stiluri pentru ferestre:

Document windows afiseaza in mod obisnuit principalele suprafete si arii de lucru ale aplicatiilor.

Dialog windows sunt ferestra de dialog, cer interventia utilizatorului.

Pasi pentru crearea unei ferestre noi:

Se selecteaza nodul Window din Object Navigator.

Se apasa butonul CREATE (+).

Se seteaza proprietatile din Property Palette.

Canvas este asemanatoare cu suprafata pe care se picteaza. Pe aceasta suprafata se aseaza obiectele cand se realizeaza interfata aplicatiei. Implicit canvas-urile pe care le creezi sunt asignate ferestrei cu numele WINDOW1. Pentru a schimba fereastra se seteaza proprietatea WINDOW din Property Palette.

Canvas-view este suprafata pe care se pot aseza obiectele.

In Form Builder se pot defini mai multe tipuri de canvas-uri. Exista 4 tipuri:

content ocupa intreaga suprafata a ferestrei in care este afisat. Fiecare fereastra contine cel putin un content canvas.

Stacked-este afisat deasupra sau in cadrul canvas-ului content corespunzator ferestrei curente.

tab un set de tab-uri care permit gruparea si afisarea unui numar mare de informatii inrudite pe un singur canvas dinamic

toolbar-este folosit pentru a crea bare de instrumente pentru ferestre individuale.

Fiecare fereastra poate afisa unul sau mmai multe canvas-uri. De asemenea se poate afisa conditionat un canvas intr-o fereastra, in functie de anumite conditii care sunt indeplinite.

LOV(List Of Value)

LOV-urile sunt obiecte ale modulului Form. Ele sunt definite la nivelul formei, aceasta insemnand ca pot fi folosite de orice text item din orice bloc. LOV este un obiect visual care permite utilizatorilor de a vedea, selecta si de a se deplasa printre inregistrarile stocate curent intr-un record group.

LOV asigura urmatoarele functionalitati:

Poate fi afisata la cererea utilizatorului, cand acesta se deplaseaza la un text item care are asociat un LOV.

Contine facilitati de cautare in functie de valori specifice.

Poate fi atasata la unul sau mai multe text item.

Valorile unui LOV sunt derivate dintr-un grup de inregistrari.

La nivelul runtime FormBuilder afiseaza eticheta <LIST> in linia de stare, cand este disponibila o lista de valori. Utilizatorul nu poate lucra intr-o alta fereastra cand lista de valori este afisata. Lista de valori poate fi mutata sau redimensionata.

Listele de valori preiau datele dintr-o structura de date interna numita record group. Primul pas in crearea unui LOV este de a defini un record group.

Record group poate avea un numar nelimitat de coloane de tipul char, long, number sau date daca se incadreaza in 64K.

Un record group este o structura de linii si coloane stocata in memoria Forms si este asemanatoare cu structura unei tabele. Record group-ul tine in memorie inregistrarile care pot fi refolosite si de alte aplicatii Developer2000, reducand astfel accesul repetat la datele externe.

Record group poate asigura date pentru:

Liste de valori (LOV)

List item

crearea rapoartelor si graficelor

alte aplicatii

Cand se creaza o lista de valori trebuie specificate coloanele care se gasesc in record group si se doresc afisate in LOV. Coloanele din record group sunt intotdeauna afisate in fereastra LOV in ordinea in care se gasesc in record group.

Valorile din record group pot fi statice sau dinamice, in functie de sursa de date:

valorile statice nu se modifica in timpul rularii aplicatiei , valorile dinamice care sunt bazate pe o declaratie SELECT si se pot modifica in timpul rularii aplicatiei.

Etapele definiiri unui LOV:

Se creeaza un record group sau se alege unul deja existent.

Se creeaza si se seteaza proprietatile LOV-ului.

Se ataseaza LOV-ul cu un text item.

Trigger

Un trigger este un program care se executa atunci cand apare un eveniment. Fiecare trigger la definirea lui are asociat un eveniment specific. Form Builder defineste o mare varietate de evenimente carora se pot atasa triggere, ca de exemplu:

Evenimente raportate la interogari

Evenimente legate de introducerea datelor si/sau validarea lor

Navigarea mouse-ului

Evenimente legate de interactiuni cu obiectele din forma

Evenimente interne ale functionalitatii aplicatiei

Evenimente legate de aparitia erorilor si mesajelor de eroare si tratarea lor

Triggerele in Form Builder sunt scrise in PL/SQL.

Trebuie avute in vedere urmatoarele aspecte atunci cand se proiecteaza un trigger:

Tipul trigger-ului defineste evenimentul specific care cauzeaza aparitia trigger-ului

Codul trigger-ului blocurile PL/SQL care definesc operatiile pe care le executa trigger-ul

Scopul trigger-ului nivelul la care se defineste trigger-ul

Tipul de trigger este determinat de evenimente. Form Builder pune la dispozitie peste 100 de triggere, fiecare fiind identificate prin nume specifice. Astfel in functie de numele trigger-ului se poate deduce tipul de trigger. Numele unui trigger poate contine mai multe cuvinte separate prin semnul -.

Trigger Prefix

Descriere

PRE-

Triggerul se executa inainte de producerea unui anumit eveniment

POST-

Triggerul se executa dupa producerea unui anumit eveniment

WHEN-

Triggerul se executa cand se produce un anumit eveniment

ON-

In loc de tratarea standard

KEY-

Triggerul se executa la apasarea unei taste

Codul trigger-ului este reprezentat de rutinele PL/SQL care definesc actiunea.

Scopul triggerului

Scopul trigger-ului este determinata de pozitia obiectelor in ierarhia modulului. Sunt 3 nivele posibile:

Nivelul Form

Nivelul Block

Nivelul Item

Triggerul WHEN-BUTTON-PRESSED se declanseaza cand operatorul selecteaza un buton cu mouse-ul sau utilizeaza tastatura. Nivelul de definire: modul de videoformat, bloc si element din bloc.

Exemplu: butonul Cerere

IF :SYSTEM.MODE='NORMAL' THEN

set_item_property('control.cerere' ,LABEL, 'Lanseaza cererea');

ENTER_QUERY;

ELSE

set_item_property('control.cerere',label, 'Executa cererea');

EXECUTE_QUERY;

END IF;

Butonul Inainte:

IF :SYSTEM.LAST_RECORD='TRUE' THEN

MESSAGE('ULTIMA INREGISTRARE');

ELSE

NEXT_RECORD;

END IF;

Procedura NEXT_RECORD permite navigarea la primul element (daca se permite) din urmatoarea inregistrare (permite navigarea de la o inregistrare la alta). Nu se utilizeaza in modul Enter Query

Variabila de sistem SYSTEM.LAST_RECORD indica daca inregistrarea curenta este ultima inregistrare din bloc. Valoarea TRUE indica ca inregistrarea curenta este ultima inregistrare din bloc.

Butonul Inapoi

IF :SYSTEM.CURSOR_RECORD='1' THEN

MESSAGE('PRIMA INREGISTRARE');

ELSE

PREVIOUS_RECORD;

END IF;

Procedura PREVIOUS_RECORD permite navigarea la primul element din inregistrarea anterioara . Nu se utilizeaza in modul Enter Query.

Variabila de sistem SYSTEM.CURSOR_RECORD indica numarul (ordinea fizica in bloc) inregistrarii curente. Valoarea este intotdeauna un sir de caractere.

Procedura DELETE_RECORD. Cand se utilizeaza in afara unui trigger On-Delete, sterge inregistrarea curenta din bloc si marcheaza inregistrarea ca fiind stearsa. Daca inregistrarea corespunde unui tuplu din baza de date, Forms Developer blocheaza inregistrarea inainte de stergere si o marcheaza pentru stergere. Inregistrarea este adaugata la lista de inregistrari care vor fi sterse efectiv din baza de date in timpul urmatorului proces de commit. Nu se utilizeaza in modul Enter Query.

Intr-un trigger ON-DELETE procedura DELETE_RECORD initiaza stergerea unei inregistrari in timpul procesului de terminare completa a tranzactiei (Commit) .

Procedura CREATE_RECORD creeaza o noua inregistrare in blocul curent dupa inregistrarea curenta. Forms Developer navigheaza la noua inregistrare.

Procedura INSERT_RECORD, se utilizeaza numai intr-un trigger ON-INSERT si insereaza un tuplu in baza de date in timpul procesului de terminare completa a tranzactiei (commit).

Butonul Iesire

SET_ALERT_PROPERTY('ALERTMESAJ', ALERT_MESSAGE_TEXT, 'DORITI SA PARASITI FORMA?' );

IF SHOW_ALERT('ALERTMESAJ')=ALERT_BUTTON1 THEN

EXIT_FORM;

END IF;

Procedura EXIT_FORM confirma actiunea de commit sau de rollback. In cele mai multe contexte, EXIT_FORM navigheaza in afara formei. Daca sunt modificari in forma curenta ce nu au fost salvate in baza de date (commit), Forms Developer atentioneaza operatorul. Daca operatorul este in modul Enter Query, EXIT_FORM navigheaza in afara modului ENTER QUERY si nu in afara formei.

Butonul Salvare

SET_ALERT_PROPERTY('ALERTMESAJ', ALERT_MESSAGE_TEXT, 'DORITI SA SALVATI?' );

IF SHOW_ALERT('ALERTMESAJ')=ALERT_BUTTON1 THEN

COMMIT_FORM;

END IF;

Procedura COMMIT_FORM determina ca FORMS Developer sa actualizeze datele in baza de date, valideaza modulul de form, apoi fiecare bloc din modul, sterge, insereaza sau modifica in baza de date si executa commit. Se sterg si blocarile la nivel de tuplu si tabela. Daca se utilizeaza o comanda COMMIT intr-un bloc anonim sau intr-o procedura la nivel de modul de videoformat, Forms Developer interpreteaza aceasta comanda ca un apel al procedurii COMMIT_FORM.

Butonul Prima

if :system.CURSOR_RECORD='1'THEN

message('PRIMA INREGISTRARE');

ELSE

first_record;

END IF;

Butonul Ultima

if :system.LAST_RECORD='TRUE'THEN

message('ULTIMA INREGISTRARE');

ELSE

LAST_record;

END IF;

Procedura FIRST_RECORD permite navigarea la prima inregistrare din bloc. Nu se utilizeaza in modul Enter Query.

Procedura LAST_RECORD permite navigarea la ultima inregistrare din blocul curent. Nu se utilizeaza in modul Enter Query.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1262
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved