|
这本来不是我的本意,原本想通过通过读取网上的XML文件,来获取数据库服务器地址和端口号,以提供应用程序数据的连接。可惜的是不知道如何读取:
TXMLDocument中没有loadformfile方法;
想借助IdHTTP的GET方法读取,但读取过来的是整个包含标签在内的XML文档。
网上搜索了一下,借鉴了别人的方法,干脆直接读取网页的内容来实现,下面将方法写下来,留给后来者:
1、托一个TIdHTTP控件到窗体中(得安装indy for lazarus)和一个Memo控件(用于显示读取到得数据);
2、网上上传一个测试网页,网页全部代码如下:
<host>127.0.0.1</host>
<port>3306</port>
3、声明一个函数:
function GetStr(StrSource,StrBegin,StrEnd:string):string;
并定义如下(代码来自网上):
function GetStr(StrSource,StrBegin,StrEnd:string):string;
var
in_star,in_end:integer;
begin
in_star:=AnsiPos(strbegin,strsource)+length(strbegin);
in_end:=AnsiPos(strend,strsource);
result:=copy(strsource,in_star,in_end-in_star);
end;
4、在对应的事件中添加代码:
var
strSource:string;
begin
strsource:=IdHTTP1.Get('http://*****.com.cn/epicard/1.htm');
memo1.Lines.Add(getstr(strsource,'<host>','</host>'));
memo1.Lines.Add(getstr(strsource,'<port>','</port>'));
5、编译运行后,Memo中显示如下:
127.0.0.1
3306
(感谢群里各位前辈的支持,QQ:460570870)
|
评分
-
查看全部评分
|