Консультация № 179595
26.07.2010, 16:56
43.65 руб.
0 3 1
Здравствуйте уважаемые эксперты. У меня возникла проблема. Подскажите пожалуйста как вывести значения трафика в текстовый документ из этой программы:
http://z-drex.com/upload/storage/Domain_name_IP_Traffic.rar

Обсуждение

давно
Профессионал
153662
1070
26.07.2010, 20:38
общий
Лукин Андрей:
А какой трафик Вас интересует входящий или исходящий или оба? Вас интересует этот кусок кода?
Код:
AssignFile(f, 'Status.lx');
if IOResult<>0 then writeln('error')
else
begin
writeln(f,trafbitout);
CloseFile(f);
end;
В нём ошибка, так как Вы просто связали файловую переменную с файлом, а открыть его забыли, это можно сделать, например, функцией Rewrite(f), которая открывает файл для перезаписи или создаёт если его ещё нет. Тогда код будет таким
Код:
  AssignFile(f, 'Status.lx');
Rewrite(f);
if IOResult <> 0 then
writeln('error')
else
writeln(f,trafbitout);
CloseFile(f);
, а если эту строчку writeln(f, trafbitout) заменить на writeln(f, trafnormout), то тогда в файл будет записано значение в мегабайтах. А можно это код переставить в другое место
Код:
 //
EnumInterfaces(s);
ListBox1.Items.Add(s);
AssignFile(f, 'Status.lx');
Rewrite(f);
Size:= -3;
for i:=1 to Table.dwNumEntries do
begin
Size:= Size + 5;
writeln(f, ListBox1.Items.Strings[Size]);
writeln(f, ListBox1.Items.Strings[Size + 1]);
end;
CloseFile(f);

//
ListBox1.Items.EndUpdate;
, тогда текстовый файл будет содержать весь трафик и иметь вид
Код:
In (Byte): 34,76 MB
Out (Byte): 278,28 MB
In (Byte): 18,82 MB
Out (Byte): 18,82 MB
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Неизвестный
27.07.2010, 19:26
общий
Большое спасибо
давно
Профессионал
153662
1070
27.07.2010, 20:03
общий
это ответ
Здравствуйте, Лукин Андрей.
В этой части кода у Вас ошибка:
Код:
AssignFile(f, 'Status.lx');
if IOResult<>0 then writeln('error')
else
begin
writeln(f,trafbitout);
CloseFile(f);
end;
Вы просто связали файловую переменную с файлом AssignFile(f, 'Status.lx'), а открыть его забыли, это можно сделать, например, функцией Rewrite(f), которая открывает файл для перезаписи или создаёт если его ещё нет. Тогда код будет таким
Код:
  AssignFile(f, 'Status.lx');
Rewrite(f);
if IOResult <> 0 then
writeln('error')
else
writeln(f,trafbitout);
CloseFile(f);
, а если эту строчку writeln(f, trafbitout) заменить на writeln(f, trafnormout), то тогда в файл будет записано значение в мегабайтах. А можно это код переставить в другое место
Код:
 //
EnumInterfaces(s);
ListBox1.Items.Add(s);
AssignFile(f, 'Status.lx');
Rewrite(f);
Size:= -3;
for i:=1 to Table.dwNumEntries do
begin
Size:= Size + 5;
writeln(f, ListBox1.Items.Strings[Size]);
writeln(f, ListBox1.Items.Strings[Size + 1]);
end;
CloseFile(f);

//
ListBox1.Items.EndUpdate;
, тогда текстовый файл будет содержать весь трафик.
Прикрепленные файлы:
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Форма ответа