[提问]要做一个拨号通讯的程序,并且比较急,请各位帮忙理一下思路和实现方法。不胜感谢!希望大家集思广益! 要做一个拨号通讯的程序,并且比较急,请各位帮忙理一下思路和实现方法。不胜感谢!希望大家集思广益! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Windows本身带有拨号网络功能。由于拨号网络不是一个可执行 文件,所以不能用 " WinExec 可执行文件"的方式来打开。要启动拨 号网络,需要用 Explorer ,方法如下: WinExec(‘Explorer:: {20D04FE0 3AEA 1069 A2D8 08002B30309D}\:: {992CFFA0-F557 101A 88EC 00DD010CCC48}', SW_SHOWNA); 但若是要启动拨号网络中的某一个连接,则需借助rundll.exe 及 rnaui.dll来启动,方法如下(假定连接名称为MyFtpNet): WinExec(‘rundll rnaui.dll,RnaDial MyFtpNet',SW_SHOWNA); 这样程序运行到此命令时,将会弹出拨号网络连接MyFtpNet窗口, 输入用户名、密码等信息即可登录,如想更加方便,则可对此连接编写 脚本文件,不需要用户输入任何信息, 使程序自动登录。 在Delphi中具有可用的FTP控件,所以使FTP编程将会变得极其方 便。下面我们对编写FTP应用的Form进行设计: 添加TNMFTP控件:NMFTP1 添加Label控件:Label1、Label2、Label3、Label4、Label5、La bel6 Label1.Caption = ‘主机名称' Label2.Caption = ‘主机端口号' Label3.Caption = ‘用户名' Label4.Caption = ‘用户口令' Label5.Caption = ‘代理服务器' Label6.Caption = ‘代理端口号' 添加Edit控件:HostTxt(FTP主机名)、PortTxt(FTP主机端口)、U serTxt(用户名)、PassTxt(用户口令)、ProxyServerTxt(代理服务器 地址)、ProxyPortTxt(代理服务器端口) 添加CheckBox控件:CheckBox1CheckBox1.Caption = ‘使用代理 服务器' 添加Button控件:Button1(连FTP主机)、Button2(断开FTP主机) 、Button3(列FTP目录) Button1.Caption = ‘连接' Button2.Caption = ‘断开' Button3.Caption = ‘列目录' 将以上控件以友好界面方式在Form中进行放置。 编写Button1的Click事件为: procedure TForm1.Button1Click(Sender: TObject); begin If CheckBox1.Checked then Begin NMFTP1.Proxy := ProxyserverTxt.Text; NMFTP1.ProxyPort := StrToInt(ProxyportTxt.Text); End; NMFTP1.Host := HostTxt.Text; NMFTP1.Port := StrToInt(PortTxt.Text); NMFTP1.Timeout := 5000; NMFTP1.UserID := UserTxt.Text; NMFTP1.Password := PassTxt.Text; try NMFTP1.Connect; except On E:Exception do writeln(E.message); end end; 编写Button2的Click事件为: procedure TForm1.Button2Click(Sender: TObject); begin NMFTP1.Disconnect; end; 编写Button3的Click事件为: procedure TForm1.Button3Click(Sender: TObject); begin try NMFTP1.List; except end; end; 另外FTP控件还具有其他功能,如:MakeDirectory(创建目录)、Re moveDir(删除目录)、Rename(文件更名)、Delete(删除文件)、Uploa d(上载文件)、Download(下载文件)等,在此不再讲述,大家如需要编 写这些功能,可自己增加。 本程序在Windows98+Delphi5.0下调试通过。 关于控件Tmaskedit的问题 [问]:如何读取PE信息得知程序是否IE浏览器 如何获得Program Files的路径 100分请教:如何通过进程的句柄得到进程中某一个窗体的操作句柄?谢谢! DBNavigator控件,由增加改为追加? 在VCL帮助中找不到function 的说明 一个算法问题 installshield安装程序 何为分布式多层网络数据库系统? 如何指定dbgrid的列显示指定字段 测试ODBC数据源的连通性,在线等待,高分相送 ,我在写一个网吧操作监视程序,把用户使用的任意窗体包括浏览器的内容即时输入到Form1.Memo1里处理,如何实现?
文件,所以不能用 " WinExec 可执行文件"的方式来打开。要启动拨
号网络,需要用 Explorer ,方法如下:
WinExec(‘Explorer::
{20D04FE0 3AEA 1069 A2D8 08002B30309D}\::
{992CFFA0-F557 101A 88EC 00DD010CCC48}',
SW_SHOWNA);
但若是要启动拨号网络中的某一个连接,则需借助rundll.exe 及
rnaui.dll来启动,方法如下(假定连接名称为MyFtpNet):
WinExec(‘rundll rnaui.dll,RnaDial MyFtpNet',SW_SHOWNA);
这样程序运行到此命令时,将会弹出拨号网络连接MyFtpNet窗口,
输入用户名、密码等信息即可登录,如想更加方便,则可对此连接编写
脚本文件,不需要用户输入任何信息, 使程序自动登录。
在Delphi中具有可用的FTP控件,所以使FTP编程将会变得极其方
便。下面我们对编写FTP应用的Form进行设计:
添加TNMFTP控件:NMFTP1
添加Label控件:Label1、Label2、Label3、Label4、Label5、La
bel6
Label1.Caption = ‘主机名称'
Label2.Caption = ‘主机端口号'
Label3.Caption = ‘用户名'
Label4.Caption = ‘用户口令'
Label5.Caption = ‘代理服务器'
Label6.Caption = ‘代理端口号'
添加Edit控件:HostTxt(FTP主机名)、PortTxt(FTP主机端口)、U
serTxt(用户名)、PassTxt(用户口令)、ProxyServerTxt(代理服务器
地址)、ProxyPortTxt(代理服务器端口)
添加CheckBox控件:CheckBox1CheckBox1.Caption = ‘使用代理
服务器'
添加Button控件:Button1(连FTP主机)、Button2(断开FTP主机)
、Button3(列FTP目录)
Button1.Caption = ‘连接'
Button2.Caption = ‘断开'
Button3.Caption = ‘列目录'
将以上控件以友好界面方式在Form中进行放置。
编写Button1的Click事件为:
procedure TForm1.Button1Click(Sender: TObject);
begin
If CheckBox1.Checked then
Begin
NMFTP1.Proxy := ProxyserverTxt.Text;
NMFTP1.ProxyPort := StrToInt(ProxyportTxt.Text);
End;
NMFTP1.Host := HostTxt.Text;
NMFTP1.Port := StrToInt(PortTxt.Text);
NMFTP1.Timeout := 5000;
NMFTP1.UserID := UserTxt.Text;
NMFTP1.Password := PassTxt.Text;
try
NMFTP1.Connect;
except
On E:Exception do
writeln(E.message);
end
end;
编写Button2的Click事件为:
procedure TForm1.Button2Click(Sender: TObject);
begin
NMFTP1.Disconnect;
end;
编写Button3的Click事件为:
procedure TForm1.Button3Click(Sender: TObject);
begin
try
NMFTP1.List;
except
end;
end;
另外FTP控件还具有其他功能,如:MakeDirectory(创建目录)、Re
moveDir(删除目录)、Rename(文件更名)、Delete(删除文件)、Uploa
d(上载文件)、Download(下载文件)等,在此不再讲述,大家如需要编
写这些功能,可自己增加。
本程序在Windows98+Delphi5.0下调试通过。