Titlul documentului


Puteti utiliza acest obiect si pentru a salva filele editate,pentru



Yüklə 1,42 Mb.
səhifə5/16
tarix03.01.2019
ölçüsü1,42 Mb.
#89992
1   2   3   4   5   6   7   8   9   ...   16

Puteti utiliza acest obiect si pentru a salva filele editate,pentru

a arhiva date cu un format fix,pentru a introduce titlul sau antetul in

file care urmeaza sa fie editate ulterior,etc.

Mai mult,puteti utiliza metoda RegisterConversionFormat pentru a face

conversii intre formatul original al filelor si cel editat de d-voastra.


-25- Win32 - TTRACKBAR si TPROGRESSBAR

TTrackBar este un obiect destinat pentru configurarea unor optiuni din

aplicatie,in timpul executiei (Exemplul clasic este butonul de sunet).

Este format din o bara de defilare,o scara gradata si un buton culisant

cu un indicator spre marcajele din scara gradata.In timpul executiei,

butonul poate culisa fie cu ajutorul sagetilor de la tastatura,fie prin

tractionare cu butonul mouse.Obiectul prezinta o serie de proprietati si

metode care permit utilizarea si configurarea obiectului.

EXEMPLU: (vezi Prj25)

Salvati o fila noua si proiectul in dierectorul Prj25.

Adaugati in Form un obiect de tip TTrackBar si un obiect de tip TLabel.

Utilizati Object Inspector pentru a seta aspectul celor doua obiecte (

culori,fonturi etc.),apoi alegeti pentru TrackBar1 Events si adaugati in

OnChange(dublu click) urmatoarea procedura:

procedure TForm1.TrackBar1Change(Sender: TObject);

var pozitie:variant;

begin

pozitie:=TrackBar1.Position;

Label1.Caption:=pozitie;

end;

Tastati F9 si executati aplicatia.Observati ca la deplasarea butonului

culisant,TLabel afiseaza pozitia.In mod similar,obiectul poate fi utilizat

pentru a executa o secventa de operatii (Exemplu: la fiecare gradatie

poate afisa o alta imagine de tip BitMap,intr-un obiect de tip TImageList).
TProgressbar este un obiect destinat pentru a prezenta gradul de exe-

cutie al unui proces,etapa de executie a unei proceduri sau a unei functii

sau stadiul de executie al unei aplicatii.Este format dintr-o bara de de-

filare in interiorul careia se adauga progresiv,un set de dreptunghiuri

albastre,pana cand intreaga bara de defilare este ocupata.Acest obiect

afiseaza aproximativ stadiul de executie al procesului respectiv.

EXEMPLU: (vezi Prj26)

Salvati o fila noua si proiectul.

Adaugati in Form un obiect de tip TProgressBar si un buton.Setati din

Object Inspector optiunile preferate pentru cele doua obiecte,apoi in

Events atribuiti butonului urmatoarea procedura OnClick:

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

ProgressBar1.Position:=ProgressBar1.Position+10;

end;

Tastati F9 si executati aplicatia.La fiecare click pe buton,bara de defi-

lare se va completa cu cateva dreptunghiuri colorate.Utilizati Min si

Max pentru a determina cursa butonului culisant (valaorea de pornire si

respectiv cea de oprire),sau modificati valoarea fiecarui pas,astfel incat

sa satisfaca necesitatile aplicatiei.

Un obiect de acest gen se poate conecta si cu un timer,astfel incat sa

execute o operatie al un anumit interval de timp,sau sa afiseze timpul

ramas pana la completarea procesului (atunci cand se cunoaste durata to-

tala de executie).Pentru exercitiu,puteti incerca sa cuplati obiectul cu

un ceas al sistemului,astfel incat sa execute o operatie la fiecare se-

cunda,sau sa afiseze (cu TLabel auxiliar) cate secunde mai sunt pana la

epuizarea procesului.


-26- Win32 - TUPDOWN si THOTKEY

TUPDOWN este un obiect utilizart pentru incrementarea sau decrementarea

unei valori.Obiectul este format din doua sageti.Un click de mouse pe

sageata in sus,incrementeaza valoarea iar un click pe sageata in jos,de-

crementeaza valoarea numerica.Obiectul contine o serie de proprietati

pentru configurarea aspectului si pentru controlul operatiilor.Astfel,

Min si Max stabilesc domeniul de valori acceptate,iar Position returneaza

valoarea actuala.TUpDown se utilizeaza pentru ajustarea unei valori.

EXEMPLU:

Salvati o fila noua si proiectul in Prj27.

Adaugati in Form un obiect de tip TUpDown si un obiect de tip TLabel.

Daca doriti,redimensionati obiectul TUpDown,apoi selectati Events si

atribuiti in OnChanging urmatoarea procedura:

procedure TForm1.UpDown1Changing(Sender:TObject;var AllowChange:Boolean);

var valoare:variant;

begin

valoare:=UpDown1.Position;

Label1.Caption:=valoare;

end;

Tastati F9 si executati aplicatia.Executati click de mouse pe sageata in

sus.Daca doriti sa modificati valoarea saltului,puteti utiliza din Object

Inspector proprietatea Increment (De exemplu 5).Pentru a putea utiliza si

valori negative,trebuie modificata valoarea din Min (Exemplu: -5).

THotKey este un obiect destinat pentru adaugarea sau schimbarea tastei

de shortcut.Se poate utiliza pentru a schimba in timpul executie tasta

utilizata pe post de shortcut (tasta pentru executie rapida a obiectului).

In plus,permite si formarea de combinatii complexe pentru tasta HotKey.

EXEMPLU:

Salvati o fila noua si proiectul in Prj28.

Adaugati in Form un obiect TMainMenu si executati un dublu click pe acest

obiect.In Form1.MainMenu1 executati un click cu butonul drept in drept-

unghiul albastru si selectati Insert From Template,apoi MDI Frame Menu.

Dupa aparitia meniului executati un click pe Exit si alegeti din Object

Inspector ShortCut.Fixati o tasta oarecare de shortcut(Exemplu: E).Apoi

selectati Events si dublu click in OnClick.Introduceti in procedura,

"Close;" .Tastati F9 si executati aplicatia.Observati ca meniul Exit din

File are doua taste shortcut.Tasta "E" se poate utiliza atunci cand

meniul nu este selectat,iar tasta "x" este shortcut-ul implicit.Pentru a

verifica shortcut-ul tastati Run,apoi "e".

Adaugati in Form si un obiect THotkey.Alegeti din Object Inspector

proprietatea HotKey si fixati o noua combinatie (Exemplu: Ctrl+A).Apoi

executati un click pe Events si dublu click in OnEnter si redefiniti pro-

cedura generata astfel:

procedure TForm1.HotKey1Enter(Sender: TObject);

begin

Exit1.ShortCut:=HotKey1.HotKey;

end;

Tastati din nou F9 si executati aplicatia.Observati ca tasta de shortcut

"e" a fost inlocuita cu "Ctrl+A".Pentru a iesi direct din aplicatie,fara

sa mai selectati meniul File,puteti utiliza Ctrl+A.Daca doriti sa reveniti

la vechea setare,alegeti pentru THotKey proprietatea Visible si setarea

False.Acum tasta "e" este din nou functionala(reveniti cu Visible=True).


-27- Win32 -TANIMATION,TDATETIMEPICKER

TAnimation este un obiect destinat pentru vizualizarea clipurilor video

de tip AVI (Audio Video Interleaved).Desi clipurile contin si sunet,acest

obiect nu poate reda decat componenta video.Clipurile sunt formate din

imagini de tip bitmap,care se succed cu o anumita frecventa,pentru a

forma un efect de animatie.TAnimation accepta orice clip AVI in care

filele nu sunt comprimate sau au fost comprimate cu RLE(run-length enco-

ding).Daca s-a utilizat orice alt tip de compresie,clip-urile vor fi

decomprimate inainte de a fi apelate.

EXEMPLU:

Adaugati in Form un obiect de tip TAnimate.Alegeti din Object Inspector

FileName si selectati Demos/Coolstuf/Cool.Setati apoi Repetitions la

valoarea 10 si Active la valoarea True.Tastati F9 si observati efectul

de animatie.

Daca doriti un program mai complex,puteti sa adaugati un numar de bu-

toane prin care sa controlati modul de executie.Atribuiti fiecarui buton

una dintre proprietatile obiectului TAnimate,astfel incat sa realizati

un panou de comanda.Pentru a porni sau opri executia,puteti utiliza

proprietatea Active (True sau False) iar pentru a specifica numarul de

operatii efectuate,puteti utiliza Repetitions.Pentru a redimensiona auto-

mat dimensiunea obiectului se poate utiliza AutoSize iar pentru a speci-

fica imaginea de la care incepe si respectiv cea cu care se termina

clipul puteti utiliza StartFrame si StopFrame,etc...(Vezi Prj29).
TDateTimePicker este un obiect specializat pentru preluarea de date in

format de data calendaristica sau respectiv de tip ora/minut/secunda.

Cu ajutorul acestui obiect puteti selecta,sau puteti seta si reseta

data sau ora si apoi puteti utiliza o metoda a obiectului pentru a

arhiva informatia respectiva.In momentul executiei,obiectul afiseaza data

curenta.Din Object inspector puteti selecta modul de afisare prin pro-

prietatea DateMode.Daca doriti sa afisati date de tip orar,selectati din

Kind tipul dtkTime.Restul proprietatilor sunt pentru configurarea dimen-

siunilor,culorilor fonturilor etc.

EXEMPLU:

Adaugati in Form un obiect de tip TDateTimePicker.Alegeti pozitia

dorita si setarile preferate (Exemplu fonturi size 18).Tastati F9

si apoi apasati butonul de navigare.Din obiectul afisat,alegeti data

dorita.Daca doriti ca data sa fie afisata in format complet,alegeti din

DateFormat optiunea dfLong.

Pentru a arhiva datele,puteti utiliza metoda GetTextBuf.In exemplul

de mai sau,adaugati un buton si un camp TLabel(Standard).Redenumiti bu-

tonul si atribuiti acestui buton o procedura de genul:

procedure TForm1.Button1Click(Sender: TObject);

var tampon: PChar;

nr:integer;

begin

tampon:=' ';

nr:=DateTimePicker1.GetTextBuf(tampon,24);

Label1.Caption:=tampon;

end.

Tastati F9 si executati proiectul(vezi si Prj30).Datele preluate pot fi

introduse in textul editat sau pot fi utilizate pentru operatii matematice.


-28- Win32 - TTREEVIEW si TLISTVIEW

TTreeView este un obiect care afiseaza ierarhic o lista inlantuita de

elemente,cum sunt titlurile unor documente,directoarele si filele dintr-o

unitate de disc sau intrarile intr-un tabel indexat,etc.

Obiectul este format din noduri,care asociaza un identificator si un

numar optional de intrari spre elementele care il formeaza.Fiecare nod,

poate avea la randul sau o lista intreaga de sub-noduri.La orice click

de mouse pe un nod,se va afisa lista extinsa a sub-nodurilor sale.Cel

mai cunoscut obiect de acest gen este Windows Commander.

TTreeView se utilizeaza pentru a forma astfel de liste de elemente.

EXEMPLU: (vezi Prj31)

Salvati o fila si proiectul in Prj31.

Adaugati in Form un obiect de tip TTreeView,un buton si un camp TLabel.

Din ObjectInspector selectati pentru TreeView1 campul Items si utilizati

Tree View Items Editor pentru a introduce elementele dorite.In partea

din drepata a obiectului introduceti numele acestuia si numarul de index-

are (Image Index,Selected Index si State Index).Puteti utiliza Load pentru

a incarca elemente predefinite.Confirmati cu OK.In continuare puteti uti-

liza proprietatile si metodele obiectului.Pentru a determina care dintre

elemente a fost selectat la un moment dat,atribuiti butonului urmatoarea

