Ovo poglavlje posvećeno je posebnoj vrsti
objekata koja je od ogromnog značaja. Štaviše, komponente čine Delphi ovim
što
jeste. Pošto je Delphi izuzetno razvijen, pored velikog broja ugrađenih
komponenti moguće je stvarati i nove, te će i tome biti posvećen dio ovog
poglavlja.
U narednoj tabeli se nalaze sve ugrađene komponente i
njihovo kratko objašnjenje.
Standard | |
MainMenu | Glavni meni ( npr File, Edit... ) |
PopupMenu | Meni koji se otvara desnim klikom miša |
Label | Tekst |
Edit | Prostor za unos teksta |
Memo | Prostor za unos teksta sa većim kapacitetom |
Button | Dugme |
CheckBox | Kutija za označavanje jedne ili više opcija |
RadioButton | Kutija za označavanje jedne od opcija |
ListBox | Lista |
ComboBox | Padajuća lista |
ScrollBar | - |
GroupBox | Grupa komponenti |
RadioGroup | Grupa RadioButtona-a |
Panel | Panel |
ActionList | Lista Akcija |
Additional | |
BitBtn | Dugme sa slikom pored teksta |
SpeedButton | Dugme sa slikom umjesto teksta, ali sa mogućnošću ispisa teksta |
MaskEdit | Prostor za unos maskiranog teksta |
StringGrid | Vrsta Tabele za tekst |
DrawGrid | Vrsta Tabele koja se može docrtavati |
Image | Slika |
Shape | Oblik |
Bevel | Kutija |
ScrollBox | Kutija sa ScrollBar-ovima |
CheckListBox | ListBox sa mogućnošću za označavanje |
Splitter | Rastavljač |
StaticText | Tekst sa okvirom |
ControlBar | Toolbar |
Chart | Grafikon |
Win32 | |
TabControl | Dijeli prostor na table |
PageControl | Dijeli prostor na stranice |
ImageList | Lista slika |
RichEdit | Prostor za unos teksta sa vrlo velikim kapacitetom |
TrackBar | Bar sa klizačem |
ProgressBar | Bar sa postotkom |
UpDown | Dva dugmeta za gore i dole |
HotKey | Pokazuje koji su tasteri stisnuti |
Animate | Pušta animaciju ili film |
DateTimePicker | Bira datum i vrijeme |
MonthCalendar | Kalendar |
TreeView | Tree ( drvo ) pregled |
ListView | Pregled u vidu liste |
HeaderControl | Zaglavlje |
StatusBar | Statusbar |
ToolBar | Bar sa alatkama |
CoolBar | ToolBar |
PageScroller | Uljepšani ScrollBar |
System | |
Timer | Štoperica |
PaintBox | Kutija za crtanje |
MediaPlayer | Player multimedijalnog sadržaja |
OleContainer | Kontejner za jednu aplikaciju |
DdeClientConv | Služi za uspostavljanje DDE razgovora (stara tehnologija ) |
DdeClientItem | - |
DdeServerConv | - |
DdeServerItem | - |
DdeClientConv | - |
Internet | |
ClientSocket | Služi za stvaranje TCP/IP aplikacija |
ServerSocket | Služi za stvaranje TCP/IP servera |
WebDispatcher | Manipuliše Web akcijama |
PageProducer | Konvertira u HTML |
QueryTableProducer | - |
DataSetTableProducer | - |
DataSetPageProducer | - |
NMDayTime | Nalazi datum i vrijeme sa internet servera |
NMEcho | Šalje tekst i vraća ga |
NMFinger | Nalazi podatke o korisniku |
NMFTP | Služi za prenos podataka |
NMHTTP | Otvara HTTP bez downloada |
NMMsg | Šalje tekstualne poruke preko interneta |
NMMSGServ | Prima gore navedene poruke |
NMNNTP | Čita News servere |
NMPOP3 | Čita Pop3 e-mail |
NMUUProcesor | Dekodira NMUU file-ove |
NMSMTP | Čita SMTP e-mail |
NMStrm | Šalje stream podatke |
NMStrmServ | Prima stream podatke |
NMTime | Čita datum i vrijeme sa interneta |
NMUDP | Povezuje se sa UDP serverom |
PowerSock | Osnova za kreiranje protokola |
NMGeneralServer | Osnova za čitanje višestrukih servera |
HTML | Čita HTML |
NMURL | Dekodira URL |
Data Access | |
DataSource | Posrednik između data kontrola |
Table | Čita podatke iz baze podataka |
Query | SQL pretraživač baza |
StoredProc | Omogućava aplikaciji kontakt sa BDE serverom |
Database | Stvara konekciju sa bazom |
Session | Pruža kontrolu nad svim bazama |
BatchMove | Omogućava mijenjanje formata baze |
UpdateSql | Obnavlja SQL |
NestedTable | Izdvaja podatke iz višestrukih baza |
Data Control | |
DBGrid | Ispisuje podatke u vidu tabele |
DBNavigator | Omogućava navigaciju kroz bazu pomoću dugmića Prvi, Prošli, Sljedeći... |
DBText | Ispisuje jedan podatak kao tekst |
DBEdit | Ispisuje podatak kao tekst koji se može mijenjati |
DBMemo | Ispisuje neki veći podatak kao tekst koji se može mijenjati |
DBImage | Prikazuje sliku iz baze |
DBListBox | Prikazuje podatke iz baze kao listu |
DBComboBox | Prikazuje podatke iz baze kao padajuću listu |
DBCheckBox | Prikazuje Boolean podatke iz baze |
DBRadioGroup | Prikazuje podatke kao RadioGroup |
DBLookupListBox | Stvara listu pomoću podataka |
DBLookupComboBox | Stvara padajuću listu pomoću podataka |
DBRichEdit | Ispisuje neki veći podatak kao tekst koji se može mijenjati |
DBCtrlGrid | Prikazuje podatke u višestrukoj tabeli |
DBChart | Prikazuje podatke kao grafikon |
Midas | |
ClientDataSet | Stvara dataset bez baze |
DCOMConnection | Uspostavlja DCOM konekciju |
CorbaConnection | Uspostavlja CORBA konekciju |
SocketConnection | Uspostavlja TCP/IP konekciju |
OLEnterpriseConnection | Uspostavlja OLEnterprise konekciju |
DataSetProvider | Dekodira podatke iz dataseta-a |
Provider | Prošireni DataSetProvider |
SimpleObjectBroker | Locira server |
RemoteServer | Uspostavlja DCOM konekciju u oba smjera |
MidasConnection | Uspostavlja DCOM, TCP/IP i OLEnterprise konekcije u isto vrijeme |
Decision Cube | |
DecisionCube | Višedimenzionalna baza podataka |
DecisionQuery | Specijalizovan Query za DecisionCube |
DecisionSource | Određuje stanje DecisionCube-a |
DecisionPivot | Upravlja DecisionCube-om pomoću dugmića |
DecisionGrid | Ispisuje jednu dimenziju kao tabelu |
DecisionGraph | Ispisuje jednu dimenziju kao grafikon |
QReport | |
QuickRep | Report form |
QRSubDetail | Povezuje bazu sa reportom |
QRStringsBand | Tekstualni kanal u reportu |
QRBand | Manipuliše kanalima |
QRChildBand | Kanal u kanalu |
QRGroup | Grupa komponenti u reportu |
QRLabel | Tekst |
QRDBText | Tekst iz baze |
QRExpr | Ispisuje izraze i proračune |
QRSysData | Ispisuje sistemske informacije |
QRMemo | Veći tekst |
QRExprMemo | Veća količina izraza i proračuna |
QRRichText | Tekst velikog kapaciteta |
QRDBRichText | Tekst velikog kapaciteta iz baze |
QRShape | Crtež ( npr. pravougaonik ) |
QRImage | Slika |
QRDBImage | Slika iz baze |
QRCompositeReport | Složeni report |
QRPreview | Preview report-a |
QRTextFilter | Tekst filter |
QRCSVFilter | CSV filter |
QRHTMLFilter | HTML filter |
QRChart | Grafikon |
Dialogs | |
OpenDialog | DialogBox za otvaranje file-ova |
SaveDialog | DialogBox za čuvanje file-ova |
OpenPictureDialog | DialogBox za otvaranje slika |
SavePictureDialog | DialogBox za čuvanje slika |
FontDialog | DialogBox za biranje fonta |
ColorDialog | DialogBox za biranje boje |
PrintDialog | DialogBox za štampanje |
PrinterSetupDialog | DialogBox za biranje printera |
FindDialog | DialogBox za traženje |
ReplaceDialog | DialogBox za zamjenu |
Win 3.1 ( stare komponente ) | |
DBLookupList | DbLookupListBox |
DBLookupCombo | DbLookupComboBox |
TabSet | TabControl |
Outline | TreeView |
TabbedNotebook | PageControl |
Notebook | PageControl |
Header | HeaderControl |
FileListBox | Lista file-ova iz trenutnog direktorijuma |
DirectoryListBox | Lista direktorijuma sa trenutnog drive-a |
DriveComboBox | Padajuća lista drive-ova |
FilterComboBox | Lista filtera |
Samples | |
Gauge | Prikazuje procenat isteka vršene radnje |
ColorGrid | Tabela boja |
SpinButton | UpDown |
SpinEdit | SpinButton vezan za Edit |
DirectoryOutline | Spisak direktorijuma u vidu drveta |
Calendar | Kalendar |
IBEventAlerter | Alarm za određene događaje |
ActiveX | |
Chartfx | Grafikon sa mnogo opcija |
VSSpell | Provjerava spelling |
F1Book | Ispisuje formule |
VtChart | 3D grafikon |
Graph | 2D grafikon |
A sad, da vidimo kako to naraviti komponentu.
Krenimo od nule. Razmislimo kakvu želimo komponentu. Recimo, komponenta
Clock koja izgleda kao Panel čiji je Caption vrijeme.
Biramo New Component ( Component meni ). Ancestor type
- 'TPanel'. Class Name - 'TClock'. Stisnimo
'OK'. Delphi će stvoriti Clock.pas
jedinicu koju treba dopuniti do:
unit Clock;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;
type
TClock = class(TPanel)
FTimer: TTimer;
private
{ Private declarations }
protected
procedure OnTimer(Sender: TObject);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [TClock]);
end;
constructor TClock.Create(AOwner:
TComponent);
begin
inherited Create(AOwner);
Caption := TimeToStr(Time);
FTimer := TTimer.Create(Self);
FTimer.OnTimer := OnTimer;
end;
procedure TClock.OnTimer(Sender:
TObject);
begin
Caption := TimeToStr(Time);
end;
destructor TClock.Destroy;
begin
FTimer := nil;
inherited Destroy;
end;
end.
Zatim, idemo na 'Install Packages...' ( Component meni ). Biramo 'Borland user' i kliknemo na 'Edit'. Zatim 'Add' i biramo 'Clock.pas'. Kliknemo na 'Compile' i to je to. Nova komponenta Clock nalazi se u Samples tabli.