设计网站页面设计,wordpress样式错乱,深圳景观设计公司排行,一个app的开发流程对于某些网站管理员来说#xff0c;最痛苦的事情莫过于每天必做的重复工作。譬如#xff1a;从新闻页面中删除旧的新闻标题#xff0c;换上新的新闻标题#xff1b;如果想让读者能看到以前的新闻#xff0c;还要更改随时间改变的FormField值。等等。用DELPHI编写一个WebSe…对于某些网站管理员来说最痛苦的事情莫过于每天必做的重复工作。譬如从新闻页面中删除旧的新闻标题换上新的新闻标题如果想让读者能看到以前的新闻还要更改随时间改变的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 methodPOST actionAutoUpDt.dll/DispNews; DHTML:DHTML p select size1 nametm ; //下拉列表中包含 前推十天的日期 DHTML:DHTML option selected valueFormatDateTime(mmdd, date) 今天 /option ; DHTML:DHTML ption value FormatDateTime(mmdd, date-1) 昨天 /option ; DHTML:DHTML option value FormatDateTime(mmdd, date-2) 前天 /option ; for i:1 to 7 do DHTML:DHTML option value FormatDateTime(mmdd, date-2-I) FormatDateTime (m月dd日, date-2-I) /option ; DHTML:DHTML /select input typesubmit value提交 nameB1 ; DHTML:DHTML /p ; DHTML:DHTML /form ; DHTML:DHTML /body ; DHTML:DHTML /html ; Response.Content:DHTML; end; //根据request传送的参数 确定要显示的文件目录 //并从该目录中取 出所有的htm文件 //如果没有该目录 则向浏览器发送提示信息 procedure TWebModule1. WebModule1WebAction Item1Action(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); Var ReqDir:Tstrings; //保存Request要求的参数 Var DHTML,SeleDir:string; var FileNameData: WIN32_FIND_DATA; var SearchFileHandle:THandle; begin ReqDir:NIL; ReqDir:Request. ContentFields; DHTML: html ; DHTML:DHTML head ; DHTML:DHTML title 新闻中心 /title ; DHTML:DHTML /head ; DHTML:DHTML body ; DHTML:DHTML p aligncenter font face宋体 size5 color#0000FF 新闻中心 /font /p ; //DHTML:DHTML ReqDir.Values[tm]; SeleDir:ReqDir. Values[tm]; // 获得搜索句柄 SearchFileHandle:FindFirstFile (Pchar(C:\MyWeb\news\SeleDir \*.htm),FileNameData); if SearchFileHandle INVALID_HANDLE_VALUE then begin DHTML:DHTML P a href../SeleDir/ FileNameData.cFileName FileNameData.cFileName /a /p ; //根据搜索句柄向后搜索 while FindNextFile (SearchFileHandle, FileNameData ) do DHTML:DHTML P a href../SeleDir/ FileNameData.cFileName FileNameData.cFileName /a /p ; //关闭搜索句柄 fileClose(SearchFileHandle); end else DHTML:DHTML对不起 没有您需要的新闻; DHTML:DHTML /body ; DHTML:DHTML /html ; Response.Content:DHTML; end; //在上午八点到九点之间 Timer被激发一次创建下一天的文件夹 procedure TWebModule1. Timer1Timer(Sender: TObject); begin if FormatDateTime(h, time)8 then mkdir(IntToStr(StrToInt (FormatDateTime(mmdd, date))1)); end; end. ---- 实际使用时可根据自己的需要将已有的Web页面编辑进程序中同时编写合适的时间处理函数修改FormField的值也是必须的因为在本程序中并未涉及到月初月末时间变化。 转载于:https://www.cnblogs.com/myamanda/articles/1657403.html