In answer to your last question PM, that is quite easy to do.
Below I'm using a label to display a URL on a form and the label has got the URL from a database field. I then click on the label to open a webpage.
procedure frmMain_lbWebpage_OnClick (Sender: TObject);
var
webpage:string = 'http://www.mywebsite.com/'; {assign fixed text to a string}
begin
webpage := webpage + frmMain.lbWebpage.Caption; { add the database information to the existing string}
OpenURL(webpage);
end;
Obviously you don't have to use a display label as I have, you could just use another string variable to contain the database information or a hidden text box.
frmMain.lbWebpage.Caption := sqlexecute('SELECT suppliers.webpage FROM suppliers where id =' +frmMain.tgSuppliers.sqlvalue);
Substitute frmMain.lbWebPage.Caption with a local string variable if you wish.
There are a few variations on the way you could use variables and or constants to this theme.
On a clear disk you can seek forever