Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Ejecutar un PHP sin explorador (https://www.clubdelphi.com/foros/showthread.php?t=30946)

majaco 24-04-2006 16:52:48

Ejecutar un PHP sin explorador
 
Chicos,

Quisiera saber si puedo desde mi programa de delphi ejecutar un archivo PHP situado en un servidor en internet sin abrir el explorador de Windows.

A ver, por ejemplo. El archivo que quiero ejecutar es.

www.mipagina.com.ar/archivo.php?var=variable

Yo tranquilamente puede pedir desde mi programa que se ejecute el internet explorer con esa direccion pero quisiera omitir la apertura de la ventana del internet explorer, o sea que el usuario no pueda ver que se ejecuto esa intruccion

Tambien como hago para ejecutar una aplicación sin ventana principal, ya que iria un codigo que no necesite la interacción con el usuario

Slds desde Argentina
Majaco

seoane 24-04-2006 17:24:34

Vamos a ver, el archivo se "ejecuta" en el servidor cada vez que tu haces una peticion sobre ese archivo, entregandote a ti el resultado. Pues bien, solo tenemos que hacer una peticion sobre ese documento al servidor.

Hay muchas formas de hacerlo, abriendolo en el navegador como tu comentabas, usando los componetes Indy o la que mas me gusta a mi, usando Wininet.

Hace poco en otro hilo utilizaba un codigo similar. Reciclandolo un poco nos quedaria algo asi:

Código Delphi [-]
uses WinInet, Winsock;

function Vamos(Pagina: String): String;
var
  hNet: HINTERNET;
  hUrl: HINTERNET;
  Buffer: array[0..1024] of Char;
  BytesRead: DWORD;
begin
  Result := '';
  hNet := InternetOpen('agent', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  if (hNet <> nil) then
  begin
    hUrl := InternetOpenUrl(hNet, PChar(Pagina), nil, 0, INTERNET_FLAG_RELOAD, 0);
    if (hUrl <> nil) then
    begin
      FillChar(Buffer,Sizeof(Buffer),0);
      while InternetReadFile(hUrl, @Buffer, sizeof(Buffer)-1, BytesRead) do
      begin
        if BytesRead > 0 then
          Result:= Result + String(PChar(@Buffer))
        else
          break;
      end;
      InternetCloseHandle(hUrl);
    end;
    InternetCloseHandle(hNet);
  end;
end;

Esta funcion pide el documento al servidor y nos devuelve su contenido (suponiendo que este sea un texto)


La franja horaria es GMT +2. Ahora son las 18:50:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi