易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi的资源文件

很古老话题了,不过今天碰到了,就捡起来研究和总结一下。
delphi可以把各种资源文件整合到exe文件中,这样调入速度快。
一 bmp图像,有两种方法
procedure TfrMain.btnCanvasPic(Sender: TObject);
var bBitmap : TBitmap;
begin
 bBitmap := TBitmap.Create;
 try
  bBitmap.Handle := LoadBitmap(hInstance, 'ATHENA');
  Image1.Width := bBitmap.Width;
  Image1.Height := bBitmap.Height;
  Image1.Canvas.Draw(0,0,bBitmap);
 finally
  bBitmap.Free;
 end;
end;
另一种办法:
procedure TfrMain.btnLoadPicClick(Sender: TObject);
begin
 Image1.Picture.Bitmap.
   LoadfromResourceName(hInstance,'EARTH');
end;
二 光标文件
procedure TfrMain.btnUseCursorClick(Sender: TObject);
 const NewCursor = 1;
begin
 Screen.Cursors[NewCursor] :=
    LoadCursor(hInstance,'CURHAND');
 Image1.Cursor := NewCursor;
end;
三 icon文件
public
    nrIco : Integer;
  MinIcon : array[0..1] of TIcon;
...
procedure TfrMain.FormCreate(Sender: TObject);
begin
 MinIcon[0]:=TIcon.Create;
 MinIcon[1]:=TIcon.Create;
 MinIcon[0].Handle:=LoadIcon(hInstance,'ICOOK');
 MinIcon[1].Handle:=LoadIcon(hInstance,'ICOFOLD');
 NrIco:=0;
 Timer1.Interval:=200;
end;
...
procedure TfrMain.Timer1Timer(Sender: TObject);
begin
 if IsIconic(Application.Handle) then begin
  NrIco:=(NrIco+1) mod 2;
  Application.Icon:=MinIcon[NrIco];
 end;
end;
...
procedure TfrMain.FormDestroy(Sender: TObject);
begin
 MinIcon[0].Free;
 MinIcon[1].Free;
end;


相关文档:

如何让Delphi调用外部程序并等待其运行信息(如结束)

函数一:
view plaincopy to clipboardprint?
uses 
    Windows,  
    SysUtils,  
    Classes,  
    ShellAPI;  
function RunAndWait(FileName: string; Visibility: Integer): THandle;&nbs ......

unicode与GB2312转换等Delphi函数


{ 函数 : RESULTSTRING = HexToBin(HEXSTRING)
{ 目的 : 把十六进制字符串转换为二进制字符串
{
{===============================================================}
{ 函数 : RESULTINTEGER = HexCharToInt(HEXCHAR)
{ 目的 : 转换一个十六进制字符为整数
{==================================================== ......

delphi DataSnap巢状主从表实现

服务端:添加ADOConnection,ADOQuery1,ADOQuery2。设置ADOQuery1为主表,ADOQuery2为从表。(通过  ADOQuery2.SQL.Text:= 'select * from 从表 where FKID=:主表PKID'设置)。添加DataSetProvider1和DataSetProvider2分别连接到ADOQuery1和ADOQuery2。
客户端:添加ClientDataSet1,ClientDataSet2。ClientDataS ......

Delphi常用控件命名规范

 常用控件命名前缀
控件类名
前缀
TForm等窗体类 
frm
TButton, TSpeedButton等所有的按钮类 
btn
TCheckBox等所有的检查框 
chk
TRadioButton单选按钮类
rdo
TListBox等所有的列表框类 
lst
TPanel等所有的面板类
pnl
TLabel, TStaticText等所有用来显示的标签类 
lbl
TE ......

一个delphi程序员的开发习惯

                                                   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号