![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ведение лога [D7, XP]
MZG © (2008-04-30 10:33:00)Как реализовать ведение лога?
Покажите примеры пожалуйста
Ega23 (2008-04-30 14:38:00) [1]
> CheckUrl - эта ф-ция даже судя по названию не имеет ничего
> общего со слежением за подключенностью к инету.
Это уже не важно.
Сергей М. (2008-04-30 14:37:00) [2]
> программа следит за подключением к инету
Check Url- эта ф-ция даже судя по названию не имеет ничего общего со слежением за подключенностью к инету.
Ega23 (2008-04-30 14:32:00) [3]
> не получается :((((((
Могу посоветовать только поменять профессию...
{RASkov} (2008-04-30 14:04:00) [4]например поле формы: OldState: Integer;
.................
Timer.Tag:=ORD(Connected);
if OldState<>Timer.Tag then begin
...
OldState:=Timer.Tag;
end;
MZG (2008-04-30 14:02:00) [5]не получается :((((((
Ega23 (2008-04-30 14:01:00) [6]
> так?
проверь. :)
З.Ы. Блин, вот тебе не стыдно? Я тебе в [10] весь алгоритм описал, мне что, ещё и код за тебя наваять???
{RASkov} (2008-04-30 13:59:00) [7]> [15] MZG (30.04.08 13:57)
> так?
Еще думай :)
MZG (2008-04-30 13:57:00) [8]Хорошо!
1. Создаем глобальную переменную
var i: integer;
2. свойство Enabled компонента Timer1 установлено в false
3. при запуске формы идет проверка на. Если свойство tag таймера установлено в 0 (ноль), то пишем в лог что все ок, иначе если tag имеет 1 (единицу), то пишем в лог что все плохо....
так?
Ega23 (2008-04-30 13:53:00) [9]
> То есть не должен использоваться или вообще не используется?
> Чета не пойму наводку. Поясни :)
Подумай.
MZG (2008-04-30 13:52:00) [10]То есть не должен использоваться или вообще не используется? Чета не пойму наводку. Поясни :)
Ega23 (2008-04-30 13:47:00) [11]
> может быть так?
Нет, не так. Так у тебя обязательно будет запись в логе на каждую сработку таймера. А нужно - при изменении состояния.
Подумай ещё немного.
Даю наводку: ok у тебя нигде не используется.
MZG (2008-04-30 13:41:00) [12]может быть так?
procedure TForm1.Timer1Timer(Sender: TObject);
var url: string;
begin
ok:= timer1.Tag;
if not checkurl(url) then
begin
timer1.Tag:=1;
Log(DatetimeToStr(Now) + ' : Disconnect');
end else
timer1.Tag:=0;
Log(DatetimeToStr(Now) + ' : Connected');
end;
Ega23 (2008-04-30 13:33:00) [13]За такую мнемонику - убивать надо.
Теперь по существу:
1. Заводим глобальную переменную (поле формы, можно воспользоваться Timer1.Tag)
2. Изначально инициализируем её как False
3. В теле таймера: если CheckUrl(url)<> переменной, то состояние изменилось.
4. Если состояние изменилось, то пишем в лог (connected или disconnected)
5. Запоминаем текущее состояние.
Как-то так.
MZG (2008-04-30 13:26:00) [14]Вот кусок
procedure TForm1.Timer1Timer(Sender: TObject);
var url: string;
begin
url:=' http://www.yandex.ru';
if CheckUrl(url)then
begin
// OperBegin := Now;
timer3.Enabled:= true;
timer2.Enabled:= true;
label1.Visible:= false;
edit1.Enabled:= true;
label2.Visible:= true end else
begin
timer3.Enabled:= false;
timer2.Enabled:= false;
label2.Visible:= false;
edit1.Enabled:= false;
label1.Visible:= true;
end;
end;
p.s. timer2, timer3 - специально для визуализации т.к. для эффекта
Ega23 (2008-04-30 13:22:00) [15]
> MZG (30.04.08 13:20) [6]
Я же не знаю, что там у тебя на таймере происходит.
Palladin (2008-04-30 13:21:00) [16]А что имеется ввиду "У меня программа следит за подключением к инету" ???
MZG (2008-04-30 13:20:00) [17]Что имеется в виду под
Connected???
Ega23 (2008-04-30 13:18:00) [18]if not Connected then Log(DatetimeToStr(Now) + ' : connection lost');
MZG (2008-04-30 13:05:00) [19]алё? :)
MZG (2008-04-30 12:34:00) [20]С примером разобрался!
Только не понятно как использовать в таймере?
У меня программа следит за подключением к инету.
Если соединение установлено, то пишет в лог.
Если соединение разорвано, то тоже пишет в лог что отсутствует.
В таймере то и дело пишет "фиксированные" значение.
Подскажите пожалуйста