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