Ver Mensaje Individual
  #3  
Antiguo 15-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 26
seoane Va por buen camino
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);
    // Ahora en la variable URLStr tienes un string con la 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);
    // Mostramos el valor del parametro P1
    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.
Responder Con Cita