Titlul documentului


partiale (sau finale).Datele pot fi arhivate fie asa cum sant,fie sub



Yüklə 1,42 Mb.
səhifə12/16
tarix03.01.2019
ölçüsü1,42 Mb.
#89992
1   ...   8   9   10   11   12   13   14   15   16
partiale (sau finale).Datele pot fi arhivate fie asa cum sant,fie sub

forma de pagina .txt (se extrag doar datele de tip text).

Acest obiect este suportul celorlalte obiecte (la fel ca TPanel).

Daca doriti sa subimpartiti documentul in mai multe benzi,alegeti Bands

si setati True benzile dorite(HasTitle,HasSummary...etc.).Utilizati Data-

Set pentru conectarea la o baza de date,Options si Page pentru a seta

aspectul paginilor realizate,sau PrinterSettings pentru a seta preferinte-

le de imprimare.Pentru un exemplu complet,vezi si Prj86.

QRSubDetail- este obiectul care permite introducerea unei benzi supli-

mentare in document.Obiectele incluse in aceasta banda vor fi legate

intre ele,asemanator cu cele incluse in acelasi TPanel.Se utilizeaza

pentru a conecta doua sau mai multe obiecte intre ele,sau pentru a schimba

aspectul general al documentului (alta culoare,alte fonturi etc.).

In plus,QRSubDetail permite conectarea la o alta baza de date,prin pro-

prietatea DataSet.Mai multe astfel de obiecte,pot fi conectate la baze

de date diferite.

QRBand- este un obiect destinat tot pentru a introduce o banda auxiliara,

dar nu are o proprietate DataSet si nu poate fi conectat decat la baza

de date a obiectului de suport (QuickRep).Banda adaugata se va comporta

identic cu cele ale obiectului QuickRep.Pentru a alege tipul de banda,

setati proprietatea BandType (rbTitle,rbPageFooter...etc.).Obiectul nu

poate fi redimensionat,se va adapta automat la dimensiunea docunentului.

TQRChildBand- este un obiect similar cu QRBand,dar permite si utilizarea

componentelor care se extind in momentul utilizarii (Exemplu:ComboBox).

Acest obiect va fi preferat atunci cand se utilizeaza obiecte extensibile

sau atunci cand banda este extrem de lunga si se extinde pe mai multe

pagini.Pentru a inlantui mai multe obiecte de acest gen,se utilizeaza

proprietatile HasChild si respectiv ParentBand.Este bine ca fiecare banda

parinte sa fie legata de o singura banda copil.Daca se leaga mai multe

benzi de tip copil,la acelasi parinte,in momentul imprimarii se va tipari

doar una dintre ele.

Benzile de acest tip pot fi activate sau inactivate individual.O banda

de tip copil activata,va fi imprimata chiar daca banda de tip parinte la

care este legata a fost inactivata.

Setati proprietatea BandType pentru a alege tipul de banda dorit.

Benzile incluse astfel se vor comporta identic cu cele ale obiectului

QuickRep.

QRGroup-introduce tot o banda de editare auxiliara si se utilizeaza pentru

a organiza un grup de astfel de benzi.

Pentru ca datele incluse in benzi sa poata fi vizualizate cu Preview,uti-

lizati un obiect TTable (eventual si TDataSource) pentru a conecta Quick-

Rep si bensile Subdetail la o baza de date oarecare(setati DataSet=Table1)


-95-

QRLabel este un obiect asemanator cu TLabel si este destinat pentru a

introduce in pagina,date de tip caracter (in Caption).Datele afisate sunt

fixe si imprimabile.Restul proprietatilor sunt destinate pentru a alinia

textul sau pentru a seta automat dimensiunea obiectuilui (AutoSize) etc.

Pentru exercitiu,adaugati cateva benzi si cateva obiecte QRLabel in

care utilizati Caption pentru a introduce un text oarecare.Utilizati un

obiect TTable pentru a conecta QuickRep1 la o baza de date,apoi apelati la

metoda Preview pentru a observa aspectul final.Metoda poate fi apelata si

in timpul executiei,cu un buton OK si o procedura:

procedure TForm1.Button1Click(Sender: TObject);

begin

QuickRep1.Preview;

end;

