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.