??xml version="1.0" encoding="utf-8" standalone="yes"?> ---- 2. function Write(const Buffer; Count: Longint): Longint; virtual; abstract;
---- 3. function Seek(Offset: Longint; Origin: Word): Longint; virtual; abstract;
---- 4. property Position: Longint;
---- 5. property Size: Longint
---- ReadQWriteQSeek都是U虚函数Q提供了数据d和定位的抽象的方法。ReadҎ数据从Stream中读到Buffer~冲ZQWrite则实现相反的操作Q返回DC实际读写数据的大小。Seek提供了在Stream中移动数据指针的Ҏ。参数Origin可以取soFromBeginningQsoFromCurrentQsoFromEnd 三个|Offset是偏U量Q返回值是当前Stream数据指针的位|?
---- Position表示了数据指针在Stream中的位置。这个属性是可读写的Q它实际上就是通过调用SeekҎ实现的,所以实际用时使用q个属性更为方便一些。Size属性表C当前Stream的大,对于不同的StreamQ有些时候是只读的?
---- 2. LoadFromStream(Stream: TStream); //从当前位|读入Stream里的数据
---- 实际使用时我们基本上只要使用上面两个函数可以了?
---- 创徏一个窗体Form1Q放|三个按钮btnReadQbtnInvertQbtnSave和一个文件打开对话框OpenDialog1以及数据控gDataSource1QTable1Qtest.
---- 使用Dephi提供的Database Desktop创徏一个表testQ表里有一个字D域ImageQ数据库文g名存为test.db。在H体上放|一个TDatabase控gdbTestQ一个TTable控gTable1,一个DataSource控gDataSource1,一个TDBNavigator控gDBNavigator1。将dbTest与刚才Desktop创徏的数据库相连QTable1的TableName属性设为test.dbQDataSource1的DataSet属性设为Table1QDBNavigator1的DataSource属性设为DataSource1QVisibleButtons属性前四个设ؓTRUE。此外,dbtest的Connected设ؓTRUEQTable1的Active属性设为TRUEQ得数据库一开始就处于打开状态?
---- 事g代码~写如下Q?
---- 1. btnRead的Click事gQ这里演CZTFileStream的用法?
1Q安装WildFire。下载wildfire_3_1_1的压~包Q解压后q行bin/wildfire.exeQ在wildfire启动成功后,点击Lanche admin按钮或者直接在览器中http://yourhost:9090Q进入安装配|界面,有中文界面,Ҏ自己情况配置Q这里就不说了?br />
2Q安装jwchatQ下载jwchat.warQ里面自带有jhbQ不q好像没有web.xml和DNSUtil.class两个文gQ可以单独下载JHB后,覆盖调jwchat.war下相应的文gQ关键是不要忘了web.xml的几行配|?br /><servlet>
<servlet-name>Jabber HTTP Binding Servlet</servlet-name>
<servlet-class>org.jabber.JabberHTTPBind.JHBServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Jabber HTTP Binding Servlet</servlet-name>
<url-pattern>/JHB/</url-pattern>
</servlet-mapping>
3Q配|jwchatQ打开config.jsQ进行一些修改,写的比较单了?br />var SITENAME = "wildfire"; // wildfire配置时写的域?/span>
httpbase:"/jwchat/JHB/", // JHB在jwchat目录?/span>
default_server: "wildfire"
var DEFAULTRESOURCE = "wildfire";
var DEFAULTCONFERENCEROOM = "wildfire";
var DEFAULTCONFERENCESERVER = "conference.wildfire";
]]>
]]>/**//*
* 讑֮img的宽Q高
* img 动态图片对?br />
* width 单元格宽
* height 单元格高
*/
fitImageSize = function(img, width, height)
{
var rate = img.width / img.height;
var wh = width / height;
if (rate > wh)
{
if (img.width > width)
{
img.height = img.height * (width / img.width);
img.width = width;
}
}
else
{
if (img.height > height)
{
img.width = img.width * (height / img.height);
img.height = height;
}
}
}
当图片动态加载显C的时候,有一个奇怪的问题Q就是,W一ơ预览时Q图片实际大ƈ没有改变Q也是_q个函数好像无效了。预览事件代码片断如下:for(
)
{
if(
.)
{
// 是否可以预览
img.src = "url
..";
// alert(img.src); fitImageSize(img, view.width, view.height);
img.align = "center";
document.getElementById(id).appendChild(img);
}
}
而当alert的注释去掉以后,囄被正常的处理。这应该是alert的时候,jsE序被挂P而图片l在加蝲Q当alert点击以后Q图片加载已l成功,所以,囄被正处理。如果你alert的是img.widthQ你会看见信息是0。因此,我对E序再做一Ҏ动,用setInterval函数q行囄的完全加载处理?br />for(
)
{
if(
)
{
// 是否可以预览
img.src = "url
.";
// alert(img.src);
//fitImageSize(img, view.width, view.height);
//img.align = "center";
//document.getElementById(id).appendChild(img);
preview_interval = window.setInterval(function()
{ loadingImage(img); }, 100);
}
}
{...coding....}
var preview_interval;
/**//*
* img 加蝲的图片对?br />
*/
loadingImage = function(img)
{
if(img.complete)
{
clearInterval(preview_interval);
fitImageSize(img, view.width, view.height);
img.align = "center";
document.getElementById(id).appendChild(img);
}
}
q样一来,E序可以预览图片,q且也不再会出现W一ơ预览时撑大单元格的现象了?br />
上面是预览一张图片的情况Q我q遇到js动态一ơ性加载多张图片的情况Q解军_法与此相伹{下面的代码是我处理多张图(2张ؓ例)的,实际上可以和上面的写在一P呵呵Q懒的,不去动它了?br />/**//*
* 加蝲相关囄
*/
myClass.prototype.loadAssociateImage = function()
{
// 判断囄是否已经被加载过Q避免重复加载时不必要的消耗。这里以image数组的长?/span>
// 作ؓ是否已经加蝲的判断?/span>
if(this.astImage.length != 0)
{
// alert('Not reload');
return;
}
for (var i = 0; i < 2; i++)
{
this.astImage[i] = new Image();
}
this.astImage[0].src = this.pic.pic0;
this.astImage[1].src = this.pic.pic1;
}
var my_interval;
/**//*
* 昄
*/
myClass.prototype.create = function()
{
this.loadAssociateImage();
my_interval = window.setInterval(function ()
{
// 变量g是myClass的全局变量Q可以当作this?/span>
var length = g.astImage.length;
for (var i = 0; i < length; i++)
{
if (!g.astImage[i].complete)
{
break;
}
else
{
if (i != length -1)
{
continue;
}
else
{
clearInterval(my_interval);
// my process now
}
}
}
}, 10);
}
补充一下对setInterval和setTimeout的说明:setInterval是让js每隔一D|间就q行某一函数一ơ,从js代码执行setInterval开始,q样直到注销QclearIntervalQ其为止QsetTimeout是在jsE序块执行终止以后,再隔一D|间调用某一函数Q该函数只调用一ơ?img src ="http://www.aygfsteel.com/howard/aggbug/42888.html" width = "1" height = "1" />
]]>
在Dephi中提供了一个抽象的数据cdTStream来支持对式数据的操作。这些数据通常来自文g、数据库、内存对象、OLE对象{,TStream提供了统一、简z的Ҏ来进行数据的d。在通常情况下,我们q不需要直接用TStreamc,Ҏ式数据的d装在VCL控g的方法中。但是如果这些方法无法满x们的要求Q就需要自己手动控制数据的d?
一?TStream的常用的Ҏ和属性:
---- 1. function Read(var Buffer; Count: Longint): Longint; virtual; abstract
二?Stream数据的读写?/FONT>
---- 1. SaveToStream(Stream: TStream ); //类中的数据写到Stream的当前位|中
三?例子
---- TStream的承树囑֦?所C??Q实际用时比较常用的是TFileStreamQTMemoryStreamQTblobStreamQ就以这三种D一例说明具体用法?
var
MS: TFileStream;
begin
if OpenDialog1.Execute then
begin
MS:=TFileStream.Create
(OpenDialog1.FileName, fmOpenRead);
Image1.Picture.Bitmap.LoadFromStream(MS);
MS.Free;
end;
end;
---- 2. btnInvert的Click事gQ这里演CZTMemoryStream的用法。其中用了Invert函数Q这是一个简单的图象反色的函数Q仅对真彩图象有效)Q它q回一个指向处理过的图象数据块的指针?var
M
S: TMemoryStream;
pImage: pointer;
begin
MS:=TMemoryStream.create;
Image1.Picture.Bitmap.SaveToStream(MS);
MS.Position:=0;
pImage:=Invert(MS.Memory, MS.size);
//Memory属性是指向实际内存块的指针
MS.Write(pImage^,MS.size);
MS.Position:=0;
//上一行代码指针Ud了Stream末尾Q所以要复位
Image1.Picture.Bitmap.LoadFromStream(MS);
FreeMem(pImage);
MS.Free;
end;
Invert函数如下Q?
function TForm1.Invert
(pImage: pointer; size: Integer): pointer;
var
pData, pMem: PChar;
i: Integer;
begin
pMem:=AllocMem(size);
CopyMemory(pMem,pImage,size);
pData:=pMem+54;
for i:=0 to size-54-1 do
begin
pData^:=Char(not integer(pData^));
pData:=pData+1;
end;
Result:=pMem;
end;
---- 1. btnSave的Click事gQ这里演CZTMemoryStream的另一U用法,Stream中的数据写到数据库中厅R?var
MS: TMemoryStream;
begin
MS:=TMemoryStream.create;
Image1.Picture.Bitmap.SaveToStream(MS);
MS.Position:=0;
Table1.Append;
//在数据库中添加一条记?
TBlobField(Table1.FieldbyName
('image')).LoadFromStream(MS);
Table1.Post;
//所作的更新写入数据?
end;
---- 4. DBNavigator1的Click事gQ这里演CZTBlobStream的用法,使用了和写入时不同的Ҏ来读出数据库的图象数据?var
MS: TStream;
begin
with Table1 do
MS:=CreateBlobStream
(FieldbyName('image'),bmRead);
Image1.Picture.Bitmap.
LoadFromStream(MS);
MS.Free;
end;
---- 现在你已l能够在文gQ数据库Q内存中Ld数据了。试试看吧!
]]>
where AUTHORITY.WORKERNO(+) = '员工?
and MODULE.SUBSYSID = AUTHORITY.SUBSYSID(+)
and MODULE.MODULEID = AUTHORITY.MODULEID(+)
and AUTHORITY.WORKERNO is null
如果权限中所有父权限Q上层权限)在A中d昄Q不考虑B中是否包含)Q可以再加一?BR>and AUTHORITY.MODULEID(+) != '父权限标识(具体的|再MODULE中区分权限父子关p)'
]]>
2Q字W串的相加操作中,用符?||"
不如字DA的第一位添加一个数?Q可以这样写Q?BR>update my_table set my_table.A = '3' || my_table.A where ......
3Q很多常用的内置函数
substr()Qsubstr('abcd',0,2)的值是'ab'
trim()Q将字段内容前后的空格去?BR>length()Q查看字W串长度
to_date('2005-7-5','yyyy-mm-dd')Q根据格式,字W串型的日期转换为datecd
4QDrop表格
在Schema Browser的Tables标签中,选择所要删除的表格,右键drop。有些情况下Q可能表D删除C回收?Recycle Bin)中,可以在Recycle Bin标签中选择表格q将他们ddrop?BR> 如何昄Recycle Bin标签Q右键点MQ意标{,比如Tables标签QConfigureQ显C出所有标{,在Recycle Bin的Visible栏中选择yes卟?img src ="http://www.aygfsteel.com/howard/aggbug/6993.html" width = "1" height = "1" />
]]>
文章来源:http://blog.csdn.net/wxzh/archive/2005/04/08/340319.aspx
]]>
]]>
Dlog: http://webdream.duoluo.com/ 国h开发的一个功能比较强大的BlogQ还有一个Dlog的修改版 http://mytz.net/blog很漂亮,增加了很多实用的功能?/P>
Misslog: http://www.misslog.com/blog 多用户blog,每个blog可以有多个用户参与创作与l护Q?/P>
Loveyuki's BLOG V1.01
Loveyuki's BLOG 是由 Loveyuki 自主开发的Z ASP+Access 的小型单用户BLOG
官方说明Q?http://www.loveyuki.com/blogview.asp?logID=68
E序下蝲Q?点击下蝲Loveyuki's BLOG
q有个它的美化版 演示:http://www.zongyz.com/blog/
下蝲 http://php.zongyz.com/loveyukiblog.rar
oblog 0.9
是多用户版本的Blog,实现了Blog的大部分功能Q其中界面部分参考了iBlog和博客堂Q编辑器部分使用了eWebEditor beta2.0免费版本?BR>演示Q?A target=_blank>http://www.oioj.net
下蝲Q?A target=_blank>http://www.qingdong.com/down/oblog.rar
Bo-Blog Q文本储存数?模板技术做的不错,可以用标{,支持RSS1.0Q?BR>http://boblog.cc.to/
Ublog: http://www.uapplication.com/demo/UblogAccess
汉化版下?http://www.9sk.net/blog/Ublog.rar
ASP.NET
iblog: http://justdn.org/product/iBlog/demo/ 冰冰工作室的作品Q?/P>
DotText: http://scottwater.com/Dottext/default.aspx
BlogX: http://www.simplegeek.com/CategoryView.aspx/BlogX
PHP
b2Q?http://www.cafelog.com 最出名的php blog,操作单,Ҏ上手
b2evolution: http://www.b2evolution.netB2多用L
wordpressQ?A target=_blank>http://www.wordpress.org 在B2的基上开发的Q添加了很多功能?BR>
pivotQ?http://www.pivotlog.net PHP+XMLQ没有用数据库Q有中文语言包,但目前不支持双字节评?/P>
nucleusQ?A target=_blank>http://www.nucleuscms.org q个也是多用P有中文语a包!
exBlogMix: http://exblog.126.com/ 国h开发的新程序,现在已经很完了?/P>
M-loggerQ?BR>http://milkliker.51j.cn/
国h开发的Q目前还比较单,多用P文本储存数据?/P>
drupalQ?http://www.drupal.org 著名的开源程序,功能非常强大Q多用户Q有多种插g和皮肤下载!
pmachine: http://www.pmachine.com q个是最标准的blogQ有中文语言包。多用户的是商业版,
serendipityQ?http://www.s9y.org 新出来的blogQ采取映,看上d像是生成html的,多用P支持多种数据库,自带了WSYISWG~辑器!对目前对中文支持的不好!
bMachineQ?A target=_blank>http://boastology.com 同时支持文本数据库和MySQL数据库,支持中文搜烦?/P>
Plog v0.3QPHP+MysqlQ?BR>官方|站 http://www.plogworld.org/
q个是我见过最强大的PHP BlogE序Q详l介l在
q里?/P>
PlainslashQ文本blogE序Q带像册Q支持rssQ分d了html模板文gQ方便修改,中文和英文两个语a包!
http://www.51zhao.com/pl/news.php?user=plainslash
myphpblog: http://www.myphpblog.org/
sunlog: http://www.sunlog.org
CGI
MTQ?http://www.movabletype.org 是我现在用的,世界上用h多的blogE序Q自动生成htmlQ后~可以自己讄Q支持文本数据库和mysqlQmssql{!
GreymatterQ是一个类?Movable Type 的BlogE序Q相兛_容可以参?A >q里?BR>
原文地址: http://www.laogui.com/blog/mt-tb.cgi/4