Delphi – Linkovanje iz vaše aplikacije

Zar ne bi bilo odlično da omogućite korisnicima vaših aplikacija da mogu da se linkuju na vaš web sajt iz vaše aplikacije? Ovo možemo postići uz samo malo modifikacija standardne TLabel komponente. Kako ovo izvesti? Pa, registry baza platformi Windows 95/98/NT, sadrži podrazumevane „http“ i „mailto“ rukovaoce događajima (handlers), koje koriste aplikacije. Sve što treba da uradimo je da pozovemo komandu „ShellExecute„, navodeći umesto parametra naziva aplikacije, URL ili e-mail. Po zahtevu će odreagovati podrazumevani handler.

Najbolje mesto za postavljanje linkova ka vašim stranicama su „About box“ i segment za pomoć korisniku (Help). Za primer, postavićemo dve komponente TLabel na formu (po mogućnosti About box), i to jednu za URL i jednu za e-mail adresu. Ideja je da postavite bilo koji tekst u osobinu „Caption“, a da pravi URL ili e-mail adresu postavimo u osobinu „Hint“. Podesite npr. osobinu Caption na „Posetite nas site na Internetu“, a osobinu „Hint“ na „https://www.krstarica.com“. Isto uradite i za e-mail, postavite Caption na „Mail“, a osobinu Hint na „office@krstarica.com“. Naravno ove adrese zamenite vašim.

Sada prelazimo na samo kodiranje, ali pre toga ne zaboravite da u sekciju „Uses“ postavite deklaraciju „ShellApi“.


uses SHELLAPI;
procedure TAboutBox.UrlMailClick(Sender: TObject);
begin
If (Sender is TLabel) then
with (Sender as Tlabel) do
ShellExecute(Application.Handle,
PChar(‘open’),
PChar(Hint),
PChar(0),
nil,
SW_NORMAL);
end;

Kako radi ovaj programski kod? Ukoliko su osobine „Hint“ popunjene URL-om ili e-mail adresom, Windows će učitati podrazumevani e-mail klijent korisnika kao odgovor na komandu „mailto“ i to za slanje novog e-mail-a. U drugom slučaju, ako se radi o URL adresi u osobini Hint, otvoriće se web browser i pokušaće da otvori zatraženu stranicu.

Pratite Krstaricu na www.krstarica.com