⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 64.htm

📁 水木清华的BBS文章
💻 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 + -