delphi资料
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
相关文档:
要实现这一功能,首先要用到ActiveX控件中的TShockwaveFlash控件。
首先让我们来将TShockwaveFlash控件加入到Delphi的组件面板中(没有装Flash的朋友可以从网上下载一个Flash8.ocx文件来进行安装)
1.打开Delphi(本人用的是Delphi7.0)点击菜单中的Component->Import ActiveX Control...
2.在弹出的窗口中的Import ......
随着网络的日益普及,RM(Real Media)格式的多媒体文件由于压缩比高而受到世界范围的认同和欢迎。安装完RealPlayer之后,系统中将会被加入一个播放RM格式的ActiveX控件,我们就是利用这个控件来实现RM格式文件的播放。
1、安装ActiveX控件
点击Component菜单下的Import ActiveX Control选项,就会出现一个现在可安装的 ......
一.建立工程目录
首先,第一步要做的,当然是给新项目建一个单独的目录(别笑)。目录名称与项目名称同名,或者另取一个也可,只要清楚、简练。然后,在此目录中创建以下各个目录:
<Doc>:用来存放该项目相关的开发文档(需求说明,概要设计,详细设计等等等等);
< ......
var
Form1: TForm1;
a, b, c: Integer;
implementation
{$R *.dfm}
procedure test1(x, y, z: integer);
asm
mov a,eax
mov b,edx
mov c,ecx
end;
procedure test2(x, y, z: integer);
var
i,j,k: integer;
asm
mov i,eax
mov j,edx
mov k,ecx
mov eax,[esp+8]
mov a,eax
mov ......
Delphi中截取文件名不含后缀部分 收藏
当文件名含有中文时,不能直接用LeftStr(FileName, Length(FileName - 4))或者用Pos来定位"."的位置来获取。因为中文一个字符相当与两个英文字符。这样截取往往还是把整个FileName都截下来了。
应当使用Copy函数,如下:
TmpFileLength := Pos(extFile, FileName); TmpFileName := ......