D
dutuike
Unregistered / Unconfirmed
GUEST, unregistred user!
我是一名即将毕业的大学生。通信工程专业,但因为某些原因,我的
毕业设计题目选到了《用DELPHI编写个人上网计费软件》。众所周知,隔行如隔山,现在
我就遇到了一个设计上的瓶颈。现在我非常地希望能得到帮助,希望大家能教教我。
我现在的问题是如何实现网络状态的实时监控,我在网上找到的资料是用
InternetGetConnectedState函数。
以下是程序段:
Function ConnectionKind :boolean;
var
flags: dword;
begin
Result := InternetGetConnectedState(@flags, 0);
if Result then
begin
if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then
begin
showmessage('Modem');
end;
if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then
begin
showmessage('LAN');
end;
if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then
begin
showmessage('Proxy');
end;
if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then
begin
showmessage('Modem Busy');
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ConnectionKind;
end;
这个程序段如果是完全照搬的话是行得通的,但如果要实现计费就要添加记时器控件,我添加了两个,
一个用来定时执行以上函数,判断状态,另一个用来记时。当判断是用modem上网则开始记时,即将
showmessage('Modem') 改为Timer1.Enabled:=true;记时开始。
理论上似乎是正确的,但编译执行后在执行到Timer1.Enabled:=true;这里就出错了,系统资源很快
耗尽,只有重启了。
请大家能在百忙之中抽空帮帮我,能否把您实现网络监控并如何记时的方法教教我,我将不胜感激!!!
因离交设计结果还剩十天了,非常希望能得到您的回复,再次感谢!
致
礼!
毕业设计题目选到了《用DELPHI编写个人上网计费软件》。众所周知,隔行如隔山,现在
我就遇到了一个设计上的瓶颈。现在我非常地希望能得到帮助,希望大家能教教我。
我现在的问题是如何实现网络状态的实时监控,我在网上找到的资料是用
InternetGetConnectedState函数。
以下是程序段:
Function ConnectionKind :boolean;
var
flags: dword;
begin
Result := InternetGetConnectedState(@flags, 0);
if Result then
begin
if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then
begin
showmessage('Modem');
end;
if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then
begin
showmessage('LAN');
end;
if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then
begin
showmessage('Proxy');
end;
if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then
begin
showmessage('Modem Busy');
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ConnectionKind;
end;
这个程序段如果是完全照搬的话是行得通的,但如果要实现计费就要添加记时器控件,我添加了两个,
一个用来定时执行以上函数,判断状态,另一个用来记时。当判断是用modem上网则开始记时,即将
showmessage('Modem') 改为Timer1.Enabled:=true;记时开始。
理论上似乎是正确的,但编译执行后在执行到Timer1.Enabled:=true;这里就出错了,系统资源很快
耗尽,只有重启了。
请大家能在百忙之中抽空帮帮我,能否把您实现网络监控并如何记时的方法教教我,我将不胜感激!!!
因离交设计结果还剩十天了,非常希望能得到您的回复,再次感谢!
致
礼!