日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用ISAPI方式实现Web页面的自动更新

發布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用ISAPI方式实现Web页面的自动更新 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于某些網站管理員來說,最痛苦的事情莫過于每天必做的重復工作。譬如:從新聞頁面中刪除舊的新聞標題,換上新的新聞標題;如果想讓讀者能看到以前的新聞,還要更改隨時間改變的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 >';
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 type="submit" value="提交" name="B1" >';
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 align="center" >
< font face="宋體" size="5"
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

總結

以上是生活随笔為你收集整理的用ISAPI方式实现Web页面的自动更新的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成在线人免费视频 | 国模一区二区三区 | 裸体美女免费视频网站 | 香蕉视频啪啪 | 亚洲国产一区二区在线观看 | 日韩三级在线 | 欧美黄色一级视频 | 亚洲九九 | 欧美丰满熟妇xxxx | 成人一区二区三区视频 | 潘金莲激情呻吟欲求不满视频 | 天天爽影院 | 秋霞电影网一区二区 | 五月天国产视频 | 人体裸体bbb欣赏 | 亚洲av无码一区二区三区在线播放 | 三级av在线播放 | 欧洲一区二区视频 | 黄色大片日本 | 国产无遮挡又黄又爽在线观看 | 色吊妞| 久久精品视频6 | 国产成人精品一区二区三区网站观看 | 欧美成人aa | 久久人妖 | 黄色在线观看www | 国产精品久久久久久久久久久新郎 | 五月婷婷激情综合网 | 国产chinesehd天美传媒 | 怡红院久久 | 九九综合视频 | 久久久www成人免费毛片 | 激情视频在线播放 | 久久天天躁狠狠躁夜夜av | 丰满少妇麻豆av苏语棠 | 亚洲三级在线观看 | 丰满岳妇伦在线播放 | 国产又粗又黄的视频 | 琪琪电影午夜理论片八戒八戒 | 欧美激情在线狂野欧美精品 | 国产色视频一区二区三区qq号 | 熟妇高潮喷沈阳45熟妇高潮喷 | 好吊色在线视频 | 免费在线视频一区二区 | 日韩免费一区二区三区 | 亚洲精品一区在线观看 | 色婷婷综合久久久久中文字幕 | 国产在线一二 | 欧美日韩视频在线观看免费 | 日韩午夜高清 | 欧美成人aaa片一区国产精品 | 久久蜜桃精品 | 动漫羞羞 | 亚洲av无一区二区三区 | 欧美 日韩 国产 成人 在线 | 亚洲欧洲日本一区二区三区 | 国产精品久久久久久久久免费 | 国产视频三区 | 亚洲精品成a人 | 看片在线 | 国产三级理论片 | 成年人视频在线免费看 | 国产综合欧美 | 日本在线精品 | 欧美三级视频在线播放 | 亚洲成a人v | 爱爱15p| 九九热精品在线观看 | 欧美日韩1区 | 日韩一区二区在线免费观看 | 二级黄色录像 | av片毛片 | 网址你懂的在线 | 少妇精品久久久久久久久久 | 国产片淫乱18一级毛片动态图 | 成年人黄色在线观看 | 中文字幕第四页 | 一区二区免费在线观看视频 | 欧美熟妇一区二区 | 日本特级黄色大片 | 国产午夜福利100集发布 | 麻豆精品网站 | 精品日韩在线 | 亚洲精品中文字幕在线播放 | 朝桐光在线视频 | 伊人国产精品 | www.污网站 | 6699嫩草久久久精品影院 | 亚洲av无码国产在丝袜线观看 | 久久国产精品久久 | 99久久精品国产一区二区三区 | 免费观看av网站 | 国产成人精品二区三区亚瑟 | 亚洲va欧美va天堂v国产综合 | 欧美亚洲天堂网 | 免费看国产黄色 | 好屌妞视频这里有精品 | 日韩成人自拍 | 国产熟妇搡bbbb搡bbbb |