Показать сообщение отдельно

  #4607  
Старый 12.10.2009, 20:46
ZET36
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
С нами: 9785147

Репутация: 137
По умолчанию

GhostOnline

Лутьше используй сокеты (подробное их описание в winsock.pas)
Пропиши в uses winsock и лутьше вызывать сокет в новом потоке, так как форма будет глючить во время получения ответа сервера.
Пример получения содержимого страницы гугла с 200.7.196.141:80 пркси
Код:
procedure zapros;
var Site : PChar;
   sock : TSocket;
   WSA : TWSAData;
   addr : sockaddr_in;
   sendbuff : String;
   PostData : String;


  f:TextFile;
  i:integer;
  buf:array[0..255] of char;
begin

if WSAStartup($0101, WSA) <> 0 then
Exit;
sock := Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
FillChar(addr, SizeOf(sockaddr_in), 0);
addr.sin_family := AF_INET;
addr.sin_port := htons(80); //порт прокси
Site := 'www.google.ru';
addr.sin_addr.s_addr :=inet_addr('200.7.196.141'); //адрес прокси

Connect(sock, addr, SizeOf(addr));
 sendbuff := 'GET http://www.google.ru HTTP/1.0'#13#10+
'Accept: */*;q=0.1'#13#10+
'Referer: http://www.google.ru/search?hl=ru&newwindow=1&q=zzz&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=f&oq='#13#10+
'Accept-Language: ru'#13#10+
'Proxy-Connection: Keep-Alive'#13#10+
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.8 (build 01709); .NET CLR 1.1.4322)'#13#10+
'Host: www.google.ru'#13#10#13#10;

       send(sock, sendbuff [1], Length(sendbuff), 0);
       AssignFile(f, 'zzz.html');
          Rewrite(f);
         repeat
            i := recv(sock, buf, sizeof(255), 0);
             write(f, copy(buf,1,i));

          until
            (i = 0) or (i = SOCKET_ERROR);

       CloseSocket(sock);
        CloseFile(f);
     end;


procedure TForm1.Button1Click(Sender: TObject);
var
Potok : THandle;
begin
Potok:=CreateThread(nil,0,@zapros,0,0,Potok);
end;
................
Вот у меня вопрос по склеиванию файлов, мне известен только метод с ресурсами, но меня он не совсем устраивает. Мне хотелось бы чтобы склеенный файл был одной программой, а не чтобы склеенный файл распаковывал ресурсы двух клеемых программ и запусскал их. Была у меня статья о методах склейки, там описывалось помоему 4 метода, но я её кажется потерял. Посоветуйте пожайлусто годный метод.

Последний раз редактировалось ZET36; 12.10.2009 в 20:55..
 
Ответить с цитированием