Schimbati benzile,fonturile si culorile pana cand obtineti formatul dorit.

Pentru antet,titlu si semnatura,puteti utiliza benzile corespunzatoare.

QRDBText este un obiect asemanator cu QRLabel,dar este conectat la baza

de date a obiectului QuickRep in care este inclus(adica la baza de date

conectata la banda in care este inclus).Se utilizeaza pentru a prelua si

afisa date dintr-o baza de date,cu ajutorul proprietatilor DataSource si

DataField.Se poate utiliza pentru date de tip sir de caractere,pentru

valori numerice si pentru campuri Memo.Datele afisate pot fi imprimate.

Adaugati unul sau mai multe obiecte de acest gen,pentru a afisa datele

preluate dintr-o baza de date.Pentru a prelua datele din baze de date

diferite,grupati obiectele QRDBText in benzi diferite(conectate diferit).

QREExpr -este un obiect specializat pentru a afisa date preluate dintr-o

baza de date,prelucrate cu o functie oarecare(Average,Copy,Count,Date,

Max,Min,Pretty,Sqrt,Sum etc.).Pentru a stabili expresia de prelucrare a

datelor,alegeti proprietatea Expression si utilizati Expresion builder:

Exemplu: daca QuicRep este conectata prin Table1 la Biolife.db alegeti

functia dorita din caseta Available functions (AVERAGE) si apasati butonul

Add,apoi alegeti campul de date din caseta Field(Length_In) si apasati

butonul Add si apoi confirmati cu OK.Se poate utiliza doar baza de date

la care este conectata banda in care se gaseste obiectul.Este foarte util

pentru a afisa date precalculate sau expresii derivate,conversii etc.

Pentru formarea expresiior se pot utiliza si butoanele cu operatori.

Setul de proprietati permite si o serie de prelucrari auxiliare:culori,

fonturi,imagine transparenta (se vad componentele situate in planul infe-

rior),autodimensionare etc.

QRSYSData este un obiect specializat pentru a afisa cateva variante de

date preluate de la sistemul de operare,cum ar fi: Data,ora,titlul,numarul

de pagini din raport etc.Pentru alegerea tipului de date afisate se uti-

lizeaza proprietatea Data(qrsDate,qrsTime etc.).Pentru a adauga un text

oarecare,se poate seta proprietatea Text,care va adauga textul respectiv

inaintea datelor preluate de la sistem.

QRMemo-este un obiect similar cu TMemo si este utilizat pentru a intro-

duce in document texte extensive (care se pot intinde chiar si pe mai

multe pagini imprimabile).Textul propriu zis va fi inclus in proprietatea

Lines (utilizand String list editor) iar restul proprietatilor se pot

utiliza pentru a seta dimensiunile,culorile,fonturile,transparenta etc.

Pentru a accesa din Help obiectele QReport,executati un clic drept in

paleta de optiuni,alegeti Properties,apoi Help,See also,Component palette


-96-

si apoi selectati paleta QReport components.

QRRichText - este asemanator cu QRMemo si se utilizeaza pentru a introduce

date de tip text in format RichText.Se utilizeaza pentru texte extensive

care respecta un anumit format: spatii goale,spatii TAB,tabele etc.

Se utilizeaza proprietatea Lines pentru a edita textul dorit.

QRDBRichText -este similar cu QRRichText dar utilizeaza proprietatile

DataSource si DataField pentru a prelua datele dintr-o baza de date.

Se utilizeaza pentru texte in format RichText (exemplu microtabele incluse

in campurile de date ale bazei de date).

QRShape -este un obiect destinat pentru a putea adauga figuri geometrice

dreptunghiulare,cercuri sau linii.Se utilizeaza pentru a putea reprezenta

grafic datele simple,sau pentru a adauga diverse marcaje de atentionare

sau de evidentiere a unor fragmente din document.Se utilizeaza la fel ca

si obiectul TShape ( prin proprietatile Brush si Shape).

QRImage -este specializat pentru includerea imaginilor de tip Bitmap in

document.

EXEMPLU: utilizati Tools/Image Editor pentru a realiza o fila de tip

bitmap si arhivati fila realizata in acelasi director cu documentul de

tip QReport.Pentru a introduce imaginea realizata in documentul QuickRep,

