Einzelnen Beitrag anzeigen

StoRmtec

Registriert seit: 6. Jan 2003
209 Beiträge
 
#1

Ping ausführen und bei Erfolg Farbe ändern

  Alt 22. Mär 2005, 13:35
Hallo

Und zwar bin ich dabei ein kleines Programm zu schreiben für uns in der Firma.
Und zwar wenn ich einen Ping ausführe das er mir dann anzeigt ob er da ist oder nicht.
Also mit rot und grün anzeigen.

Denn Ping führe ich mit der Indy Compo aus.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  IdIcmpClient1.OnReply := IdIcmpClient1Reply;
  Button1.Enabled := False;
  try
    IdIcmpClient1.Host := Edit1.Text;
    for i := 1 to 4 do
    begin
      IdIcmpClient1.Ping;
      Application.ProcessMessages;
    end;
  finally
    Button1.Enabled := True;
  end;
end;




procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
var
  sTime: string;
begin
  if (IdIcmpClient1.ReplyStatus.MsRoundTripTime = 0) then
    sTime := '<1'
  else
    sTime := '=';
    ListBox1.Items.Add(Format('%d Byte von %s: icmp_seq=%d ttl=%d Zeit%s%d
ms
',
    [IdIcmpClient1.ReplyStatus.BytesReceived,
IdIcmpClient1.ReplyStatus.FromIpAddress,
    IdIcmpClient1.ReplyStatus.SequenceId,
IdIcmpClient1.ReplyStatus.TimeToLive,
    sTime, IdIcmpClient1.ReplyStatus.MsRoundTripTime]));
end;
Jetzt gibt er es mir in der ListBox aus.
So jetzt habe ich statt der ListBox die Label hinzugefügt aber er macht mir das immer grün.
Wie kann ich das jetzt machen das er wenn der Ping nicht erfolgreich war rot bleibt.

Um eine Antwort wäre ich sehr dankbar.
  Mit Zitat antworten Zitat