![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Crear componente de socket para cliente
Hola
Quiero bajar un fichero de internet con mi aplicación desde consola en delphi Estoy tratando de que funcione este procedimiento que he sacado de esta página: (No se si es spam poner la dirección, por eso le pongo espacios ...) http: // www . scalabium . com/faq/dct0116.htm ---------------------------------------------------- procedure DownloadFile(strHost, strRemoteFileName, strLocalFileName: string; ClientSocket: TClientSocket); var intReturnCode: Integer; s: string; szBuffer: array[0..128] of Char; FileOut: TFileStream; begin if strRemoteFileName[1] <> '/' then strRemoteFileName := '/' + strRemoteFileName; FileOut := TFileStream.Create(strLocalFileName, fmCreate); try with ClientSocket do begin Host := strHost; ClientType := ctBlocking; Port := 80; try Open; {send query} s := 'GET ' + strRemoteFileName + ' HTTP/1.0'#13#10 + 'Host: ' + strHost + #13#10#13#10; intReturnCode := Socket.SendBuf(Pointer(s)^, Length(s)); if intReturnCode > 0 then begin {receive the answer} { iterate until no more data } while (intReturnCode > 0) do begin { clear buffer before each iteration } FillChar(szBuffer, SizeOf(szBuffer), 0); { try to receive some data } intReturnCode := Socket.ReceiveBuf(szBuffer, SizeOf(szBuffer)); { if received a some data, then add this data to the result string } if intReturnCode > 0 then FileOut.Write(szBuffer, intReturnCode); end end else MessageDlg('No answer from server', mtError, [mbOk], 0); Close; except MessageDlg('No connection', mtError, [mbOk], 0); end; end; finally FileOut.Free end; end; To execute this procedure: procedure TForm1.Button1Click(Sender: TObject); begin DownloadFile('URL Internet', '/forums.htm', 'd:\forums.htm', ClientSocket1); end; PS: the last parameter is ClientSocket component which you must drop on form from component pallete or create in run-time. ---------------------------------------------- No tengo ni puñetera idea de como puedo crear el clientsocket en tiempo real, teniendo en cuenta que mi aplicación es sobre consola. Alguien podría darme un ejemplo? Llevo sólo 7 dias con delphi y ando mas perdido que un berebere en el polo norte. ![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Que componente utilizo para crear una lista con + y - | Jose Manuel | Varios | 4 | 14-06-2008 20:18:56 |
Componente para Cliente FTP (Que recomienden) | MaMu | Internet | 1 | 04-04-2008 09:50:48 |
Componente para Crear Report | osmar | Impresión | 0 | 28-02-2005 13:59:32 |
Crear un componente multiplataforma para conectar un BD | RONPABLO | OOP | 0 | 10-02-2005 20:25:49 |
Server y cliente socket!! | ssaavedra | Internet | 6 | 08-10-2003 16:56:18 |
![]() |
|