Solo añadir un par de cosas a la completa explicación de
dec. Además de los lenguajes PHP, ASP, JSP puedes usar tu programa hecho en delphi como un cgi, pero sigues necesitando un servidor que se encargue de ejecutar tu programa.
Por otro lado, leyendo tu pregunta se me ocurre que lo que estas usando para ver la pagina no es el explorador si no un objeto del tipo TWebBrowser. Si es así, puedes usar el evento OnBeforeNavigate2 para obtener tanto la URL como la información POST cada vez que pulses sobre un enlace de la pagina. Una vez que tienes la URL no seria muy difícil separar los parámetros y realizar la tarea indicada:
Un poco de código:
Código Delphi
[-]
procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
var
URLStr: string;
begin
if VarIsArray(URL) then
begin
URLStr:= String(PChar(VarArrayLock(URL)));
VarArrayUnlock(URL);
end;
end;
También puedes usar un formulario para enviar la información y utilizar el método POST. En ese caso podemos obtener el valor de cada uno de los parámetros a partir de su nombre. Es decir:
Código Delphi
[-]
procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if VarIsArray(PostData) then
with TStringList.Create do
try
Delimiter:= '&';
DelimitedText:= String(PChar(VarArrayLock(PostData)));
VarArrayUnlock(PostData);
ShowMessage(Values['P1']);
finally
Free;
end;
end;
Y por ultimo, siempre puedes un montar una aplicación en delphi que actué como servidor web, con Indy no resulta difícil. Esta recibirá las peticiones del navegador y las interpretara como quiera.