1、我要拨号到另外一台机器,然后联接其ASA8数据库,但是使用ASA客户端却无法搜索到,为什么?到你能不能通过拨号网络,ado 建立C/S结构。如何解决?着急最好有参考例程(100分)
2、假定1行不通。则我要拨号到另外一台机器,然后通过TCP/IP协议进行通讯,但是,由于我要分时拨号到好多的点去取数据,我不想搞好多个号码在windows上,我怎么动态建立拨号?过程:建立拨号——拨通拨号——通讯——挂机——删除建立的拨号。不要在Windows上搞出一大堆拨号联接然后程序调用。着急最好有参考例程(100)
3……提供相关例程,或者有价值信息(另外开贴给分100)
2、假定1行不通。则我要拨号到另外一台机器,然后通过TCP/IP协议进行通讯,但是,由于我要分时拨号到好多的点去取数据,我不想搞好多个号码在windows上,我怎么动态建立拨号?过程:建立拨号——拨通拨号——通讯——挂机——删除建立的拨号。不要在Windows上搞出一大堆拨号联接然后程序调用。着急最好有参考例程(100)
3……提供相关例程,或者有价值信息(另外开贴给分100)
ASA我没用过,不知道是用什么方式连接的,但,如果局域网可以的话,拨号的区别就是慢点而已阿!!!不知道你为何不能>>你能不能通过拨号网络,ado 建立C/S结构。如何解决
当然可以了,没有区别的>>:建立拨号——拨通拨号——通讯——挂机——删除建立的拨号
修改原来就行,不用那么麻烦
参数:
hwn PROCEDURE TForm1.button1click(Sender:TObject);
VAR dwhandle:word;
aaa:integer;
begin
aaa:=getactivewindow();
dwResult:=RasCreatePhonebookEntryA(handle,'');
或DWresult:=RasCreatePhonebookEntryA(aaa,'');
if dwResult=0 then
memo1.lines.add('新建拨号连接成功!')
ELSE
memo1.lines.add('新建拨号连接失败!') end;
2.修改指定拨号连接的属性。
Function RasEditPhonebookEntryA(hwnd:Thandle;lpszPhonebook:pchar;lpszEntryName:pchar):Dword;
stdcall; {位于Interface的USES 下 TYPEend 之外}
lpszEntryName(pchar):要修改的拨号连接的名称,如‘163’,‘169’等。
函数返回值:0表示成功,否则为错误。
例:PROcedure TForm1.button2click(Sender:TObject);
如上。
3.获取当前系统中可用的拨号连接名称.。
在建立了拨号连接后,WIN9X将拨号连接的名称和属性写了注册表中,我们可以从注册表中可用的拨号连接名称
及InterNet Explorer中的默认连接名称。
在注册表的HKEY_USERS\.DEFAULT\RemoteACess\Address下,列出了已经在拨号网络中建立的拨号连接
的名称及其属性设置,其中各项目的名称即为可用的拨号连接的名称;各项目的值即为各连接的属性设置.
如果在InterNet Explorer 中设置了默认连接名称(Internet 选项=>>连接=>>设置=>>使用以下拨号网络连接)
则在注册表的HKEY_USERS\.Default\RemoteAcess下,有一个字符串类型的键值,键值名InternetProfile,其值
即为Internet Explorer中设置的默认连接名称.
{在Uses中增加Registry单元,用于操作注册表}
procedure TForm1.button3click(Sender:TObject);
var
registrytemp:TRegistry;
stringtemp:TStringlist;
intindex:integer;
begin
registrytemp:=TRegistry.Create;
stringTemp:=Tstringlist.Create;
with registryTemp DO
BEGIN
RootKey:=HKEY_USERS; //根键置为HKEY_USERS
//如果存在于子键.Default\RemoteAccess\Addresses
if OpenKey('.Default\RemoteAccess\Addresses',false) then
getValueNames(stringsTemp); //读出各项目的名称,即拨号连接名称
closekey;
end;
memo1.lines.add( '************当前系统中有'+IntTostr(stringsTemp.count)'
+'各可用的拨号连接如下******');
for intindex:=0 to stringsTemp.count-1 do
memo1.lines.add(stringstemp.strings[intindex]); //列出Internet explorer中默认连接名称.
if registrytemp.Openkey('.Default\RemoteAccess\Addresses',false') then
mome1.lines.add('Internet explorer中默认连接名称为'+Registry.readstring('InternetProfile'));
//释放内存
RegistryTemp.free;
StringsTemp.free;
end;
4.用指定的拨号连接拨号
winexec('rundll32.exe rnaui.dll,RnaDial 163',SW_SHOWNORMAL);
其中字符串中的最后一个参数'163'为拨号连接的名称.
Procedure TForm1.botton4click(Sender:TObject);
var
strDiaName:string;
begin
strDiaName:='163';
memo1.lines.add('*****用拨号连接'+strDiaName+'实现拨号上网******');
winexec('rundll32.exe rnaui.dll,RnaDial 163',SW_SHOWNORMAL);
end;
end;
ras 可以一切都在自己的代碼中修改啊!
沒有界面也可以的!!
能给一份源码参考么?
[email protected]
创建连接,和修改号码两个操作还是要调用界面得吧?
看你的需要了, 如果是要用戶輸入用戶名, 密碼之類, 當然要界面,
or 你想顯示一個狀態信息!但也可什麼界面也沒有的操作, 用代碼就可完成一切!
<<但也可什麼界面也沒有的操作, 用代碼就可完成一切! //指点……
还有一个问题:我如何从拨号端获得接入端的IP地址?
能给一份源码参考么?
[email protected]
我的Email: [email protected]
To : chinafriend_xj(江湖);谢谢!
***************此贴即将截贴为解决问题另开贴解决。****************************
intAvailabelConnections : dword;//活动的拨号连接的实际数目intIndex : integer;
strTemp : string;
dwResult : DWORD;
dwSize : DWORD;
RASpppIP : TRASPPPIP;//活动的拨号连接的动态IP地址信息begin
connections[ 0 ].dwSize := sizeof(RASCONN);
longSize := MaxConnections * connections[ 0 ].dwSize;//接收活动连接的缓冲区大小intAvailabelConnections := 0;//获取所有活动的拨号连接的信息(连接句柄和设置信息)dwResult := RasEnumConnections( connections[ 0 ],longSize,intAvailabelConnections );if 0 < > dwResult then
memo1.lines.add( '错误:' + inttostr( dwResult ) )
else
begin
memo1.lines.add( '现有的活动连接有' +IntToStr( intAvailabelConnections ) + '个');//显示所有活动的拨号连接的信息(设置信息和动态IP地址)for intIndex := 0 to intAvailabelConnections - 1 do
begin//显示一个活动的拨号连接的设置信息strTemp := '连接名称:'+ StrPAS( connections[ intIndex ].szEntryName )+ ',设备类型:'+ StrPAS( connections[ intIndex ].szDeviceType )+ ',设备名称:'+ StrPAS( connections[ intIndex ].szDeviceName );
memo1.lines.add( strTemp );//显示一个活动的拨号连接的动态IP地址dwSize := SizeOf(RASpppIP);
RASpppIP.dwSize := dwSize;
dwResult := RASGetProjectionInfo( connections[ intIndex ].hRasConn,RASP_PppIp,RasPPPIP,dwSize);//获取动态IP地址
if 0 < > dwResult then
memo1.lines.add('错误:' + inttostr( dwResult ))
else
memo1.lines.add('动态地址:' + StrPas(RASpppIP.szIPAddress));
end;
end;end;