Herzlich willkommen!
1. Ich schätze mal, du benutzt die 8er Version von
Indy; mein Tip: nimm die 9er.
2. Muss es wirklich ein Konsolenprogramm sein?
Indy benutzt nämlich Threads und die in einem Konsolenprogramm umzusetzen ist schon ziemlich haarig.
3. Wenn's was mit HTTP zu tun hat, dann nimm die Komponente TIdHTTP.
4. Für mehrzeilige Texte gibt's die Funktion ReadStrings (erst ab Version 9, glaub ich), klappt aber in deinem Beispiel nicht.
5. In deinem Beispiel ist die Schleifenvariante wahrscheinlich die beste Lösung (nix anderes macht im Grunde genommen ReadStrings...).
Also:
Delphi-Quellcode:
program Konsole;
{$APPTYPE CONSOLE}
uses
Classes,
IdTCPClient,
SysUtils;
var
test: string;
Client: TIdTCPClient;
begin
Client := TIdTCPClient.Create(nil);
try
Client.Host := 'www.google.com';
Client.Port := 80;
Client.Connect;
try
Client.WriteLn('GET / HTTP/1.0'+#13#10);
repeat
test := Client.ReadLn(#$A, 50);
if test <> '' then
begin
WriteLn(test);
WriteLn(IntToStr(pos('200',test)));
end;
until test = '';
finally
Client.Disconnect;
end;
WriteLn('Disconnected.');
finally
FreeAndNil(Client);
end;
WriteLn('Press Enter');
ReadLn;
end.