adaugati un obiect QRImage,alegeti proprietatea Picture iar din Picture

Editor alegeti Load si selectati fila dorita.Se poate utiliza pentru

orice tip de imagine digitala suportat de TPicture(TBitMap,TIcon,TMeta-

file,TGraphic si toti descendentii sai).Puteti utiliza acest obiect

pentru a introduce in document fotografii,harti,desene,grafice etc.

QRDBImage - este identic cu QRImage,dar utilizeaza proprietatie DataSource

si DataField pentru a prelua imaginea dintr-o baza de date.Imaginea pre-

luata nu va fi afisata decat in momentul apelarii metodei Preview.Pentru

a verifica obiectul in faza de design,executati un click de mouse drept

si alegeti Preview.

QRCompositeReport -este un obiect destinat pentru a seta preferintele de

imprimare,cu ajutorul proprietatilor Options si PrinterSettings.Se uti-

lizeaza pentru a specifica numarul de copii,prima si ultima pagina etc.

Este util in cazul documentelor formate din mai multe pagini imprimabile.

QRPreview se poate utiliza pentru a adauga in faza de design obiecte si

componente care nu se vor afisa sau imprima in faza de Preview (de exemplu

pentru a salva un obiect anterior,care a fost actualizat (inlocuit cu

altul nou),dar care contine date importante pentru o etapa ulterioara a

proiectului.Poate fi utilizat ca un fel de Recycle Bin in care se salveaza

obiectele care nu sunt necesare la un anumit moment dat,dar vor fi reuti-

lizate intr-o etapa ulterioara.

QRChart - este un obiect specializat pentru prezentarea de grafice.Este

asemanator cu TChart si se utilizeaza pentru a prezenta grafice cu date

aleatorii sau preluate dintr-o baza de date.Pentru setarea obiectului,

executati un click de mouse cu butonul drept,in aria obiectului si

alegeti EditTChart apoi utilizati optiunile obiectului specializat denumit

Editing QRDBChart.

Cele 18 obiecte din paleta QReport permit elaborarea de documente

complexe,cu aspect personalizat si cu date de tip diferit,preluate din

surse diferite si prelucrate automat.Documentele pot fi arhivate sau

imprimate extrem de usor.Daca datele prezentate sunt extrem de lungi si

pot fi fragmentate,este bine sa le reprezentati in rapoarte multiple.


-97- Dialogs - OpenDialog

Paleta de componente denumita Dialogs contine un grup de obiecte desti-

nate pentru operatii cu file intregi.Aceste obiecte permit aplicatiilor

Delphi sa apeleze direct casetele de dialog ale sistemului de operare

Windows,astfel incat selectarea unei anumite file sa se faca extrem de

facil (prin interfata grafica a sistemului Windows).Aceste obiecte sunt

foarte utile pentru programarea unor operatii de deschidere,copiere sau

imprimare a unor anumite file.Pentru fiecare obiect,caseta de dialog de

tip Windows corespunzatoare acelui obiect poate fi apelata prin metoda

Execute.Fiecare obiect are si un set propriu de metode destinate pentru

a modifica aspectul casetelor de dialog in functie de preferinte.

OpenDialog -este obiectul prin care se poate apela caseta de dialog

OpenFile din Windows.In aceasta caseta de dialog,utilizatorul poate

selecta fila pe care doreste sa o deschida.Pentru a deschide caseta de

dialog,se apeleaza metoda Execute.Fila selectata va fi deschisa automat,

iar proprietatea FileName va fi setata automat,astfel incat sa contina

calea completa de acces la fila.Pentru a prelua datele din fila deschisa,

trebuie adaugata procedura corespunzatoare cu formatul datelor.Pentru a

deschide o fila text si pentru a prelua datele intr-un camp memo,puteti

utiliza un exercitiu de genul:

EXEMPLU: (vezi si Prj87).

Salvati o fila noua si proiectul in Prj87.Adaugati un obiect TOpenDialog,

un buton,un camp TMemo si unul TLabel.Selectati butonul si adaugati urma-

toarea procedura OnClick:

procedure TForm1.Button1Click(Sender : TObject);

var rezultat:variant;

F:TextFile;

sir1:string;

begin

rezultat:=OpenDialog1.Execute;

if rezultat = -1 then

Label1.Caption:=OpenDialog1.Filename;

AssignFile(F,OpenDialog1.Filename);

Reset(F);

while not EOF(F) do

begin

Readln(F,sir1);

Memo1.Lines.Add(sir1);

end;

CloseFile(F);

if rezultat = 0 then

begin

Label1.Caption:='fila nu poate fi deschisa !';

Memo1.Clear;

end;

end;

In exercitiul Prj87 am adaugat cateva retete de bucatarie :compot,olandez

si sushi.Puteti deschide oricare dintre aceste file,sau puteti utiliza

caseta de dialog pentru a deschide orice fila de tip text din memorie.

Pentru file care contin alt fel de date,trebuie sa editati alta procedura

pentru exploatarea datelor (dar fila va fi deschisa indiferent de format).

Proprietatile Filter si Options permit personalizarea casetei de dialog.


-98- Dialogs - TSaveDialog

TSaveDialog este obiectul prin care se poate apela o caseta Windows de

tip Save dialog box.Apeland metoda execute,se va deschide caseta de dialog

Windows in care utilizatorul poate alege fila pe care doreste sa o copieze

in directorul selectat.Numele si calea de acces la fila selectata se vor

arhiva in proprietatea Filename.Daca doriti ca fila selectata sa fie

salvata cu un anumit nume,introduceti numele respectiv in proprietatea

FileName in etapa de design.In aces caz,in momentul executiei numele

respectiv va fi afisat in caseta Edit din caseta de dialog.

Pentru ca fila respectiva sa fie salvata,trebuie sa adaugati si o

procedura in care sa apelati functia SaveTo File corespunzatoare cu

formatul datelor(TStrings,TPicture,TOleConteiner,TMetafile,TGraphic,

TDBGrid,TCustomTreeView,TCustomMemoryStream,TClientDataSet,TBlobField).

De exemplu,pentru a salva o fila de tip .BMP cu numele de Fila1.bmp puteti

utiliza un exercitiu de genul:

EXEMPLU: (vezi si Prj88)

Salvati o fila noua si proiectul in Prj88.Adaugati un obiect TSaveDialog,

un buton TBitBtn(din Additional) si un obiect TImage.

Selectati obiectul Image1 si utilizati proprietatea Picture pentru a

incarca o fila de tip .BMP oarecare (cu Load).

Selectati butonul si setati Caption la valoarea Save (sau Salveaza).

Pentru a adauga si un desen pe buton,alegeti proprietatea Glyph,apoi

alegeti Load si in caseta de dialog LoadPicture alegeti din directorul

Delphi 3/Images/Buttons pictograma Filesave,apoi confirmati cu open si OK.

Apoi alegeti Events si adaugati urmatoarea procedura OnClick:

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

SaveDialog1.Execute;

Image1.Picture.SaveToFile(SaveDialog1.FileName);

end;

Proprietatile obiectului sunt la fel ca pentru TOpenDialog.Singura

metoda proprie este Execute (celelalte sunt mostenite) iar dintre

evenimente se pot utiliza: OnSelectionChange,OnClose si OnShow.

Observati ca obiectul nu executa operatii propriu zise asupra datelor ci

doar realizeaza legatura cu caseta de dialog de tip Windows.Orice ope-

ratie propriu zisa asupra datelor selectate,trebuie specificata prin

proceduri adugate impreuna cu Execute.

Pentru a salva orice tip de date,trebuiesc tratate toate situatiile

posibile.Este mult mai simplu sa utilizati acest obiect pentru a salva

doar o anumita fila (cea generata in aplicatia d-voastra).Eventual puteti

adauga cate un buton si o procedura pentru fiecare tip de date din

aplicatie.Daca generalizati prea mult procedura de salvare,riscati sa

creati confuzii referitoare la tipul de date,caz in care fila selectata

va fi salvata dar nu va putea fi utilizata.

Proprietatea Options ofera o paleta foarte larga de optiuni prin care

puteti organiza modul de interactiune cu utilizatorul.Implicit,toate

aceste optiuni sunt setate False.Pentru a utiliza una dintre optiuni,

trebuie sa setati valoarea True pentru optiunea respectiva.Exemplu:

ofShowHelp=True va adauga in caseta de dialog si un buton Help.Puteti

edita o procedura care sa ofere informatii pentru utilizator in momentul

in care se apasa butonul Help.Proprietatea Filter va permite sa filtrati

in caseta de dialog doar tipurile de file acceptabile.


-99- Dialogs -TOpenPictureDialog

TOpenPictureDialog este destinat pentru deschiderea filelor de tip

grafic.Obiectul,prin metoda Execute,apeleaza caseta de dialog de tip

Windows care permite selectarea filei.Este identic cu TOpenDialog dar,

prezinta si o regiune Preview in care fila selectata poate fi afisata

inainte de a fi deschisa.Daca fila selectata poate fi afisata de un obiect

TPicture,atunci fila va fi afisata in regiunea Preview,iar in caz contrar

se va afisa textul "None".Filele acceptate de TPicture sunt: bitmap(.BMP),

icon(.ICO),Windows metafile(.WMF) si enhanced Windows metafile(.EMF).

Filele neacceptabile returneaza un mesaj de eroare: EInvalidGraphic.

EXEMPLU: (vezi si Prj89)

Salvati o fila noua si proiectul in Prj89.Adaugati un obiect de tip TOpen-

PictureDialog,un buton si un obiect TImage.

Selectati butonul si adaugati urmatoarea procedura OnClick:

procedure TForm1.Button1Click(Sender: Tobject);

begin

OpenPictureDialog1.Execute;

Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

end;

Tastati F9 si executati aplicatia.Alegeti in caseta de dialog una dintre

filele arhivate in Delphi3/Images/Splash/256color (de exemplu Handshak) si

apoi confirmati cu Open.
TSavePictureDialog este un obiect destinat pentru alegerea si salvarea

filelor de tip grafic.Obiectul apeleaza prin metoda Execute,caseta de

dialog de tip Windows.Este identic cu TSaveDialog,dar prezinta si un camp

Preview in care fila selectata poate fi afisata inainte de a fi deschisa

si/sau salvata.Se utilizeaza la fel ca TSaveDialog.In cazul in care doriti

sa salvati o fila din proiect,utilizati obiectul ca atare.In cazul in care

doriti sa navigati prin memorie,sa alegeti o anumita fila si apoi sa sal-

vati fila in directorul initial,alegeti Options si setati ofNoChangeDir la

valoarea TRUE.

EXEMPLU: (vezi si Prj90)

Salvati o fila noua si proiectul in Prj90.Adaugati un obiect TSavePicture-

Dialog,un buton si un camp TImage.

Alegeti SavePictureDialog1 si setati Options/ofNoChangeDir=True.

Alegeti butonul si adaugati urmatoarea procedura OnClick:

procedure TForm1.Button1Click(Sender: TObject);

var rez:variant;

begin

rez:=SavePictureDialog1.Execute;

if rez = -1 then

begin

Image1.Picture.LoadFromFile(SavePictureDialog1.FileName);

Image1.Picture.SaveToFile('Desen1.bmp');

end;

end;

Tastati F9 si executati aplicatia.Alegeti orice fila de tip .BMP si apoi

apasati butonul Save.Fila selectata va fi salvata in directorul Prj90 cu

numele de Desen1.bmp,deoarece proprietatea NoChangeDir=True forteaza

revenirea la directorul initial,imediat dupa apasarea butonului Save.

Puteti utiliza Filter pentru a modifica tipurile acceptabile.


-100- Dialogs -TFontDialog-TColorDialog

TFontDialog este un obiect destinat pentru schimbarea fonturilor in

timpul executiei unui program.Apeleaza prin metoda Execute,caseta de dia-

log de tip Windows in care se poate alege tipul,stilul si dimensiunea

fonturilor utilizate.Fontul ales va fi salvat in proprietatea Font si va

putea fi transferat la orice alt font din aplicatie.

EXEMPLU: (vezi si Prj91)

Salvati o fila noua si proiectul in Prj91.Adaugati un obiect TFontColor,

un buton si un camp TLabel.

Setati Label1.Caption=Textul initial.

Selectati butonul si adaugati urmatoarea procedura OnClick:

Yüklə 1,42 Mb.

Dostları ilə paylaş:
1   ...   8   9   10   11   12   13   14   15   16




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin