Hi,
mir macht dieses Delphi langsam mehr Spaß als PHP und mein Grundkurs C++ =).
Je mehr ich probiere umso mehr Fragen kommen mir aber auf.
Jetzt stehe ich davor:
"Ich lasse ein Programm laufen, kann aber ads Formular nicht mehr verschieben." Es sieht also so aus wie als wenn das Programm abgestürtzt ist und keine Rückmeldung gibt. In meinen Beispiel wird ein Ping geschickt mit Pausen. Aber solange er die Schleife ping, kann man das Formular nicht bewegen und das sieht irgendwie doof aus.
Was kann ich da tun. Wie verwende ich in meinem Beispiel den Timer , dass er mal funktioniert ?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
max:=100;
i:=1;
ProgressBar1.Max:=max;
while i < max do
begin
IdIcmpClient1.Host := Form1.Edit1.Text;
IdIcmpClient1.Ping();
If IdIcmpClient1.ReplyStatus.BytesReceived > 0 Then
ListBox1.Items.Add(IntToStr(i) + ' ' + IdIcmpClient1.Host+' erreichbar '+ IntToStr(IdIcmpClient1.ReplyStatus.BytesReceived))
else
ListBox1.Items.Add(IntToStr(i) + ' ' + IdIcmpClient1.Host+' nicht erreichbar');
i:=i+1;
sleep(StrToInt(Edit2.Text));
ProgressBar1.Position:=i;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled:=False;
Form1.Refresh;
Application.ProcessMessages;
Timer1.Enabled:=True;
end;