📄 64.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://bbs.tsinghua.edu.cn"><font face="黑体"><big><big>水木清华★</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center"> Delphi编程 (BM: strayli FlyingBoy) </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="454"> <p align="center">[<a href="index.htm">回到开始</a>][<a href="12.htm">上一层</a>][<a href="65.htm">下一篇</a>]
<hr><p align="left"><small>发信人: bigkey (天堂鸟), 信区: Delphi <br>
标 题: Re: 我想用DELPHI编一个WEB留言板,ISAPI,步骤如何? <br>
发信站: BBS 水木清华站 (Wed Dec 2 13:48:27 1998) WWW-POST <br>
<br>
步骤: <br>
简单的实现方法: <br>
1。创建一个webserver容器,在File|new中选择ispai <br>
2。放上chat:Tpageproducer <br>
chatview:Tpageproducer //others look up my source code <br>
3.在editing webserver.action 中写入pubchat /chat, pubchat1 /view <br>
<br>
在chatHTMLTag事件中写程序,tagparams传入,replacetext返回相应位置的字串 <br>
在chat的htmldoc属性中写入: <br>
<br>
<HTML> <br>
<HEAD> <br>
<TITLE>Blubird Web Site chat</TITLE> <br>
</HEAD> <br>
<BODY> <br>
<H4> <br>
<P> <br>
<#chat> {notes: chat is a stirng returned by your program } <br>
<P> <br>
<P> <br>
</H4> <br>
<HR> <br>
</BODY> <br>
<br>
3。在html中实现 isapi的连接,并且里利用web server(如:IIS) 建立服务 <br>
4. 其他方法有很多,请各位打虾多多交流 <br>
源码: <br>
unit Unit1; <br>
<br>
interface <br>
<br>
uses <br>
Windows, Messages, SysUtils, Classes, HTTPApp, Db, DBTables, DBWeb, <br>
ExtCtrls; <br>
<br>
type <br>
Twebserver = class(TWebModule) <br>
PageProducer1: TPageProducer; <br>
PageProducer2: TPageProducer; <br>
chat: TPageProducer; <br>
DataSource1: TDataSource; <br>
Table1: TTable; <br>
chatview: TPageProducer; <br>
procedure PageProducer1HTMLTag(Sender: TObject; Tag: TTag; <br>
const TagString: String; TagParams: TStrings; <br>
var ReplaceText: String); <br>
procedure webserverWebitem1Action(Sender: TObject; <br>
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); <br>
<br>
<br>
procedure chatHTMLTag(Sender: TObject; Tag: TTag; <br>
const TagString: String; TagParams: TStrings; <br>
var ReplaceText: String); <br>
procedure webserverpubchatAction(Sender: TObject; Request: TWebRequest; <br>
Response: TWebResponse; var Handled: Boolean); <br>
procedure webserverCreate(Sender: TObject); <br>
procedure webserverpubchat1Action(Sender: TObject; <br>
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); <br>
procedure PageProducer2HTMLTag(Sender: TObject; Tag: TTag; <br>
const TagString: String; TagParams: TStrings; <br>
var ReplaceText: String); <br>
private <br>
chattxt:string; <br>
{ Private declarations } <br>
{ Private declarations } <br>
public <br>
{ Public declarations } <br>
end; <br>
var <br>
webserver: Twebserver; <br>
<br>
implementation <br>
<br>
{$R *.DFM} <br>
<br>
procedure Twebserver.PageProducer1HTMLTag(Sender: TObject; Tag: TTag; <br>
const TagString: String; TagParams: TStrings; var ReplaceText: String); <br>
begin <br>
if comparetext(tagstring,'info')=0 then <br>
begin <br>
replacetext:='your adress is :'+Request.ContentFields.Values['adress'] <br>
<br>
+'<P>Time is'+Datetimetostr(NOW) <br>
+'<P>your name is '+Request.ContentFields.Values['name']; <br>
end; <br>
end; <br>
<br>
<br>
procedure Twebserver.webserverWebitem1Action(Sender: TObject; <br>
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); <br>
begin <br>
if request.ContentFields.Values['name']<>'' then <br>
Response.content:=pageproducer1.content <br>
else <br>
Response.content:=pageproducer2.content <br>
end; <br>
<br>
<br>
procedure Twebserver.chatHTMLTag(Sender: TObject; Tag: TTag; <br>
const TagString: String; TagParams: TStrings; var ReplaceText: String); <br>
var i,count:integer; <br>
<br>
begin <br>
chattxt:=''; <br>
if comparetext(tagstring,'chat')=0 then <br>
begin <br>
table1.Edit; <br>
table1.first; <br>
table1.insert; <br>
table1.FieldByName('name').asstring:=Request.ContentFields.Values['name']; <br>
table1.FieldByName('content').asstring:=Request.ContentFields.Values['conten <br>
t']; <br>
table1.FieldByName('ip').asstring:=Request.RemoteAddr; <br>
Table1.fieldbyname('time').asstring:=timetostr(NOW); <br>
table1.Post; <br>
count:=table1.RecordCount; <br>
table1.first; <br>
if count<20 then <br>
begin <br>
for i:=1 to count do <br>
begin <br>
chattxt:=chattxt+'<HR><P>'+table1.fieldbyname('name').asstring+'说: <br>
'+ <br>
table1.fieldbyname('content').asstring+'(' + <br>
table1.FieldByName('ip').asstring+' '+table1.Fieldbyname('time').asstr <br>
ing+')'; <br>
table1.Next; <br>
end; <br>
replacetext:=chattxt; <br>
<br>
end <br>
else <br>
else <br>
begin <br>
for i:=1 to 20 do <br>
begin <br>
chattxt:=chattxt+'<HR><P>'+table1.fieldbyname('name').asstring+'说:'+ <br>
table1.fieldbyname('content').asstring+ <br>
'('+ table1.FieldByName('ip').asstring+' '+table1.Fieldbyname('time'). <br>
asstring+')'; <br>
table1.Next; <br>
end; <br>
replacetext:=chattxt; <br>
<br>
end; <br>
end; <br>
// <br>
if comparetext(tagstring,'view')=0 then <br>
begin <br>
count:=table1.RecordCount; <br>
table1.first; <br>
if count<20 then <br>
begin <br>
for i:=1 to count do <br>
begin <br>
begin <br>
chattxt:=chattxt+'<HR><P>'+table1.fieldbyname('name').asstring+'说: <br>
'+ <br>
table1.fieldbyname('content').asstring+'(' + <br>
table1.FieldByName('ip').asstring+' '+table1.Fieldbyname('time').asstr <br>
ing+')'; <br>
table1.Next; <br>
end; <br>
replacetext:=chattxt; <br>
<br>
end <br>
else <br>
begin <br>
for i:=1 to 20 do <br>
begin <br>
chattxt:=chattxt+'<HR><P>'+table1.fieldbyname('name').asstring+'说:'+ <br>
table1.fieldbyname('content').asstring+ <br>
'('+ table1.FieldByName('ip').asstring+' '+table1.Fieldbyname('time'). <br>
asstring+')'; <br>
table1.Next; <br>
end; <br>
replacetext:=chattxt; <br>
<br>
<br>
end; <br>
end; <br>
<br>
// <br>
<br>
end; <br>
procedure Twebserver.webserverpubchatAction(Sender: TObject; <br>
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); <br>
begin <br>
if request.ContentFields.Values['name']<>'' then <br>
Response.content:=chat.Content; <br>
end; <br>
<br>
procedure Twebserver.webserverCreate(Sender: TObject); <br>
var i:integer; <br>
begin <br>
chattxt:=''; <br>
table1.Active:=true; <br>
table1.first; <br>
for i:=1 to 20 do <br>
begin <br>
table1.next; <br>
end; <br>
while not table1.Eof do <br>
begin <br>
table1.Delete; <br>
table1.next; <br>
end; <br>
end; <br>
<br>
procedure Twebserver.webserverpubchat1Action(Sender: TObject; <br>
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); <br>
begin <br>
Response.content:=chatview.Content; <br>
end; <br>
<br>
end. <br>
<br>
【 在 pitts (痛并快乐着) 的大作中提到: 】 <br>
: rt <br>
<br>
-- <br>
抽刀断水水更流
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -