delphi code
http://hi.baidu.com/rainbow_chaser/blog/item/7eb5f001c0d864e508fa93ac.html
1.防止刷新时闪烁的终极解决办法
{ 防止刷新时闪烁的终极解决办法(对付双缓冲无效时) }
Perform($000B, 0, 0); //锁屏幕 防止闪烁
// 做一些会发生严重闪烁的事情..
//解锁屏幕并重画
Perform($000B, 1, 0);
RedrawWindow(Handle, nil, 0, RDW_FRAME + RDW_INVALIDATE + RDW_ALLCHILDREN + RDW_NOINTERNALPAINT);
2.图片上显示透明文字
//图片上显示透明的文字
//直接用.Canvas.Brush.Style:=bsClear;
//然后.Canvas.TextOut(x,y,'文字显示透明');
procedure TForm1.Button1Click(Sender: TObject);
var
bitBuf:TBitmap;
begin
bitBuf := TBitmap.Create;
try
bitbuf.LoadfromFile('测试图片.bmp');
Self.Canvas.Draw(0,0,bitbuf);
bitbuf.Transparent := True;
bitbuf.TransparentColor := clWhite; //文字显示透明
bitbuf.Canvas.font.color := clBlue; //文字颜色
bitbuf.Canvas.TextOut(10,10,'这样就是透明的字了!');
Self.Canvas.Draw(0,0,bitbuf);
finally
bitBuf.Free;
end;
end;
3.取得本机IP地址(精简版)
//取得本地IP地址(精简版)
//注:使用函数前需要 WSAStartup($202, wsdata);
function GetLocalIP(): String;
var
HostName: array[0..255] of Char;
HostEnt: PHostEnt;
begin
Result := '';
if gethostname(HostName, 255) = 0 then
begin
HostEnt := gethostbyname(HostName);
Result := StrPas(inet_ntoa(PInAddr(PInAddr(HostEnt^.h_addr_list)^)^));
end;
end;
4.报告内存泄漏
// 在程序中加上这句,当退出时会报告内存泄漏
ReportMemoryLeaksOnShutdown := True;
5.释放资源文件
// 首先加入.RC文件,写上 MyDLL DAT testDLL.dll
// 然后程序里 ExtractRes('DAT','MyDLL','123DLL.dll');
procedure ExtractRes(ResType, ResName, ResNewName:String);
var Res:TResourceStream;
begin
Res:=TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
try
Res.SavetoFile('.\'+ResNewName); // 释放到当前目录
fin
相关文档:
第一节 BDE、ADO、InterBase和dbExpress
Delphi中处理数据库主要有两种方法,也就是BDE、ADO,从Delphi 6.0开始还加入了一种dbExpress方法。 另外,Delphi还提供了专门处理Borland 公司自己的数据库产品InterBase 数据库的专门的方法。
BDE(Borland Databas Engine), 是Delph ......
第一节 BDE、ADO、InterBase和dbExpress
Delphi中处理数据库主要有两种方法,也就是BDE、ADO,从Delphi 6.0开始还加入了一种dbExpress方法。 另外,Delphi还提供了专门处理Borland 公司自己的数据库产品InterBase 数据库的专门的方法。
BDE(Borland Databas Engine), 是Delph ......
DELPHI如何使用指针?
大家都认为,C语言之所以强大,以及其自由性,很大部分体
现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。Basic不
支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pasca ......
Delphi中截取文件名不含后缀部分 收藏
当文件名含有中文时,不能直接用LeftStr(FileName, Length(FileName - 4))或者用Pos来定位"."的位置来获取。因为中文一个字符相当与两个英文字符。这样截取往往还是把整个FileName都截下来了。
应当使用Copy函数,如下:
TmpFileLength := Pos(extFile, FileName); TmpFileName := ......
1)JEDI - VCL
JEDI-VCL(JVCL) 库构建于 JEDI 社区捐赠的代码。他由超过 400 个可以在你的 Delphi 和 Kylix 项目中立即重用的组件构成。整个 JEDI VCL 在 Mozilla 公共许可证(MPL)条款下分发,他可以自由使用于免费软件和共享软件,以及开放源代码工程和商业项目。
网站:http://jvcl.sourceforge.net
(2)RXLib
RxLib ......