Web程序开发对开发
2008-7-22 19:53:40 中国WebSite网(
网站制作)
Web程序开发对开发工具提出了极大挑战,面对用户的众多需求,许多公司推出一大堆开发平台:开发桌面应用程序和C/S程序的,开发中间件的,开发Web服务器的。这造成程序员面对一大堆工具无从下手。
DELPHI和其他开发工具不同,因为它是一个开放系统,只要灵活使用一些控件,即可开发出各种类型的系统,不论N-Tie程序、多线程程序、分布计算程序(包括DCOM和CORBAR)、TCP程序、Web程序、ActiveX、中间件、推程序(Push),甚至你可以用它来写汇编程序。
DELPHI将ISAPI/NSAPI/CGI/WCGI等巧妙地封装成一个类,用户只要在编译时选择编译结果,就可以得到不同的系统。
在DELPHI4中Inprise公司进一步加强了对Web程序开发的支持,可以开发出更好更强的系统。以下是开发Web应用程序中的几个常见问题,可以供大家参考。如果没有特别申明,则表示程序运行于 DELPHI 4下。
如何从Web Server Application返回一幅图像?
Web Server Application不仅可以生成复杂的页面文档,也可以根据用户请求返回不同的图像。当然有比较简单的方法,根据输入参数不同,〈img src...〉标记也指向不同的URL地址。这里我们不用这个办法,而是利用DLL返回图像。
当然要首先建立一个页面容器(page producer),内容如下:
〈html〉
〈body〉This is a test〈BR〉〈img src=″/scripts/mydll.dll/picture″〉〈/body〉
〈/html〉
接下来我们设定对应于PathInfo的动作事件,返回图像结果,源代码如下:
(注意:单元声明中要包含JPEG单元)
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
Jpg: TJpegImage;
S: TMemoryStream;
begin
Jpg := TJpegImage.Create;
try
Jpg.LoadFromFile(′test′);
S := TMemoryStream.Create;
try
Jpg.SaveToStream(S);
S.Position := 0;
Response.ContentType := ′image/jpeg′;
Response.ContentStream := S;
// 必须在流释放前完成
Response. SendResponse;
finally
S.Free;
end;
finally
Jpg.Free;
end;
end;
[1] [2] [3] [4] 下一页