procedura OnClick:

procedure TForm1.Button1Click(Sender: TObject);

var nod:TTreeNode;

begin

nod:=TreeView1.Selected;

Label1.Caption:=nod.Text;

end;

Tastati F9 si executati obiectul.

TListView este un obiect destinat pentru a afisa o lista de elemente,

in mai multe feluri(izolate,in coloana,in forma de tabel etc.).Este ase-

manator cu TTreeView,dar elementele sunt in forma de siruri sau grile si

pot fi afisate sub forma de coloane (cu butoane de titlu),ordonate orizon-

tal sau vertical,sau insotite de icon-uri.Obiectul ofera un numar mare

de proprietati si metode,care simplifica operatiile asupra elementelor.

EXEMPLU: (vezi Prj32)

Salvati o fila si proiectul in Prj32.Adaugati in Form un obiect de tip

TListView,un buton si un camp TStaticText1.Pentru a introduce elemente in

obiectul ListView1,executati un click de mouse cu butonul drept,pe aria

obiectului si alegeti Columns Editor sau Items Editor (sau alegeti din

Object Inspector Items si Columns).Pentru a vedea toate elementele incluse

alegeti din ViewStyle optiunea vsReport iar pentru a afisa o grila intre

elemente,selectati GridLines True.Alegeti restul optiunilor dupa bunul

plac (culori,fonturi etc.).Apoi asociati butonului urmatoarea procedura

OnClick:

procedure TForm1.Button1Click(Sender: TObject);

var index1:variant;

begin

index1:=ListView1.Selected.Caption;

StaticText1.Caption:=index1;

end;

Tastati F9 si executati aplicatia.Selectati un element,apoi apasati buto-

nul.Nu ezitati sa experimentati si alte metode sau proprietati.


-29- Win32 -THEADERCONTROL si TSTATUSBAR

THeaderControl este un obiect utilizat pentru a adauga un antet(titlu).

Obiectul contine un set de suprafate de tip buton,care pot fi redimensio-

nate in timpul executiei.Fiecare astfel de suprafata este un obiect de

tip THeaderSection si este inclus sub forma de lista,in proprietatea

Sections.Se poate utiliza pentru a afisa anumite proprietati ale unui

obiect din aplicatie,sau pentru a declansa o procedura.Mai mult,poate fi

tras ca o cortina,peste obiectele din fereastra (Exemplu:TEdit) care vor

ramane insa active (in background).

EXEMPLU:

Salvati o fila noua si proiectul in Prj33.Adaugati un obiect TLabel.

Adaugati in Form un obiect de tip THeaderControl si ajustati dimensiunile

dupa bunul plac.Executati un click de mouse cu butonul drept,pe aria

acestui obiect si selectati Selections Editor.Acum antetul(titlul) poate

fi subimpartit in mai multe componente (obiecte THeaderSection).Scrieti

un text oarecare (Exemplu: Antet1 ) in proprietatea Text.Apoi selectati

din nou THeaderControl si alegeti din Events OnMouseDown.Atribuiti urma-

toarea procedura:

procedure TForm1.HeaderControl1MouseDown(Sender:TObject;

Button: TMouseButton; Shift: TShiftState; X,Y:Integer);

begin

Label1.Caption:='Declanseaza executia unei proceduri !';

end;

Tastati F9 si executati obiectul.Selectati cu mouse Antet1 iar Tlabel va

afisa textul specificat (Atentie ca THeaderControl sa nu acopere textul).

Daca doriti sa observati si efectul de cortina,adaugati si alte obiecte

in Form,la care asociati cate un text de tip TLabel.Apoi asociati si un

buton care redimensioneaza HeaderControl cu: HeaderControl1.Height:=300.

TStatusBar este un obiect similar,destinat pentru a realiza o bara de

stare de tip Windows.Puteti utiliza acest obiect pentru a afisa o serie

de informatii utile,sau chiar pentru a declansa o procedura oarecare.

Se compune din suprafete plane,in coloane care formeaza o lista de

obiecte arhivata in TStatusPanel.Fiecare dintre aceste suprafete poate

afisa un anumit text sau mesaj.Obiectul are si o serie de proprietati si

metode auxiliare,utile pentru a configura obiectul.

EXEMPLU:

Salvati o fila si proiectul in Prj34.Adaugati un obiect de tip TLabel.

Adaugati un obiect de tip TStatusBar si apoi executati deasupra lui un

click de mouse cu butonul drept.Selectati Panel Editor si utilizati

caseta de dialog pentru a introduce texte in obiectele de tip StatusPanel

adaugate automat (cu Add).Configurati bara de status dupa bunul plac,apoi

alegeti din Events OnClick si adugati o procedura de genul:

procedure TForm1.StatusBar1.Click(Sender:TObject);

begin

Label1.Caption:='Bara de status a fost activata !';

end;

Tastati F9 si executati obiectul.

In mod similar,se poate atribui orice alta procedura,dar acest obiect

nu este destinat pentru a controla procesele ci doar pentru a afisa

informatii despre un obiect oarecare; pentru a prezenta memoria libera,

data si ora,sau o alta operatie simpla de acest gen.

Obiectele StatusPanel nu sunt reconfigurabile in timpul executiei.


-30- Win32 -TTOOLBAR si TCOOLBAR

TToolBar este un obiect destinat pentru a grupa obiecte de tip buton,

sub forma de "bara de unelte".Spre deosebire de TPanel,acest obiect aran-

jeaza si dimensioneaza butoanele automat.Butoanele sunt obiecte de tip

TToolButton si pot oferi suport pentru alte obiecte,astfel incat bara de

unelete sa contina si alt fel de obiecte(care sunt sustinute de cate un

buton invizibil).Este un obiect extrem de practic pentru introducerea

de controale si comenzi.

EXEMPLU:

Salvati o fila si proiectul in Prj35.Adaugati un obiect de tip TLabel

si un obiect de tip TToolBar.Redimensionati bara de unelte si alegeti

culoarea dorita.Pentru a adauga butoane,executati un click de mouse cu

butonul drept si alegeti New Button,iar apoi alegeti New Separator,daca

doriti ca butoanele sa fie separate de un spatiu simetric.

Pentru a scrie pe butoane,selectati butonul cu un click,scrieti in

Caption textul dorit,iar apoi selectati din nou TToolBar si alegeti

pentru proprietatea ShowCaptions optiunea True.

Restul butoanelor vor fi dimensionate si spatiate automat.

Pentru a adauga o procedura,selectati pentru buton Events si apoi alegeti

evenimentul dorit.Exemplu: pentru OnClick scrieti procedura:

procedure TForm1.ToolButton1Click(Sender: TObject);

begin

Label1.Caption:='Primul buton a fost selectat !';

end;

Tastati F9 si executati aplicatia.Daca doriti alt tip de obiect,pur si

simplu adaugati obiectul in ToolBar (Exemplu: TEdit).
TCoolBar este un obiect specializat pentru gruparea ordonata a unor

controale.Este format din benzi denumite TCoolBand,care pot contine cate

o colectie de obiecte de tip Windows,sunt mobile si reconfigurabile.

Acest obiect,(la fel ca si TListView) necesita prezenta unei biblioteci

DLL denumita COMCTL32.DLL.Aplicatiile care utilizeaza acest tip de obiect

nu vor putea fi executate decat in prezenta acestei biblioteci(care este

inclusa in mod normal in Windows\System sau in Windows\System32).

Fiecare astfel de banda,va avea un aspect propriu (care poate fi defi-

nit cu o imagine de tip BitMap) si va contine un grup de obiecte Windows.

Acest obiect este asemanator cu un meniu,dar poate contine obiecte dife-

rite si poate avea un aspect personalizat.

EXEMPLU: (vezi si exemplul Prj36)

Salvati o fila noua si proiectul in Prj36.Utilizati din meniul princi-

pal Tools si Image Editor pentru a desena cateva imagini de tip BitMap.

Adaugati aceste imagini in directorul Prj36,apoi puteti incepe proiectarea

obiectului.Adaugati in Form un obiect de tip TCoolBar.Click drept de mouse

si selectati Bands Editor pentru a adauga cateva benzi TCoolBand.Apoi

selecati fiecare banda si alegeti BitMap.Din Picture Editor alegeti Load

si incarcati una dintre imaginile BitMap adaugate anterior in Prj36.

Utilizati Text pentru a schimba numele.Apoi adaugati in Form un obiect de

tip TToolBar.Adaugati in TToolBar cateva butoane,apoi selectati prima

banda din TCoolBar (CoolBar1.Bands[0]) si alegeti din Proprietatea Control

ToolBar1.Butoanele vor fi activate cu proceduri,la fel ca orice buton.

Tastati F9 si executati aplicatia.

In mod similar,puteti adauga in benzi orice alt obiect.


-31- System - TTIMER si TPAINTBOX

Urmatoarea paleta de componente,se numeste System si contine obiecte

specializate pentru interactiunea cu sistemul de operare.

TTimer este un obiect specializat in repetarea unei operatii,la un

anumit interval de timp.Acest obiect nu este vizibil in fereastra (este

un component nonvizual) ci este un modul specializat pentru date,asa cum

sunt si componentele destinate pentru accesarea datelor (TTable etc.).

TTimer se utilizeaza pentru a declansa o actiune,la intervale regulate.

Pentru a regla intervalul de repetitie se poate utiliza proprietatea

Interval,iar pentru a declansa actiunea,evenimentul OnTimer.Pentru a

intrerupe timerul se seteaza Enabled la valaorea False.

EXEMPLU: (vezi exemplul Prj37)

Salvati o fila si proiectul in Prj37.Adaugati un obiect TLabel si

trei obiecte TTimer.Selectati fonturile si culorile dorite pentru TLabel.

Apoi selectati cele trei timere si atribuiti in Events/OnTimer urmatoa-

rele proceduri (cate una pentru fiecare timer):

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Label1.Color:=clYellow;

Label1.Caption:='Primul timer a fost activat !';

end;

procedure TForm1.Timer2Timer(Sender: TObject);

begin

Label1.Color:=clAqua;

Label1.Caption:='Al doilea timer este activ !';

end;

procedure TForm1.Timer3Timer(Sender: TObject);

begin

Close;

end;

Apoi selectati pe rand cele trei timere si setati proprietatea Interval,

dupa cum doriti sa se desfasoare evenimentele.Exemplu: Interval=3000

pentru Timer1,5000 pentru Timer2 si 12000 pentru Timer3.

Perioadele de timp setate sunt exprimate in milisecunde.Deci 3000

inseamna 3 secunde.

Tastati F9 si executati aplicatia.Dupa 3 secunde se va afisa primul

mesaj.Dupa alte doua secunde se va afisa cel de al doilea,iar dupa inca

o secunda (total 6 secunde) primul timer termina cel de al doilea ciclu

de trei secunde si se va afisa din nou primul mesaj...etc.Dupa 12 secunde

cel de al treilea timer intrerupe aplicatia.Numarul total de timere

utilizat depinde de sistemul de operare si de memoria libera.
TPaintBox este un obiect destinat pentru a adauga un mic desen in

aplicatie,intr-o arie delimitata de suprafata acestui obiect.Pentru a

accesa suprafata grafica se utilizeaza proprietatea Canvas,iar pentru a

atribui o operatie se utilizeaza evenimentul OnPaint.

EXEMPLU: (vezi si Prj38)

Salvati fila si proiectul in Prj38.Adaugati un obiect TPaintBox si

alegeti culoarea si fontul dorit.Apoi atribuiti in OnPaint o operatie

oarecare.Exemplu: PaintBox1.Canvas.TextOut(5,5,' Textul dorit 1 ! ');

Tastati F9 si executati aplicatia.In mod similar puteti introduce orice

procedura grafica.Pentru obiecte Bitmap este preferabil obiectul TImage.


-32- Win32 TMEDIAPLAYER si TOLECONTEINER

TMediaPlayer este un obiect conceput pentru programarea de aplicatii

destinate sa controleze unitati audio-video,de tip CD-ROM,video-player etc.

Obiectul contine un set de butoane cu ajutorul carora se pot controla

principalele operatii ale aparatului de inregistrare-redare.Aceste butoane

pot fi active sau inactive,vizibile sau invizibile,AN sau color in functie

de optiunile alese din Object Inspector.

TMediaPlayer se poate utiliza impreuna cu aparate care beneficiaza de

un driver de tip MCI (Media Control Interface),care realizeaza interfata

digitala dintre controalele electrice si cele digitale.

Pentru a selecta tipul de aparat utilizat se va utiliza proprietatea

DeviceType,iar pentru a alege fila asupra careia actioneaza se va utiliza

FileName.

EXEMPLU: pentru un CD-ROM cu muzica in format WAV ( vezi si Prj39)

Salvati o fila noua si proiectul in Prj39.Adaugati in Form un obiect

de tip TMediaPlayer si alegeti din Object Inspector AutoEnable = False.

Apoi selectati DeviceType si alegeti tipul de aparat(sau AutoSelect) iar

in FileName selectati fila de tip .wav dorita (Prj39 contine cateva file

.WAV cu sunete emise de balene).Selectati AutoOpen si alegeti True.

Tastati F9 si executati aplicatia.

Acest tip de obiect nu recunoaste decat filele de tip .wav,.avi si .mid.

Pentru file audio-vizuale actuale(MPEG,JPEG etc.) este necesara o versiune

mai recenta a programului(Dephi 5...etc.).
TOleConteiner este un obiect destinat pentru incorporarea si interco-

nectarea obiectelor OLE.Tehnologia OLE(Object Link Embaded) permite acces-

ul la obiecte care sunt active nu doar in programul curent,ci si in alte

programe,sau sunt definite si activate in alt program.Mai exact,prin

aceasta tehnologie se pot accesa proprietatile si metodele acestor obiecte

dar nu se pot modifica codurile de definitie.Mai mult decat atat,un obiect

de tip OLE poate fi utilizat in comun de catre programe care utilizeaza

limbaje de progrmare diferite (C++,Pascal,Delphi etc.).Aplicatia care

contine obiectul OLE poarta numele de server,iar cea care utilizeaza

obiectul poarta numele de client.Exemplele clasice sunt Word si Excel.

Pentru a partaja un obiect cu alte aplicatii,puteti utiliza TOleContei-

ner impreuna cu obiecte de tip ActiveX.

EXEMPLU: (vezi si Prj40)

Salvati o fila noua si proiectul in Prj40.Adaugati un obiect de tip

TOleConteiner si ajustati dimensiunile.Apoi,din meniul principal,alegeti

grupul de obiecte ActiveX(cu sageata din dreapta) si selectati un astfel

de obiect,de exemplu TF1Book(Formula One spreadsheet).

Executati un click cu butonul drept pe TF1Book si alegeti Workbook

Designer.Utilizati acest instrument pentru a introduce datele dorite.

Tabelul realizat,asemanator cu cele din Excel,va putea fi partajat de

catre aplicatii diferite,dar,care utilizeaza tehnologia OLE.

Tastati F9 si executati aplicatia.Observati avantajele acestui obiect (

datele pot fi selectate in linie,pe coloane etc.).

Celelalte obiecte din System (TDdeClientConv,TDdeClientItem,TDdeServer-

Conv si TDdeServerItem) sunt destinate pentru tehnologia de comunicatie

dintre aplicatii denumita DDE (Direct Data Exchange).Tehnologia DDE a

fost scoasa din uz in aplicatiile recente si nu face obiectul acestui

manual(se bazeaza pe conversatii de tip client-server).


-33- Internet

Urmatoarea paleta de componente,denumita Internet,contine un grup de

obiecte specializate pentru facilitarea programarii de aplicatii,pentru

reteaua Internet.Desi simplifica foarte mult munca de programare,aceste

obiecte (in versiunea Delphi 3) nu sunt inca complet automatizate si

necesita un minimum de cumostiinte despre protocoalele de comunicatie

specifice muncii in retea.

Daca sunteti conectat la reteaua Internet si aveti o adresa IP,puteti

sa utilizati adresa proprie pentru a nu deranja pe nimeni din retea.Daca

nu sunteti conectat,este preferabil sa exersati aceste componente intr-o

retea locala,special conceputa (fara sa fie conectata la Internet).

Obiectele din aceasta paleta,utilizeaza protocolul de comunicatie de

tip TCP/IP.Pentru a apela aceste obiecte,este necesar ca acest protocol

sa fie instalat pe calculator (chiar daca nu sunteti conectati la retea).

Daca sunteti incepator,este recomandabil sa nu exersati aceste componente

decat dupa deconectarea de la retea.

Adresele IP sunt formate din patru numere cu valoare cuprinsa intre

0 si 255 (w,x,y,si z) dispuse astfel: w.x.y.z.Exista un grup destul de

mare de astfel de adrese,care a fost rezervat special pentru retelele de

calculatoare care nu vor fi conectate niciodata la Internet.Aceste adrese

sunt definite prin documentul RFC 1918 si sunt excluse din principalele

centrale al retelei Internet,astfel incat este exclusa interferenta

accidentala cu retelele reale.

Aceste adrese sunt: de la 10.0.0.0 la 10.255.255.255 (clasa A)

de la 172.16.0.0 la 172.31.255.255 (clasa B)

de la 192.168.0.0 la 192.168.255.255(clasa C)

Pentru scopuri didactice,este indicat sa utilizati o retea locala,fara

conexiune cu reteaua Internet,in care terminalele utilizeaza adrese IP

din grupul de mai sus.In acest caz,chiar daca reteaua va fi cuplata

accidental la Internet,se exclud posibilele interferente.

Pentru exemplele din manual,am utilizat o adresa IP fictiva 10.10.10.10

intr-o retea locala,necuplata la Internet.

Obiectele din acest grup au fost inlocuite in versiunile recente prin

versiuni mai performante,astfel incat utilizarea lor este din ce in ce

mai rara.In acest manual,vor fi prezentate doar orientativ,la nivel ele-

mentar.Programul Delphi 3 contine si cateva exemple functionale,in

directorul Demos/Internet.
TClientSocket este un obiect destinat pentru a transforma aplicatia res-

pectiva in client TCP/IP.Permite specificarea unei adrese de conectare si

supravegheaza conexiunea cu adresa respectiva.

Prin socket,se intelege in termeni generali un element terminal al unei

retele(o statie de lucru).In termeni software,este asemenator cu un folder

(un director) care contine un tampon de memorie,la care se asociaza auto-

mat si un grup de informatii referitoare la adresa din retea,tipul de

conexiune,etc.Utilizand elemente de tip socket,se poate face schimb de

date intre doua calculatoare,fara sa fie necesar sa cunoasteti toate ele-

mentele intime ale retelei,sau ale protocoalelor de comunicatie.De fapt,

acesta este si principalul lor rost.Utilizatorii nu trebuie sa fie ingi-

neri de sistem pentru a putea schimba informatii.Socket-urile se bazeaza

pe protocolul TCP/IP dar sunt suficient de generale pentru a accepta si

alte protocoale: Xerox NetWork System,Digital's DECnet,Novell IPX/SPX etc.


-34- Internet - ClientSocket

Puteti utiliza aceste obiecte pentru a programa aplicatii Web,char

daca nu sunteti experti in comunicatii.

TClientSocket asigura conexiunea cu un alt calculator.Pentru a speci-

fica adresa calculatorului cu care doriti sa va conectati utilizati pro-

prietatea Address.Daca nu cunoasteti adresa IP,puteti utiliza o adresa

alias gen www.yahoo.com.In acest caz,utilizati proprietatea Host.Pentru

ca sa puteti realiza simultan mai mult decat o singura conexiune,este

bine sa specificati si un numar de port,in proprietatea Port.Pentru a

deschide efectiv conexiunea,se va utiliza metoda Open.

Obiectele de tip ClientSocket nu sunt vizibile in timpul executie.

Daca doriti sa reprezentati aceste obiecte,puteti utiliza un obiect de

tip TImage in care afisati o imagine Bitmap sau un Icon oarecare.

EXEMPLU: ( vezi si Prj41)

Salvati o fila noua si proiectul in Prj41.Utilizati Image editor pentru

a desena un calculator,sau o imagine simbolica oarecare si adaugati in

directorul Prj41 fila BitMap respectiva.

Adaugati in Form un obiect TClientSocket si un obiect TServerSocket.

Sub cele doua obiecte adaugati cate un obiect tip TImage(Additional) si

utilizati proprietatea Picture pentru a afisa desenul realizat.

Adaugati in Form si un buton si 6 etichete TLabel.

Apoi selectati ClientSocket1 si in Object Inspector adaugati o adresa

IP in Address (Exemplu: 172.25.1.25 ) si o adresa alias in Host ( Exemplu:

www.caseta1.ro) la care adaugati un numar de port (Exemplu: 1024).

Optional,adaugati un numar de port si pentru obiectul ServerSocket1.

Utilizati primele doua etichete pentru a denumi cele doua obiecte.

Pentru buton alegeti din Events OnClick si scrieti urmatoarea procedura:

procedure TForm1.Button1Click(Sender: TObject);

begin

Label3.Caption:='Adresa IP= ' + ClientSocket1.Address;

ServerSocket1.Open;

Label5.Caption:='Aplicatia a fost activata !';

Label6.Caption:='Adresa alias= ' + ClientSocket1.Host;

end;

Apoi alegeti ServerSocket1 si adaugati in OnListen din Events urmatoarea

procedura:

procedure TForm1.ServerSocket1Listen(Sender:TObject;

Socket:TCustomWinSocket);

begin

Label4.Caption:='Serverul asteapta solicitari...';

end.

In acest exemplu,aplicatia este transformata in server.Obiectul client

nu a fost activat,astfel incat puteti utiliza orice adresa IP doriti.

Pentru a stabili conexiunea efectiva,trebuie adaugata si metoda Open:

ClientSocket1.Open dar in acest caz adresa IP trebuie sa fie o adresa

reala din retea (sau adresa calculatorului d-voastra).Obiectul server

poate fi activat fara sa fie in conexiune cu o adresa reala.

Exemplul prezinta doar interfata aplicatiei.Pentru a schimba date

efectiv (chat), se pot utiliza metodele: ClientSocket.Socket.Sendtext si

ClientSocket.Socket.ReceiveText sau respectiv SendBuf si ReceiveBuf.

Acest gen de schimb de date,este rudimentar,dar foarte economicos in ce

priveste consumul de memorie.


-35- Internet - ServerSocket

TServerSocket este un obiect destinat pentru a transforma aplicatia in

server TCP/IP.Obiectul de tip server,daca este activat,trece in stare de

astepare (listening) si stabileste conexiunea cu clientul in momenul in

care receptioneaza un mesaj de solicitare (request).

TServerSocket nu are o proprietate pentru adresa,ci doar un numar de

port.Astfel,o aplicatie poate contine un numar mai mare de obiecte server

cu ajutorul carora poate stabili conexiuni simultane,cu mai multe calcu-

latoare din retea,utilizand numere de port diferite.

Pentru a realiza o conexiune completa,aplicatia trebuie sa contina

atat un obiect sever cat si un obiect client.Calculatorul partener de

chat va contine la randul sau un server si un client.Clientul apeleaza

adresa serverului din aplicatia calculatorului partener,si reciproc.

Aplicatia nu poate fi client si server in acelasi timp si pe acelasi

port.Pentru a putea comunica,se pot utiliza porturi diferite pentru

transmisie si respectiv pentru receptie,sau se poate utiliza un singur

port in care operatiile se desfasoara succesiv(client,apoi server,apoi

din nou client...etc.).

Este bine sa utilizati o reprezentare grafica oarecare,prin care sa

semnalati daca aplicatia este conectata ca server sau client.In acest

scop,cel mai simplu este sa utilizati doua imagini grafice diferite:

EXEMPLU: (vezi si Prj42)

Salvati o fila noua si proiectul in Prj42.Adaugati si doua imagini

icon sau Bitmap diferite.Adaugati in Form un obiect de tip ClientSocket

si un obiect ServerSocket.Adaugati un obiect TImage si utilizati Picture

din ObjectInspector pentru a selecta prima imagine.Apoi adaugati un al

doilea obiect TImage,suprapus peste primul si selectati in Picture cea de

a doua reprezentare grafica.

Selectati ClientSocket si introduceti in Address adresa IP instalata in

calculatorul d-voastra (sau o adresa reala) si un numar de port.Apoi

alegeti ServerSocket si introduceti numarul de port (acelasi).

Adaugati in Form doua butoane si un camp TLabel si atribuiti celor

doua butoane urmatoarele proceduri:

procedure TForm1.Button1Click(Sender: TObject);

begin

ServerSocket1.Open;

ClientSocket1.Open;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Label1.Caption:='STAND BY ! ';

Image2.Visible:=False;

Image1.Visible:=True;

Beep;

ServerSocket1.Close;

ClientSocket1.Close;

end;

Primul buton va activa serverul si va deschide conexiunea,iar cel de al

doilea va inchide conexiunea si serverul.Pentru a deschide o conexiune

este necesar sa existe un server in stare de asteptare (listening),motiv

pentru care serverul trebuie activat inainte de a activa clientul.

Pentru a verifica conexiunea,alegeti evenimentul OnConect din ClientSocket


-36- Internet - THTML

si adaugati urmatoarea procedura:

procedure TForm1.ClientSocket1Connect(Sender: TObject;

Socket: TCustomWinSocket);

begin

Label1.Caption:='CONECTAT !';

Image1.Visible:=False;

Image2.Visible:=True;

Beep;

end;

Tastati F9 si executati aplicatia.Apasand alternativ cele doua butoane,

conexiunea va fi inchisa sau deschisa,si se va afisa imaginea grafica

corespunzatoare.

Acest exemplu,realizeaza o conexiune inchisa intre serverul si clientul

aplicatiei si are scop demonstrativ.Pentru a realiza o bucla reala,

clientul trebuie sa apeleze un server situat pe un alt calculator si sa

receptioneze prin server mesajele transmise de clientul din acel calcu-

lator.Evenimentul OnConect se poate utiliza pentru a verifica daca

s-a stabilit conexiunea.

Pentru a verifica alte evenimente,obiectul ServerSocket contine si

evenimente ca: OnClientError,OnClientRead,OnClientWrite,OnGetThread etc.

Aceste evenimente se pot utiliza fie pentru a semnaliza in timpul exe-

cutiei fiecare operatie executata (de exemplu se aprinde un led la

fiecare mesaj receptionat sau emis),fie pentru a depana o aplicatie.

In rest,metodele celor doua obiecte (client si server) sunt similare

si pot fi apelate prin intermediul proprietatii Socket (metodele si

proprietatile obiectului de tip TServerWinSocket).

Aceste obiecte sunt destul de rudimentare si nu prea mai sunt compati-

bile cu standardele actuale de comunicatie prin Internet.Pentru comuni-

catii reale in Internet este bine sa utilizati programele comerciale

special destinate acestui scop.Obiectele de tip ClientSocket si Server-

Socket pot fi utile pentru mici aplicatii care ruleaza in retele locale,

pentru schimb de date,in retele locale de informare,sau pentru diverse

aplicatii de actionari si automatizari in retele locale (fara conexiune

cu reteaua Internet reala).Conexiunile realizate astfel sunt foarte

rapide si necesita putina memorie de operare.In retelele mari de comuni-

catie,este foarte probabil ca astfel de mesaje sa fie filtrate (pot fi

interpretate ca potentiali virusi) si sa nu poata patrunde in ciuda

vitezei mari si a dimensiunilor mici.
THTML Active X este probabil cel mai solicitat component din lista de

obicte destinate pentru aplicatiile Web.Acest component permite cautarea

in retea si deschiderea automata a unui file de tip HTML(Hypertext markup

language).O fila de tip HTML este asemanatoare cu o fila de tip text

obisnuita (poate fi redactata si cu NotePad),dar utilizeaza un limbaj

special (o serie de conventii),astfel incat sa permita includerea in fila

de siruri cu fonturi diferite,imagini BitMap,grafice de tip GIF,JPEG,BMP,

si XBM etc.Daca navigati in reteaua Internet,puteti observa ca majoritatea

fielelor de tip text din aplicatiile WEB utilizeaza astfel de file.Nu este

obligatoriu sa cunoasteti acest limbaj pentru a putea utiliza componentul

THTML (dar este foarte util).Puteti gasi o descriere completa a acestui

limbaj la adresa: http://www.w3.org .


-37-

Puteti utiliza un obiect de tip THTML pentru a realiza un browser de

WEB asemanator cu Google,Internet Explorer sau NetScape Navigator (dar

mai rudimentar).In afara exercitiului de programare propriu zis,un astfel

de browser poate fi extrem de util,in diverse situatii:

-operatii in mediu de memorie restrans (depanare)

-doriti sa permiteti deschiderea unui singur site de Web

-nu doriti sa platiti licenta pentru un program comercial

-programati un sistem rapid de comunicatie intre angajatii firmei

-doriti sa evitati filtrele de protectie din programele comerciale

-doriti sa deschideti mai multe file de web cu minimum de memorie ocupata

-doriti sa imprimati automat doar cateva date selective...etc.

THTML permite si deschiderea directa a unui document de tip HTML,fara

sa implice si o cautare in retea.In plus,obiectul permite analiza auto-

mata a datelor preluate si navigarea in interiorul paginei preluate.In

