Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.01.2013, 10:12
ReiFF ReiFF вне форума
Прохожий
 
Регистрация: 06.01.2013
Сообщения: 3
Репутация: 10
По умолчанию Программа для пинга

Привет. Я совсем у начинающий. Помогите решить 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  
Старый 06.01.2013, 10:20
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

1. использовать цикл
2. добавить манифест Manifest.rc в проект:
Manifest.rc
Цитата:
1 24 "Manifest.admin"
Manifest.admin
Код HTML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="DelphiApplication" version="1.0.0.0" processorArchitecture="*"/> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly>
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 06.01.2013, 15:12
ReiFF ReiFF вне форума
Прохожий
 
Регистрация: 06.01.2013
Сообщения: 3
Репутация: 10
По умолчанию

Ну вот что получается, результат записывается в 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  
Старый 06.01.2013, 17:12
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
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  
Старый 06.01.2013, 17:40
ReiFF ReiFF вне форума
Прохожий
 
Регистрация: 06.01.2013
Сообщения: 3
Репутация: 10
По умолчанию

Спасибо за помощь! Заработало!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:10.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025