网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
用ISAPI方式实现Web页面的自动更新
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

作者:崔本强

对于某些网站管理员来说,最痛苦的事情莫过于每天必做的重复工作。譬如:从新闻页面中删除旧的新闻标题,换上新的新闻标题;如果想让读者能看到以前的新闻,还要更改随时间改变的FormField值。等等。用DELPHI编写一个WebServer端的ISAPI程序,可以大大减轻工作量。
---- ISAPI方式的服务器端程序,有以下特点:内存开销小,多个客户端链接与一个链接内存开销等同;速度快。由于DLL运行一次后便常驻内存,当有新的链接时,直接从内存发送数据,有效地提高了速度。

---- 我用DELPHI4编写的这个程序,具有以下功能:

---- 1、根据日期变化,自动修改FormField的时间值(此值宫浏览器端选择)。

---- 2、自动生成新闻目录。管理者只需把新的新闻拷贝至此目录即可,程序能自动生成新闻首页的页面。

---- 重点:

---- 1、在一个目录中搜索符合条件的文件,返回句柄: HANDLE FindFirstFile(LPCTSTR lpFileName,LPWIN32_FIND_DATA lpFindFileData);

---- 2、根据FindFirstFile返回的句柄继续搜索下一个文件: BOOL FindNextFile(HANDLE hFindFile,LPWIN32_FIND_DATA lpFindFileData );

---- 3、关闭指定搜索句柄: BOOL FindClose(HANDLE hFindFile);

---- 4、WIN32_FIND_DATA该结构存储FindFirstFile和FindNextFile找到文件的各项信息,其结构如下:

typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
TCHAR cFileName
[ MAX_PATH ];
TCHAR cAlternateFileName[ 14 ];
} WIN32_FIND_DATA;
程序的action内容:
name
pathinfo
enabled
updata
WebActionItem1
/DispNews true

源代码如下:
unit Unit1;

interface

uses

Windows, Messages,
SysUtils, Classes,
HTTPApp,ShellApi, ExtCtrls;

type
TWebModule1 = class(TWebModule)
Timer1: TTimer;
procedure WebModule1updataAction
(Sender: TObject; Request: TWebRequest;
Response: TWebResponse;
var Handled: Boolean);
procedure WebModule1WebActionItem1
Action(Sender: TObject;
Request: TWebRequest; Response:
TWebResponse; var Handled: Boolean);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
WebModule1: TWebModule1;

implementation

{$R *.DFM}
//
//本部分是执行不带入口的dll。
功能:生成新闻中心的首页,
//主要目的是下拉菜单
的时间动态改变
procedure TWebModule1.
WebModule1updataAction
(Sender: TObject;
Request: TWebRequest;
Response: TWebResponse;
var Handled: Boolean);
var DHTML:string;
var I:integer;
begin

DHTML:=''< html >'';
DHTML:=DHTML+''< head >'';
DHTML:=DHTML+''< title >
新闻中心< /title >'';
DHTML:=DHTML+''< /head >'';
DHTML:=DHTML+''< body >'';
DHTML:=DHTML+''< p >
请选择日期:< /p >'';
DHTML:=DHTML+''< form
method="POST" action="AutoUpDt.dll/DispNews"'';
DHTML:=DHTML+''< p >
< select size="1" name="tm" >'';
//下拉列表中包含
前推十天的日期
DHTML:=DHTML+''< option
selected value="''+FormatDateTime(''mmdd'',
date)+''" >今天< /option >'';
DHTML:=DHTML+''< ption value="''
+FormatDateTime(''mmdd'', date-1)+''"
>昨天< /option >'';
DHTM

网学推荐

免费论文

原创论文

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