plus,THTML se poate utiliza si pentru analiza nonvizuala a unui astfel

de document (documentul este preluat si analizat dar nu este afisat).

Pentru a prelua date cu ajutorul acestui obiect,se pot utiliza mai

multe metode:

1. Metoda explicita-apeland metodele RequestDoc sau RequestSubmit

2.Selectand un link activ-apeland un obiect cu care HTML este linkat

3.Selectand un obiect inclus in componentul HTML (cu DoRequestEmbedded)

4.Utilizand evenimentul DoRequestSubmit

Prima metoda este cea mai simpla si cea mai clara.Se pot apela si

obiectele HTML incluse in stream-uri,dar acest tip de apel presupune o

buna intelegere a modului de lucru cu streamuri (file virtuale).

THTML are urmatoarele limitari (deficiente):

-textul selectat nu poate fi copiat in memoria clipboard

-obiectul nu poate fi activat automat

-nu determina si nu apeleaza serverele de tip Proxy Server

-nu deschide listele FTP

-nu deschide documentele multiple (majoritatea site-urilor actuale)

In concluzie,THTML nu este obiectul ideal pentru programarea unor apli-

catii WEB actuale si nu deschide automat majoritatea site-urilor de WEB,

dar poate fi utilizat cu succes pentru aplicatii simple,sau pentru a

deschide rapid si economic o fila de tip HTML din retea ( de exemplu

pentru a actualiza rapid si economic o serie de date uzuale,zilnice).

Majoritatea proprietatilor acestui obiect sunt utile pentru a configura

aspectul datelor preluate.Metodele sunt destinate pentru preluarea si im-

primarea datelor (puteti realiza aplicatii care preiau si imprima zilnic

o serie de date din retea).Obiectul este dotat cu un numar mare de eveni-

mente,destinate pentru procedurile de analiza si sortare a datelor pre-

luate.Puteti utiliza aceste evenimente,pentru a selecta dintr-o fila de

tip HTML doar un anumit tip de date,sau doar a anumita variabila care

se modifica zilnic (Exemplu: puteti prelua cursul zilnic al actiunilor

pentru o singura societate comerciala,dintr-o lista cu sute de astfel de

societati).

Mai mult,nu este necesar sa afisati datele preluate.Fila HTML poate fi

analizata in background si dupa preluarea si selectarea datelor dorite,

acestea pot fi imprimate direct,in timp ce utilizatorul desfasoara o alta

activitate.Evenimentele pot fi utile si pentru depanarea unor aplicatii

(Exemplu: ParseComplete verifica daca analiza datelor a fost completa).


-38-

Cea mai simpla aplicatie,este deschiderea unei file HTML:

EXEMPLU: (vezi si Prj43)

Deschideti o aplicatie noua.Salvati fila si proiectul intr-un director

(Prj43).Adaugati in fila un obiect Panel si extindeti Panel pentru toata

fila.Apoi adaugati in coltul de sus un obiect TComboBox si imediat sub

acesta un obiect de tip THTML.Adaugati si doua butoane,denumite START si

STOP.

Selectati ComboBox1 si introduceti in Object Inspector,in campul Text

adresa de WEB a documentului dorit (Exemplu: www.locuridemunca.ro).

In continuare,atribuiti celor doua butoane cate o procedura OnClick:

procedure TForm1.STARTClick(Sender: TObject);

begin

HTML1.RequestDoc(ComboBox1.text);

end;

si procedure TForm1.STOPClick(Sender: TObject);

begin

HTML1.Cancel(0);

end;

Pentru ca fila sa fie activata si deschisa in momentul in care lansati

aplicatia cu Run,selectati obiectul HTML1 si atribuiti in Events,pentru

evenimentul OnEnter urmatoarea procedura:

procedure TForm1.HTML1Enter(Sender: TObject);

begin

STARTClick(Sender);

end;

Acum browserul de WEB este gata.Tastati F9 si executati aplicatia.Pentru

a deschide alta fila,schimbati textul din ComboBox1.Text si lansati din

nou.

Browserul astfel realizat este extrem de rudimentar.Puteti adauga o

bara de stare si cateva proceduri auxiliare destinare pentru evaluarea

si interpretarea datelor.Puteti adauga unul sau mai multe filtre de date,

astfel incat datele preluate sa nu poata corupe memoria de operare in

caz ca fila preluata contine date ce depasesc capacitatea de procesare

a hard-ului instalat...etc.

Pentru aplicatiile realizate de d-voastra,care apeleaza la date din

reteaua Internet,este bine sa respectati normele elementare de civilizatie

pentru a nu deranja proprietarul site-ului.Este bine sa exersati cu

un document cunoscut,de la o adresa simpla si clara,cat mai apropiata

regional (din aceeasi tara) si pentru care proprietarul si-a dat acordul

(exista o serie de servere specializate pentru operatii de acest gen).

Dupa ce browser-ul d-voastra este functional,puteti adauga o serie de

facilitati noi.De exemplu,fila preluata poate fi schimbata dinamic,in

timpul executiei,etc.

Atunci cand programati si utilizati frecvent sau simultan un numar

mare de astfel de aplicatii,cantariti cu mare atentie fiecare procedura

si fiecare artificiu de programare adaugat.Fiecare astfel de artificiu

adauga ceva la memoria consumata (de cele mai multe ori inutil).Pentru

a preveni supradoparea memoriei de operare este bine sa programati doar

proceduri care lucreaza efectiv cu datele.Desenele animate,efectele gra-

fice colorate si clip-urile publicitare sunt apanajul programelor comer-

ciale,cu care nu are rost sa concurati.


-39- Internet - HTML

Pentru exercitii cu componentul THTML si pentru a invata limbajul de

editare al filelor HTML,este bine sa utilizati doar file locale,arhivate

in calculatorul d-voastra,cu conexiunea de Internet inchisa.

Deschiderea unei file locale se realizeaza identic cu cea pentru filele

din retea,dar calea de acces la fila se formeaza astfel:

URL = file://
Yüklə 1,42 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   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