![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Привет. Я совсем у начинающий. Помогите решить 2 проблемы с программой. Листинг такой:
Код:
procedure TForm1.IdIcmpClient1Reply(ASender: TComponent; const AReplyStatus: TReplyStatus); begin ListBox1.Items.Insert (0,'Reply:'+IntToStr (AReplyStatus.MsRoundTripTime)); ListBox1.Items.Delete(5); end; procedure TForm1.Button1Click(Sender: TObject); begin Self.IdIcmpClient1.Host:=Edit1.Text; Self.IdIcmpClient1.ReceiveTimeout:=5000; Self.IdIcmpClient1.Ping; end; end. После нажатия кнопки пакет отправляется всего один раз. Как реализовать постоянную отправку пакетов хосту? И второй момент. Программа запускается в w7 только в режиме совместимости с ХР. Как избавиться от этого? Заранее спасибо! Прошу сильно не критиковать, я только начал изучать программирование. Последний раз редактировалось Admin, 07.01.2013 в 14:27. |
#2
|
||||
|
||||
![]() 1. использовать цикл
2. добавить манифест Manifest.rc в проект: Manifest.rc Цитата:
Код HTML:
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Ну вот что получается, результат записывается в ListBox только после того как выполняется цикл. Не могу додуматься как сделать так чтоб результат по каждому пакету записывался во время цикла, а не после него.
Код:
procedure TForm1.IdIcmpClient1Reply(ASender: TComponent; const AReplyStatus: TReplyStatus); begin ListBox1.Items.Insert (0,'Reply:'+IntToStr (AReplyStatus.MsRoundTripTime)); end; procedure TForm1.Button1Click(Sender: TObject); begin x:=1; while x < 15 do begin Self.IdIcmpClient1.Host:=Edit1.Text; Self.IdIcmpClient1.ReceiveTimeout:=5000; Self.IdIcmpClient1.Ping; x:=x+1; end; end; end. Последний раз редактировалось Admin, 07.01.2013 в 14:28. |
#4
|
||||
|
||||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin for i:=1 to 5 do begin ListBox1.Items.Add('i='+IntToStr(i)); IdIcmpClient1.Host:='www.delphisources.ru'; IdIcmpClient1.ReceiveTimeout:=5000; IdIcmpClient1.Ping; end; end; procedure TForm1.IdIcmpClient1Reply(ASender: TComponent; const AReplyStatus: TReplyStatus); begin ListBox1.Items.Add('Reply:'+IntToStr(AReplyStatus.MsRoundTripTime)); Application.ProcessMessages; end; Пишу программы за еду. __________________ |
#5
|
|||
|
|||
![]() Спасибо за помощь! Заработало!
|