网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
用Delphi 5创建Web Services
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
sfer Control 6.0,所以你需要在Delphi中Import类型库MSINET.OCX。在INET98.CHM帮助文件里面可以找到更多信息。这个控件用起来很简单,在我们的例子中也只需要一行代码:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption :=
    inet1.OpenURL(''http://localhost/scripts/webcalc.exe?x=''+Edit1.Text+''&y=''
      +Edit2.Text);
end;

控件向服务器发送请求,并且接收回答。OnStateChange事件允许我们得到操作的详细信息:

procedure TForm1.Inet1StateChanged(Sender: TObject; State: Smallint);
begin
case state of
  icResolvingHost: statusbar1.Panels[0].Text :=
    (''寻找指定服务器的IP地址。'');
  icHostResolved: statusbar1.Panels[0].Text :=
    ('' 成功找到IP地址。'');
  icConnecting: statusbar1.Panels[0].Text :=
    ('' 正在连接到主机。'');
  icConnected: statusbar1.Panels[0].Text :=
    ('' 成功连接到主机。'');
  icRequesting: statusbar1.Panels[0].Text :=
    ('' 发送请求。'');
  icRequestSent: statusbar1.Panels[0].Text :=
    ('' 成功发送请求。'');
  icReceivingResponse: statusbar1.Panels[0].Text :=
    (''接收主机回应。'');
  icResponseReceived: statusbar1.Panels[0].Text :=
    ('' 成功接收到主机回应。'');
  icDisconnecting: statusbar1.Panels[0].Text :=
    ('' 从服务器断开。'');
  icDisconnected: statusbar1.Panels[0].Text :=
    (''成功从服务器断开。'');
  icError: statusbar1.Panels[0].Text :=
    (''与服务器通讯发生错误。'');
  icResponseCompleted: statusbar1.Panels[0].Text :=
    (''The request has completed and all data has been received'');
end;
end;


图一:客户端

客户端应用程序做好了。它不自己做计算工作,而是依靠Webcalculator服务器完成任务。我们的Web services可以为任何人提供服务……下一个例子稍微高级些:使用XML传递变量。XML连初学者也应该掌握,它不过是储存和交换数据的一种标准格式而已。这回我用TNMHTTP的Post方法(在Delphi的FastNet控件组):

Web.Post(''http://localhost/scripts/webCalc.exe'','' ''+strX+''+strY+'');  

这个命令做了所有工作,不同之处在于它用来传递结构化了的XML文档。服务器需要解析XML。这是我们需要另一种技术:Charlie Calvert在《Delphi中的XML解析》种作了详细说明。我将用MSXML.DLL库来做服务器端XML解析。你需要import这个Microsoft库到Delphi中。同样,在OnAction事件中加入代码:

procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean(;
var
  doc : IXMLDOMDocument;
  ElemList: IXMLDOMNodeList;
  x, y:integer;
  begin
    Doc:= CreateOleObject(''Microsoft.XMLDOM'') as IXMLDOMDocument;
    Doc.loadXML (Request.ContentFields.Text );
   &nb

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号