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

📄 tszs7.htm

📁 对于学习很有帮助
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Delphi开发Web Server程序 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>

<body>

<h1><font color="#ff0000" size="3">Delphi开发Web Server程序</font><font size="3">――如何返回图像</font></h1>
<div align="center"><center>

<table border="0" width="100%">
  <tr>
    <td width="100%"><font size="3"><a href="mailto:fgui@usa.net">傅贵</a><br>
      <br>
    &nbsp;&nbsp;&nbsp; Internet/Intranet在九十年代可能是最流行的计算机术语了,不管是计算机行业内的人士还是计算机外的人士,都会使用Internet/Intranet,有的查资料,有的是宣传自己和公司,甚至有许多以前从没有想到用Internet的东西现在也在用Internet来解决,比如有的程控数字计算机维护用Internet来解决。在这一切应用之中,基于Web 
    Server的应用程序的开发是基本点,但如何开发Web Server的程序呢? </font><p><font
    size="3">&nbsp;&nbsp;&nbsp; Delphi 3是Borland公司1997年推出的可视化、面向对象的高效率的快速应用程序开发工具(RAD),提供了大量的最新功能,例如开发COM/DCOM,一步开发ActiveX对象,多层数据库应用程序MIDAS等,并且使用Delphi 
    3开发基于Web服务器的程序,如ISAPI/NSAPI,Win-CGI,CGI程序都十分方便。 
    </font></p>
    <p><font size="3">&nbsp;&nbsp;&nbsp; 使用Delphi 3开发Web Server程序是非常简单,方便的,因为在Delphi中提供了Web 
    Module,&nbsp; WebApplication, TWebRequest,TWebResponse,TPageProducer等大量的对象供使用。而且由于Delphi强大的数据库开发能力,使得Web 
    Server程序的开发更是锦上添花。在本文中主要讨论一般Web Server程序的开发,希望给您一个抛砖引玉的作用。 
    </font></p>
    <p><font size="3">&nbsp;&nbsp;&nbsp; 一般Web Server返回的信息有基于HTML的文字流和图像流,如Jpeg和Gif等。返回文字流的方法是使用TwebResponse.Content,在Delphi 
    3的Demos中有这样的例程,但如何返回图像呢? </font></p>
    <p><font size="3">&nbsp;&nbsp;&nbsp; 返回图像的方法是用TwebResponse.ContentStream和TjpegImage类。具体实现如下,例如您有三张图片,希望在别人访问您的主页时能随机的显示一张,在您的主页中有如下的HTML语句:&lt;IMG 
    SRC=&quot;/scripts/mypict.dll&quot;&gt;,那么在您的Web Server的缺省的TwebActiveItem中如下处理: 
    </font></p>
    <p><font size="3">var <br>
    &nbsp;&nbsp;&nbsp; Jpg: TJpegImage; <br>
    &nbsp;&nbsp;&nbsp; S: TMemoryStream; <br>
    &nbsp;&nbsp;&nbsp; I: Integer; <br>
    Begin <br>
    &nbsp;&nbsp;&nbsp; Randomize; <br>
    &nbsp;&nbsp;&nbsp; I:= Random(3); <br>
    &nbsp;&nbsp;&nbsp; Jpg := TJpegImage.Create; <br>
    &nbsp;&nbsp;&nbsp; try <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    Jpg.LoadFromFile('C:\WebShare\Scripts\test'+IntToStr(I)+'.Jpg'); <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S := TMemoryStream.Create; <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Jpg.SaveToStream(S); <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S.Position := 0; <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.ContentType := 
    'image/jpeg'; <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.ContentStream 
    := S; <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.SendResponse; <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; finally <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S.Free; <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end; <br>
    &nbsp;&nbsp;&nbsp; finally <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Jpg.Free; <br>
    &nbsp;&nbsp;&nbsp; end; <br>
    end; </font></p>
    <p><font size="3">&nbsp;&nbsp;&nbsp; 因为使用了TJpegImage类,所以<font
    color="#ff0000">必须在Uses中添加对JPEG文件的包含</font>。 </font></p>
    <p><font size="3">&nbsp;&nbsp;&nbsp; 以上程序用Microsoft个人Web服务器和Netscape 
    Navigator 4.04调试通过,完整的源程序和可执行代码在我的个人主页(http://www.nease.net/~borland)上,可以下载。 
    <br>
    </font></td>
  </tr>
</table>
</center></div>
</body>
</html>

<script LANUGAGE="JavaScript">
<!--
function getCookieVal (offset) {  
var endstr = document.cookie.indexOf (";", offset);  
if (endstr == -1)    
endstr = document.cookie.length;  
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {  
var arg = name + "=";  
var alen = arg.length;  
var clen = document.cookie.length;  
var i = 0;  
while (i < clen) {    
var j = i + alen;    
if (document.cookie.substring(i, j) == arg)      
return getCookieVal (j);    
i = document.cookie.indexOf(" ", i) + 1;    
if (i == 0) break;   
}  
return null;
}
function SetCookie (name, value) {  
var argv = SetCookie.arguments;  
var argc = SetCookie.arguments.length;  
var expires = (argc > 2) ? argv[2] : null;  
var path = (argc > 3) ? argv[3] : null;  
var domain = (argc > 4) ? argv[4] : null;  
var secure = (argc > 5) ? argv[5] : false;  
document.cookie = name + "=" + escape (value) + 
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
((path == null) ? "" : ("; path=" + path)) +  
((domain == null) ? "" : ("; domain=" + domain)) +    
((secure == true) ? "; secure" : "");
}

if (GetCookie("MMC_PoiLove") != "ifght94567") {
window.open("http://www.21pop.com/pop.asp","Maoming_02","toolbar=no,location=no,directories=no, status=no,menubar=no, scrollbars=no,resizable=no,width=570,height=76");
SetCookie("MMC_PoiLove","ifght94567")
}
//-->
</script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -