Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-02-2004
kolokol kolokol is offline
Registrado
 
Registrado: feb 2004
Posts: 5
Poder: 0
kolokol Va por buen camino
Question Bajar un archivo de www?

Que codigo me podria servir para bajarse un archivo de un servidor web?
Responder Con Cita
  #2  
Antiguo 12-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Hola Kolokol...

en primer lugar te recomiendo leer la gúia de estilo de los foros, ya que no está de mas ser cordial para preguntar, tomando en cuenta que aqui quienes puedan responder tu pregunta son voluntarios que no reciben ningún tipo de remuneración por hacerlo.

En segundo lugar, notarás que has publicado la misma pregunta dos veces. No te preocupes, quizas se trate de un error involuntario y yo ya he eliminado una de las dos; sin embargo debes ser cuidadoso con eso.

Tampoco aportas datos suficientes de lo que queres conseguir o cual es tu problema para conseguirlo... por lo que entenderé que "bajarse un archivo" significa obtener una página de un servidor web; lo que podes conseguir limpiamente usando sockets o bien utilizando el método Get del componente TidHTTPClient. En la ayuda de este componente seguramente vas a encontrar información valiosa.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 12-02-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Otro componente que te puede servir es el WinInet, que publicó una vez la revista síntesis; te lo subo a mi servidor web y te lo descargas desde allí, avísame cuando te lo descarges para no ocupar espacio inecesario.

Te lo he puesto en Zip y Rar para que lo descarges en el formato que prefieras:

Formato ZIP
Formato RAR

Que nadie intente entrar en el dominio, que estoy diseñando la web y no hay nada. Insisto en que me avises cuando descarges el archivo. Muxas gracias
__________________
:)
Responder Con Cita
  #4  
Antiguo 12-02-2004
Descendents Descendents is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 396
Poder: 22
Descendents Va por buen camino
Haber lo que te ha dado dark dide no es el componente wininet, sino que utiliza wininet para descargar el archivo.Con wininet puedes hacer mas cosas desde FTP, etc... el componente se llama si no recuerdo mal idhttpfile.Pero me parece que si tienes delphi 6 en adelante te dara problemas con designintf y todo el follon este.Pero se puede solventar.

Con esta tienes una manera.


Otra es:
Código:
function Tform1.GetInetFile
(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  f: File;
  sAppName: string;
begin
 Result:=False;
 sAppName := ExtractFileName(Application.ExeName);
 hSession := InternetOpen(PChar(sAppName),
                INTERNET_OPEN_TYPE_PRECONFIG,
               nil, nil, 0);
 try
  hURL := InternetOpenURL(hSession,
            PChar(fileURL),
            nil,0,0,0);
  try
   AssignFile(f, FileName);
   Rewrite(f,1);
   repeat
    InternetReadFile(hURL, @Buffer,
                     SizeOf(Buffer), BufferLen);
    BlockWrite(f, Buffer, BufferLen)
   until BufferLen = 0;
   CloseFile(f);
   Result:=True;
  finally
   InternetCloseHandle(hURL)
  end
 finally
  InternetCloseHandle(hSession)
 end
end;


procedure TForm1.Button1Click(Sender: TObject);
var FileOnNet, LocalFileName: string;
begin
 FileOnNet:='http://www.clubdelphi.com/';
 LocalFileName:='c:\archivo.htm';

 if GetInetFile(FileOnNet,LocalFileName)=True then
  ShowMessage('Descargado Correctamente')
 else
  ShowMessage('Error en la Descarga')
end;
Y una tercera es la que te ha dicho el compañero jachguate con las indy con el componente TidHTTPClient.

Ejemplo.

Código:
procedure TForm1.Button2Click(Sender: TObject);
var
  stream: Tfilestream;
begin
  stream:= TFileStream.Create('c:\archivo.htm',fmCreate);
  try
    idhttp1.Get('http://www.clubdelphi.com/',stream);
  except
    stream.Free;
    ShowMessage('Error en la Descarga');
    exit;
  end;
  stream.Free;
  ShowMessage('Descargado Correctamente')
end;
Las uses que necesites en cada caso no te las se decir ahora porque no me acuerdo.

Pero pueden ser las de las indy en su caso y wininet en los otros

Saludos y Suerte
__________________
La victoria tiene cien padres. La derrota es huérfana (Napoleón).
Responder Con Cita
  #5  
Antiguo 12-02-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Oh, lo siento, es verdad, muxas gracias Descendents!, voy a buscar el componente y lo subiré
__________________
:)
Responder Con Cita
  #6  
Antiguo 12-02-2004
Descendents Descendents is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 396
Poder: 22
Descendents Va por buen camino
Perdon dark dide no,jeje que me equivoque,Perdón.

Quise decirDarkByte

Saludos
__________________
La victoria tiene cien padres. La derrota es huérfana (Napoleón).
Responder Con Cita
  #7  
Antiguo 12-02-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
xD, no tiene importancia Descendents; además, ese nick ya es hasta antiguo... me salieron muxa gente que se copió y me busqué uno nuevo... aún sigo usando este en ClubDelphi. Me estoy bajando un par de zips relacionados con WinInet del eMule, a ver si son alguno el componente este y doy ya con la solución.
__________________
:)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:38:04.


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
Copyright 1996-2007 Club Delphi