分享
 
 
 

IntraWeb And ActiveForms

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

这篇文章第一次出现在Delphi杂志 2004年2月 102期

原文见http://www.thedelphimagazine.com/Samples/1749/1749.htm

IntraWeb And ActiveForms

by Bob Swart

这篇文章,我示范使用2个强大的web技术,IntraWeb and ActiveForms,特别是把他们2个集中在一起使用会比单独使用会更好。

IntraWeb 5.1

IntraWeb5在Delphi7.0上是一个增强版本,实际上如果想改进Delphi 7 本身,最好还是使用AToZedSoftware的第三放控件IntraWeb。Early在2003年公布了5.1版本,最近有在2003年夏季发布了5.1.30版本,虽然在Delphi 7 上免费使用,但是还是在 努力的改进自己。现在的IntraWeb的版本已经发展到了 7.0,所以我必须在我的Delphi7.0上卸载5.1.30

下面是给开发者写的,我本人也同样使用delphi 7.0和IntraWeb,同时给我也给我的客户解决这样的一个问题,这个问题是属于web server程序的问题,我的解决方案是选用IntraWeb,这更使我坚定的写出这样的文章来。

The Browsers Problem(浏览器问题)

这个问题是我的客户在使用内部web浏览器时遇到的,和快速的使用客户端的资源。需要明确的是,这个web server程序不是不是远程访问或打印本地数据,也没有权限使用本地磁盘(查看ClientDataSet的例子可以满足你的要求),我的客户的特殊问题就是在受约束的客户端上打印,和不能在IntraWeb程序上找到自己想要的东西,这个IntraWeb运行在web server下,在浏览器下执行事件代码,web server是这样的。这个IntraWeb不能查看任何的客户端,幸运的是IntraWeb和ActiveX结合在一起就可以克服这个困难。在我的Delphi ActiveForm的例子里。

The Solution(解决方案)

长话短说:就是问了你的IntraWeb 和 ActiveForm允许通过IntraWeb web server程序来访问你的客户端。

注意,我是使用IntraWeb 5.1.30来完成这个事例,也许你也会同样的使用这个版本。开始一个新的IntraWeb程序,它是包含Data Module的,因为以后要使用database table使用standalone程序保存为IWX.dpr,你也可以选择你自己的文件名。

在这个IntraWeb程序上添加一个TTable并设置他的DatabaseName为DBDEMOS和TableName 为 biolife.db,然后编译一下工程。把BIOLIFE表里的这些字段(包括NOTES字段)送到到本地打印机,不使用浏览器有限的打印能力(它仅打印浏览器的范围而不能扩展)。

放上TDataSource控件连接上TTable,TIWDBGrid和TIWDBNavigator也放到这个IW 这个程序窗体上。然后连接TDataSource,最后放上TIWDBMemo连接TDataSource和Notes字段,应该象下图1,在窗体的底部留些位置,因为以后打印要打印整个完整的ActiveForm。

? 图1: IntraWeb Application Form.

The ActiveForm

现在让我们使用Delphi来设计ActiveForm,开始一个新的ActiveX Library工程(保存名称为IWAX42)),加入ActiveForm 类库.用向导创建ActiveX 类库. 指定IWActiveFormX 名称在ActiveForm里,然后选择ActiveX Control Options选项内容。

? 图 2: New ActiveForm.

在这个ActiveForm上放入2个Button:1个名称为设置,一个为打印。也得同样的选择TPrintDialog and TPrinterSetupDialog这2个控件。和一个TRichEdit控件(我们一会在演示这个,现在先使用‘preview’把窗体打印出来。)

把TRichEdit放在右边,把RichEdit随意的放在指定的ActiveForm在浏览器内,ActiveForm就完成了,你必须做象下面的IntraWeb窗体,如图3。

? Figure 3: ActiveForm Client Area.

现在实现那2个按钮的功能。清单1:

procedure TIWActiveFormX.btnSetupClick(Sender: TObject);

begin

PrinterSetupDialog1.Execute

end;

procedure TIWActiveFormX.btnPrintClick(Sender: TObject);

begin

if PrintDialog1.Execute then

RichEdit1.Print('IntraWeb ActiveX Demo')

end;

我们使用这个ActiveForm来连接本地资源,来打印,我们的IntraWeb application,RichEdit起到了缓冲作用,IntraWeb和RichEdit缺一不可的紧密联系起来。

代续

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有