说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用Delphi编写CGI程序返回图象

HTML文档下载 WORD文档下载 PDF文档下载
用Delphi编写CGI程序返回图象

---- Delphi 4.0对Internet编程提供了强大的支持,Delphi 4.0编写CGI非常容易, Delphi 4.0本身提供了例程。但是笔者在实践中遇到需要CGI程序根据数据库动态返回图象的情况,很多文章推进使用Cgi-Expert或有关的OCX控件,使用控件不仅带来额外的开销,且缺乏灵活性,那么能否不使用这些控件自己编写代码实现,现推荐一种方法,代码如下:

unit ChartMod;

interface

uses

Windows

Messages

SysUtils

Classes

HTTPApp

Db

DBTables

DbChart

Series

Jpeg

ExtCtrls;

type

TWebModule1 = class(TWebModule)

Table1: TTable;

procedure WebModule1ActionAreaAction

(Sender: TObject;

Request: TWebRequest; Response:

TWebResponse; var Handled:

Boolean);

procedure WebModule1ActionPopulationAction

(Sender: TObject;

Request: TWebRequest; Response:

TWebResponse; var Handled:

Boolean);

procedure WebModule1Create(Sender: TObject);

procedure WebModule1Destroy(Sender: TObject);

procedure WebModule1AfterDispatch(Sender: TObject;

Request: TWebRequest; Response:

TWebResponse; var Handled: Boolean);

private

Chart: TDBChart;

Series: TPieSeries;

Image: TImage;

public

{ Public declarations }

end;

var

WebModule1: TWebModule1;

implementation

{$R *.DFM}

procedure TWebModule1.WebModule1ActionAreaAction(

Sender: TObject;

Request: TWebRequest; Response: TWebResponse;

var Handled: Boolean);

begin

// set specific values

Chart.Title.Text.Clear;

Chart.Title.Text.Add ('Area of Countries');

Chart.LeftAxis.Title.Caption := 'Area';

Series.Title := 'Area';

Series.PieValues.ValueSource := 'Area';

end;

procedure TWebModule1.WebModule1ActionPopulationAction(

Sender: TObject;

Request: TWebRequest; Response: TWebResponse;

var Handled: Boolean);

begin

// set specific values

Chart.Title.Text.Clear;

Chart.Title.Text.Add ('Population of Countries');

Chart.LeftAxis.Title.Caption := 'Population';

Series.Title := 'Population';

Series.PieValues.ValueSource := 'Population';

end;

procedure TWebModule1.WebModule1Create(Sender: TObject);

begin

// open the database table

Table1.Open;

// create the chart

Chart := TDBChart.Create (nil);

Chart.Width := 600;

Chart.Height := 400;

Chart.AxisVisible := False;

Chart.Legend.Visible := False;

Chart.BottomAxis.Title.Caption := 'Name';

// create the pie series

Series := TPieSeries.Create (Chart);

Series.ParentChart := Chart;

Series.DataSource := Table1;

Series.XLabelsSource := 'Name';

Series.OtherSlice.Style := poBelowPercent;

Series.OtherSlice.Text := 'Others';

Series.OtherSlice.Value := 2;

Chart.AddSeries (Series);

// create the memory bitmap

Image := TImage.Create (nil);

Image.Width := Chart.Width;

Image.Height := Chart.Height;

end;

procedure TWebModule1.WebModule1Destroy(

Sender: TObject);

begin

Chart.Free;

Series.Free;

Image.Free;

end;

procedure TWebModule1.WebModule1AfterDispatch(

Sender: TObject;

Request: TWebRequest; Response: TWebResponse;

var Handled: Boolean);

var

Jpeg: TJpegImage;

MemStr: TMemoryStream;

begin

// paint the chart on the memory bitmap

Chart.Draw (Image.Canvas

Image.BoundsRect);

// create the jpeg and copy the iamge to it

Jpeg := TJpegImage.Create;

try

Jpeg.Assign (Image.Picture.Bitmap);

MemStr := TMemoryStream.Create;

try

// save to a stream and return it

Jpeg.SaveToStream (MemStr);

MemStr.Position := 0;

Response.ContentType := 'image/jpeg';

Response.ContentStream := MemStr;

Response.SendResponse;

finally

MemStr.Free;

end;

finally

Jpeg.Free;

end;

end;

end.

