Witam.

Mam pewnien problem. Za pomoca socketów pobieram sobie plik graficzny z serwera http.

procedure HttpPlik(plik: string; host: string);
 begin
  http.Socket.SendText('GET '+plik+' HTTP/1.1'+ #13#10);
  http.Socket.SendText('Host:'+host+ #13#10);
  http.Socket.SendText('Accept: text/html, */*'+ #13#10);
  http.Socket.SendText('User-Agent: HTTP/1.1 (compatible; Klient HTTP)'+ #13#10);
  http.Socket.SendText(#13+#10);
 end;

To co odpowie mi serwer "łapie" przez Socket.ReceiveBuf(StreamHeader, SizeOf(StreamHeader));

i zapisuje do pliku.

Łącznie z "trescia" pliku graficznego zapisuja sie informacje od serwera. I w pliku mam takie cos:

/1.1 200 OK
Date: Mon, 15 Jan 2007 17:13:02 GMT
Server: Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-18
Last-Modified: Fri, 13 Oct 2006 22:08:13 GMT
ETag: "34251-e3-86366d40"
Accept-Ranges: bytes
Content-Length: 227
Content-Type: image/gif

GIF89aTB
...reszta pliku

Pomyslem sobie, zeby "przepisac plik" ale od momentu w ktorym "zacznie sie plik graficzny"...
Probuje to robic tak:

 var
  plik_tmp, plik : textfile;
  znak: char;
  CzyPisac: boolean;
begin
 CzyPisac:=false;
 assignfile(plik_tmp,'tmp.txt');
 assignfile(plik,'plik.txt');
 rewrite(plik);
 try
  Reset(plik_tmp);
  while not eof(plik_tmp) do
   begin
    read(plik_tmp,znak);
    if <b>{tu jakis warunek}</b> then CzyPisac:=true;
    if CzyPisac then write(plik,znak);
   end;
  finally
   CloseFile(plik_tmp);
   CloseFile(plik);
  end;
end;

Problem mam wlasnie w "poprawnym" sporzadzenu warunku ktory powie programowi od jakiego momentu ma przepsiac plik.

ps. Prosilbym mi nie pisac o komponentach Indy. Musze to zrobic na socketach.