转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
使用IntraWeb进行Web编程(二)         ★★★★

使用IntraWeb进行Web编程(二)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2348 更新时间:2009/4/23 18:35:17
图21.5显示了程序的输出(通过两个不同的浏览器创建两个会话期),程序还有一个复选框,用来激活计时器。听起来挺不可思议的,但实际上在IntraWeb程序中,计时器就和Windows中的计时器一样工作。当计时器的时间间隔到期时,相应的代码就会被执行。在网页中,这意味着触发JavaScript代码来刷新页面:

IWTIMER1=setTimeout(''''SubmitClick("IWTIMER1","", false)'''',5000);

图21.5、运行在两个不同浏览器中的IWSession例程

与WebBroker和WebSnap整合

到目前为止,只讲了如何创建stand-alone模式的IntraWeb应用程序。当你需要开发IIS或是Apache下的IntraWeb动态链接库时,情形也基本一样。但是,如果你想用IntraWeb技术来拓展已有的WebBroker(或是WebSnap)程序,情况就不一样了。

两种技术的桥梁是IWPageProducer组件。该组件像其他页生成器组件一样依附于WebBroker的action,同时可以使用一个特殊的事件来创建并获得一个IntraWeb窗体:

procedure TWebModule1.IWPageProducer1GetForm(ASender: TIWPageProducer;
  AWebApplication: TIWApplication; var VForm: TIWPageForm);
begin
  VForm := TformMain.Create(AWebApplication);
end;

仅一行代码,就能实现IntraWeb页嵌入WebBroker程序,在例程CgiIntra中也是如此。IWModuleController对IntraWeb支持提供核心服务。每个IntraWeb项目都必须有这种组件才能正确地工作。

警告:Delphi7中发行的IntraWeb的IWModuleController组件和Delphi的Web App Debugger有冲突,但问题已经解决,可以免费更新。

这是例程的web module窗体摘要:

object WebModule1: TWebModule1
  Actions = <
    item
      Default = True
      Name = ''''WebActionItem1''''
      PathInfo = ''''/show''''
      OnAction = WebModule1WebActionItem1Action
    end
    item
      Name = ''''WebActionItem2''''
      PathInfo = ''''/iwdemo''''
      Producer = IWPageProducer1
    end>
  object IWModuleController1: TIWModuleController
  object IWPageProducer1: TIWPageProducer
    OnGetForm = IWPageProducer1GetForm
  end
end

因为这是一个页模式的CGI程序,所以没有会话期管理。此外,页面的组件状态不能像标准IntraWeb程序那样通过事件处理来自动更新。为了达到同样的效果,需要写一写特殊代码来进一步处理HTTP请求的参数。仅从这样一个简单例程就能看出页模式没有程序模式那么自动化,不过,页模式更灵活。尤其值得说的是,页模式给WebBroker和WebSnap程序增加了可视化设计的能力。

控制布局

例程CgiIntra还展示了另外一个非常有趣的IntraWeb技术:基于HTML的布局控制(页模式整合WebBroker和布局控制没有什么关系,因为在程序模式中也有布局控制,我只是为了省事才用一个例程来说明这两种技术的)。程序编译后的结果页面就是在设计时放到窗体上的一系列组件的映射,可以通过修改组件属性改变页面外观。一个页面上有很多内容,如文本框、按钮和图片等,这些内容如何分布,如何控制尺寸和位置?

解决的办法是使用IntraWeb的布局管理器。在IntraWeb程序中,总是要用到布局管理器。默认的布局管理器是IWLayoutMgrForm,另外两个是IWTemplateProcessorHTML和IWLayoutMgrHTML,前者使用外部的HTML模版文件,后者内嵌HTML。

IWLayoutMgrHTML组件包括一个功能强大的HTML编辑器,在这里你可以像放置普通HTML元素那样嵌入IntraWeb组件(在外部HTML编辑器里,你必须手动实现)。此外,当你从编辑器中选择一个IntraWeb组件时(双击IWLayoutMgrHTML组件即可启动该编辑器),你可以使用对象观察器来修改组件属性。如图21.6,IntraWeb的HTML布局编辑器是一个工具强大的可视化HTML编辑器,产生的HTML代码可以在另外一页看到(Source页)。

图21.6:  IntraWeb的 HTML 布局编辑器

在产生的HTML代码中,定义了页的结构。组件是通过特殊标记:大括号来标识的,如下:

<P> {%IWLabel1%} {%IWButton1%}</P>

提示:当你使用HTML时,组件就不使用绝对位置定位了,而是由HTML而定。因此,此时的窗体仅仅是个组件容器,因为窗体中组件的位置和大小被忽略了。

不管怎么说,布局管理器总是能够满足程序在浏览器中运行时的外观需求。

上一页  [1] [2] [3] 


[聊天工具]Gmail推出新功能:Web Clip__天极Yesky  [聊天工具]Web MSN你玩了吗__天极Yesky
[系统软件]Web Browser Express 概述  [系统软件]对Internet Explorer Web 控件做一点修改
[常用软件]小技巧:三步实现Web迅雷录制PPLive节目  [常用软件]天网防火墙:打开WEB和FTP服务
[VB.NET程序]使用VB.Net做一个配置web.config功能的WinForm(原…  [VB.NET程序]vb.net控件、web service简述
[VB.NET程序]使用vbscript脚本调用web服务  [VB.NET程序]*** Web 存储系统窗体:窗体注册表 (new)***
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台