VB获取桌面图象 简单介绍透明位图的实现方法 -VB资料 将图片「非重叠显示」填满整个表格视窗 -VB资料 将英文字母及阿拉伯数字旋转任意角度 -VB资料 将真彩色图像变为256色灰度(BIG5码):-VB资料 VB利用Image控件实现图形浏览程序 利用VB捕捉并保存屏幕图象 切割一个Container中的图片 -VB资料 VB如何改变桌面的图片? VB如何实现“百叶窗”的图形特效? VB如何实现霓虹灯效果 VB如何在VB中用API获得EXE文件图标并显示在Picture控件里 VB如何在VB中直接显示无格式256灰度级图像 VB如何在窗体中平铺图片? 三维字的实现 -VB资料 闪动窗口标题 -VB资料 闪烁的标题栏 -VB资料 实现画面的各种切换方法-VB资料 实现屏幕变暗的效果 -VB资料 实现图像切换效果 -VB资料 提取Win9x拷贝的动画-VB资料 一个图像滤光处理程序-VB资料 一个用VB5.0 实现的鼠标绘图程序 用VB6.0制作画图板 用VB6设计有趣的动画场景 用VB编程绘制网格图像 用VB绘制抛物线动画曲线 用VB绘制正弦动画曲线 用VB实现“百叶窗”的图形特效 用VB实现托盘动画图标 用Visual Basic 定制BMP文件 不用数据库怎么实现用户注册! 大家能问点有深度的问题吗? sql中创建视图有什么用,怎样创建?请教 支持国产软件——海威数据仓库前台工具Hdc3.x下载 救救我的linux啊?它快不行了。 回答“一个动态创建孔件时的错误,请大家指点”贴后请到这里面领分(共700分)(六) 怎么在Applet中定时显示一数值? 受不了啦,有谁在上班时间在CSDN泡上一天的?? COM、DCOM、COM+有何区别? 该死的缓冲:document.all("pb").innerText="fas"; 这个问题,我不会!你呢??来看看! 请问如何用ASP同时上传多张图片? 哪位大侠能提供关于"资源文件(*.rc)"在BCB5中使用的系统、详细的资料? 菜鸟问题:我想用一个win32 api函数但是不懂得如何使用。 listview与数据库的一系列联系,重点!!! 请教!!!帮帮小弟!!! 两周了--还是不行 怎样取得本机的名称? 我想听网络广播, 怎样做呢? 一个小问题 ????? 回答“一个动态创建孔件时的错误,请大家指点”贴后请到这里面领分(共700分)(七) 计算机知识大赛 我的问题很简单,可是我不会! 回答“一个动态创建孔件时的错误,请大家指点”贴后请到这里面领分(共700分)(八) 这样的游戏一个值多少钱?请报价。 高手快进!小弟有一事不明!!告急! 取ADO的recordset对象的recordcount属性总是 -1,如何解决? 这样的网络游戏一个值多少钱?请报价。 软件发布:《加密樵夫》 软件发布:《加密樵夫》 谁有Dreamweaver4.0的注册码,我晕,555555555…~~~~~~~~~ 我曾在本论坛看到一篇“用纯ASP代码实现图片上传并存入数据库中”的文章,可是怎样实现一个页面上传多幅图片呢,高手能否帮忙看一下? 如何检测一个超链接是不是死链接 软件发布:加密专家系统 只要点一下,妹妹我就以身相许 谁有Dreamweaver4.0的注册码,我晕,555555555…~~~~~~~~~11 请问只要是线程就有消息队列,还是此线程产生window后才有消息队列?在控制台程序中,在消息循环中,当受到一wm_timer消息时,此消息将发送给那一window procedure? 软件发布:三维几何画板 CSDN有徐州的朋友吗 请教高手一个关于图像格式的问题 高手清帮忙:如何获得一个控件的电子签名认证?急,急,急! 觅有时间有经验用MAPINFO开发GIS的高手? IE 能不能同时浏览2种以上不同设置的网页? 初级asp问题 询问-----上海在哪里有软件考试报名? 怎样用SDK的方法改变文本框的前景色和背景色?(内空) 能推荐几个有关COM、ActiveX技术的网站吗?每个10分不够再加。 请问ljhua,ASP网页怎样调用*.bat文件,是服务器上的还是客户机上的bat? ****************** 先散掉点分,省得走的时候累赘 ****************** UNICODE和WinMain 一个空战游戏,附源程序! 1-9个数字填入81个小方格内用1-9个数字填入81个小格内,横 竖不能出现任何一个重复数,不用计算.第一行横的第一个格是8,第二个格是2,第九个格是7.第二行横的第一个格是9,第四个格是1,第七个 第8-10题) 关于音标的几道题……根据相应的音标补全单词1./əu/ h_le thr__t g__t b__t2./ɔi/ b__ t__let t__ s__l3./ai/ b_k_ m_ k_t_ fl__4./eə/ p___ ch___ b____ h_____5./au/ h__se h__ n__ gr__nd6./ei/ c_k_ d__ m__k__ pl__7./iə 将1-9共九个数字填入方格中将1-9这九个数字填入空中,使三个等式成立 (不能重复)①( )+( )=( )②( )-( )=( )③( )*( )=( ) 初中数学,这道题是怎么算出来的?第8题 图为一台电热水器的电路示意图.当开关S闭合时,电热水器处于加热状态,功率为440W;当S断开时,电热水器处于保温状态.整个电路的功率为22W.求:(1)当S闭合时,电热水器工作5min消耗的电能为 一、用修改符号修改短文星期六我们全家去了颐和圆.上午,一进门就看见了有白的,黄的,紫的,色彩鲜艳的蝴蝶花,非常美丽.有几只漂亮的蜜蜂,正在这些花上辛勤采蜜.妈妈说:"公园多美呀 ""能 反比例函数y=k/x图像经过点(3,2014/3)p为其图像上一个整点(注:整点表示很坐标纵坐标均为整数的点),那么x+y的最大值是 四年级下册的口算练习题,一定是乘除法的.20道比如:0.5×10= 最好有答案. 点C在以AB为直径的半圆上,∠CAB的平分线AD交BC于点D,⊙O经过A D两点,且圆心O在AB上.1:求证:BD是⊙O切线.2:若AC/AB=1/4 BC=4√5 求⊙O面积(这题没有图) (第22章第三单元测试卷答案)(第23章第二单元答案)(第23章第三单元答案) 一个长6dm、宽5dm、高8dm的长方形容器内装满水.这个容器内水的体积是( )立方分米.把一根24dm长的铁丝折成一个最大的正方形,它的面积是( )平方分米.把一根24dm长的铁丝折成一个最大的 毛纺厂男职工人数是女职工的3分之4因工作调走33名男职工现在男女人数比是4:9问女职工有多少人 初中数学七年级下人教版基础训练第39页第8题答案 流域自然侵蚀速率是反映流域地貌形态变化的重要指标.据研究,南美洲亚马孙河流域自然侵蚀速率远低于南亚恒河流域,其最主要的影响因素是A.地形 B.降水量 C.植被类型 D. 城市化水平 想找个问题问都这么难,没有问题问怎么办? 新课标人教版二年级【下】语文单元测试卷【4】 问几道数学题急这用!1.一个数的5倍再加上5正好是100这个数是多少?(方程解)2.一个数的8倍与它4分之1的和是66,这个数是多少?(方程解)3.甲乙两个工程队同修一条公路,它们从两端同时施工. 可是我现在没有问题该怎么办? 七年级英语报刊急练习题 问几道数学题:具体过程要讲清楚点哦,例如表示什么的~1.一堆煤,第一天运走1/4,第二天运走剩下的一半,第三天又运了剩下的2/3,最后剩下的煤比第三天运走的3/4少10吨.三天一共运了几吨?2.一项 我没有问题想问,怎么办啊 七年级英语练习题报刊 有一条5.6米长的木料,如锯成长为0.8米的木料,需要30分钟,那麽锯成每段长0.7米的短木料,需要()分钟 我想问问题,怎么办呢 七年级英语报刊练习题急 1、Which city will hold the 2012 Olympic Gamas?Is the city in USA?2、Is Hangzhou in Jiangsu Province?3、Is New York the capital of USA?4、How many legs does a butterfly have?5、Which country has the most poeple?6、In 2004,16 June falls on a Wed 问到没有问题又想问问题怎么办! 英语报纸习题,初一上一.根据所给句子完成下句,是两句意思相同或相近.每空一词1. He reads English for thirty minutes every morningHe __ __ __ __ __ English every morning2. I don't know the answer to the question.I don't kn 有一块长5m的模板现用它做一个斜面,已知斜面与水平面夹角为30度,物体重为450N,现将这个物体沿斜面推到高2m的位置,若斜面的机械效率为75%,求 (1)推力做的有用功 (2)推力的大小 (3)推 把1、1、1、2、2、2、3、3、3 这9个数字分别填在横3格、竖3格的方格里,使得方格里横行、竖斜、斜行上的3个数的和都等于6.请问怎么填 新起点 初中数学同步单元测试卷七(上)(十)26题怎么做啊? 平方根报纸练习题初一下1.一房间的地面恰好由64块正方形地砖铺成,共16平方米,求每块地砖的边长.2.已知2a-1的平方根是+3,-3,b+14的平方根是+4,-4,求a+2b的平方根. 9乘9方格填数怎么做496,8,5,9,7,6,15,6,7,4,,1,5,7,,3,1,2,69,4,2,6,1,5,362怎么能让横竖填上1-9后没有重复数字. 说废话的别来.算了自己做好了随便找个人说句话啦要分的快啦 七年级英语报纸U7——U9练习题1.根据首字母及句意提示,完成单词.My sister most of his time on his work every day.2.句型转换Peter isn’t doing his homework now.(用last night 作时间状语改写句子)3.用介词填空.1.< 把1——9这9个数填入一个横竖都3格的方格中,使横.竖.斜行的数和相等,怎么填?把1——9这9个数填入以下格中,使横.竖.斜行的数和相等()()()()()()()()() 二期课改配套教辅读物2011-2012学年度 修订本光明日报?出版社 七年级上学期英语报纸13期频度副词练习题请快点谢谢我爸爸总是很忙. my father ______ _______ busy. 2.玛丽经常帮她妈妈打扫房间 mary ______ ______ her mother clean the room. 3.我通常早上七点吃早餐. i 2.3.6.7.8.9这六个数填入方框里使等式成立,每个数字只能用一次 ()+()=()()-()=1() 二期课改配套教辅读物 试卷7, 高中生订阅哪些报纸、杂志来提高英语阅读能力?最好有中文翻译的,或者后面有练习题可以检测是否读懂? 在1--13这十三个自然数中选出十二个填入右图的小方格中,使每横行的四个数之和相等,每竖列的三个数之和也相等,那么横行竖列的和各是多少?(4*3的小方格) 初中数学 同步练习与测试 的答案 急需 西游记练习题西游记每回合出三个问题 谢. 将九个不同的自然数填入下列方格中,使横行,竖行,对角线的三个数的积相等. 1、已知(x+my)(x+ny)=X的平方+2xy-6y的平方,求(m+n)mn的值.2、已知:a的平方+a的平方分之一=3,求a-a分之一的值.3、若4x的平方-3(a-2)x+25是完全平方式,求a的值.4、当x为何值时,x的平方+6x-15有最值.5、求 西游记的练习题读完西游记后,哪些练习题可以出?要多而且精,最好不要选择和填空,多些理解性的题,如:孙悟空是个怎样的人物等等. 将-4,-3,-2,-1,0,1,2,3,4这九个数分别填入九个方格内,使横,竖,斜三个数相加得0 初中数学 第八题 西游记的相关练习题要有答案的! —18,—15,—12,—9,—6,—3,0,3,6填入一个3乘3的方格,使横,竖,斜,对角的三个数字和都相等 初中数学!第八题,谢谢! 西游记试题是要提问题的,就是帮我写一些西游记的问题,是关于每一章回提问的,我只要第70~100章的,每回提2个问题,一共60个,至少40个,如果我采用了,会追加很多分的~不对,我的意思是关于每回 123456789填入81个方格中,每一行和每一列和为45.其中全部9个小方格中的每一行和每一列(有三个数)和为15.请各位说说,我有急用.也就是说每一行每一列都要有123456789,就是由9个九宫图组成, 如图,在△ABC中,AB=AC,以AB为直径的○O分别交BC,AC于点D,E,连接EB交OD于点F.(1)求证OD⊥BE(2) 若DE=√5/2,AB=5/2,求AE的长. 西游记的习题越那难月好 在25乘25方格纸中,将1到9九个数字填入没的小方格,求他们的和 某铁桥长1000米 现有一列火车要从桥上过 火车完全通过桥需要60秒 整列火车在桥上的时间是40秒 求火车的速度和长……列出方程组并说明理由就行了 比如 火车的长度等于. 一道物理题,(双选)一个物体底面积为0.1平方米,桌子的底面积为1平方米,物体重200N,那么桌子所受物体压强为A.可能是200pa B.可能是2000PaC.可能是4000Pa D.可能是1000Pa双选双选!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn