delphi一句话帮助

原创 2003年05月23日 11:46:00

1.       如果想你的程序能够正确处理异常情况的话,请引用SysUtils.pas单元,否则即使程序使用了try。。。except。。。也不能正确捕获异常。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

2.       定义常量字符串的一种方式

resourcestring

    aa='aaaa';

raise Exception.CreateRes(@aa);

3.       字符串常量数组的初始化

const  constarray:array [0..2] of string=(‘first’,’second’,’third’);

4.       结构体初始化

type  Tstructinit=record

   A1:integer;

   A2:array [0..2] of integer;

End;

Const m_structinit:Tstructinit=(A1:0;A2:(0,1,2));

5.       多维数组的长度

var  array2:array of array of integer;

setlength(array2,2,2);

6.       使用CreateNew开辟的空间都存在于堆中,不能自动释放,建议使用FreeAndNil释放, 参数以及局部变量存在于栈中,自动释放。

7.       SizeOf不适合于对象,返回的总是4;对于固定类型可以正确返回.

8.       Create(nil)需要手工释放,Creat(self)会随着拥有者的释放而释放.

9.       动态改变已定义常量的值

procedure ChangeConst(const Const;var Value;Size:Integer);

begin

  Move((@Value)^,(@Constant)^,Size);

End;

10.   进行删除操作的时候循环使用DownTo,会避免错误.

11.   汉字的Ascii>128,可以用它来判别是否为汉字

12.   dll编写中,需要使用Sharemem单元来引用BORLANDMM.DLL内存管理.

13.   PostMessage只将消息放到消息队列中,需要排队等待处理。

SendMessage绕过消息队列直接发送到窗口过程,等到消息处理返回值才返回.

14.   鼠标移入移出消息:CM_MOUSEENTER,CM_MOUSELEAVE

15.   关机消息WM_QUERYENDSESSION

16.   可以利用ThintWindow和类的方法ActivateHint来创建浮动窗体.

17.   调出文件属性对话框

uses ShellAPI;

function ShowFileProperties(FileName: String; Wnd: HWND):Boolean;

var

  sfi: TSHELLEXECUTEINFO;

begin

  with sfi do

  begin

    cbSize := SizeOf(sfi);

    lpFile := PAnsiChar(FileName);

    Wnd := Wnd;

    fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_INVOKEIDLIST or SEE_MASK_FLAG_NO_UI;

    lpVerb := PAnsiChar('properties');

    lpIDList := nil;

    lpDirectory := nil;

    nShow := 0;

    hInstApp := 0;

    lpParameters := nil;

    dwHotKey := 0;

    hIcon := 0;

    hkeyClass := 0;

    hProcess := 0;

    lpClass := nil;

  end;

  Result := ShellExecuteEX(@sfi);

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

   ShowFileProperties('c:/AA.txt', Handle);

end;

18.   更改系统时间

uses Windows,Dialogs,Forms;

var MyTime:TsystemTime;

begin

  FillChar(MyTime,sizeof(MyTime),#0);

  MyTime.wYear:=2003;

  MyTime.wMonth:=06;

  MyTime.wDay:=01;

  If not SetSystem(MyTime) then

Showmessage(‘Failure’);

   End;

19.   复制文件夹Xcopy

.   procedure Xcopy(SourceDir,DestinationDir:String);

var

      Search : TSearchRec;

      Rec    : word;

Begin

      SourceDir := SourceDir + '/';

      Rec := FindFirst(SourceDir + '*.*', faAnyFile, Search);

      While Rec = 0 Do

      Begin

        If Search.Name[1] <> '.' Then

        Begin

          If (Search.Attr And faDirectory) = faDirectory Then

          Begin

            Windows.CreateDirectory(PChar(DestinationDir + '/' + Search.Name), nil);

            FileSetAttr(DestinationDir + '/' + Search.Name, FileGetAttr(SourceDir + '/' + Search.Name));

            X_Copy(SourceDir + '/' + Search.Name, DestinationDir + '/' + Search.Name);

          end

          Else

          Begin

            CopyFile(PChar(SourceDir + '/' + Search.Name),PChar(DestinationDir + '/' + Search.Name), True);

            FileSetAttr(DestinationDir + '/' + Search.Name, FileGetAttr(SourceDir + '/' + Search.Name));

            Application.ProcessMessages;

          end;

        end;

        Rec := FindNext(Search);

      end;

      FindClose(Search);

end;

20.   绘制透明位图

   procedure DrawTrans(DestCanvas: TCanvas; X,Y: smallint; SrcBitmap: TBitmap; AColor, BackColor: TColor);

var  ANDBitmap, ORBitmap: TBitmap;

         CM: TCopyMode;

         Src: TRect;

begin

      ANDBitmap:= NIL;

      ORBitmap:=  NIL;

      try

        ANDBitmap:= TBitmap.Create;

        ORBitmap:= TBitmap.Create;

        Src  := Bounds(0,0, SrcBitmap.Width, SrcBitmap.Height);

        with ORBitmap do begin

          Width:= SrcBitmap.Width;

          Height:= SrcBitmap.Height;

          Canvas.Brush.Color := clBlack;

          Canvas.CopyMode := cmSrcCopy;

          Canvas.BrushCopy(Src, SrcBitmap, Src, AColor);

        end;

        with ANDBitmap do begin

          Width:= SrcBitmap.Width;

          Height:= SrcBitmap.Height;

         Canvas.Brush.Color := BackColor;

         Canvas.CopyMode := cmSrcInvert;

         Canvas.BrushCopy(Src, SrcBitmap, Src, AColor);

       end;

       with DestCanvas do begin

         CM := CopyMode;

         CopyMode := cmSrcAnd;

         Draw(X,Y, ANDBitmap);

         CopyMode := cmSrcPaint;

         Draw(X,Y, ORBitmap);

         CopyMode := CM;

       end;

     finally

       ANDBitmap.Free;

       ORBitmap.Free;

     end;

end;

 

procedure TForm1.Button4Click(Sender: TObject);

begin

    DrawTrans(Image1.Canvas, 0,0, Image2.Picture.Bitmap, clBlack, clSilver);

end;

21.   获取CPU速度

  function GetCpuSpeed: Extended;

var

    t, mhi, mlo, nhi, nlo: dword;

    shr32 : comp;

begin

    shr32 := 65536;

    shr32 := shr32 * 65536;

    t := GetTickCount;

    while t = GetTickCount do ;

      asm

      DB 0FH,031H // rdtsc

      mov mhi,edx

      mov mlo,eax

    end;

    while GetTickCount < (t + 1000) do ;

      asm

      DB 0FH,031H // rdtsc

      mov nhi,edx

      mov nlo,eax

    end;

    Result := ((nhi * shr32 + nlo) - (mhi * shr32 + mlo)) / 1E6;

end;

 

procedure TForm1.Button4Click(Sender: TObject);

begin

    label1.Caption := FloatToStr(GetCpuSpeed) + 'mhz';

end;

   

暂时只是写了这么多,以后会逐步更新添加

 

 

java中常用的帮助类(加快开发速度)

数据库帮助类 package com.cwnu.uitl; import java.sql.*; /** * 数据库基础操作实现类 * * @author BlackWinter * * @...
  • zhujunxxxxx
  • zhujunxxxxx
  • 2013年09月24日 14:35
  • 1322

[SAP ABAP开发技术总结]搜索帮助Search Help (F4)

声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否...
  • fengyeyu090813
  • fengyeyu090813
  • 2017年01月17日 11:49
  • 2431

【Delphi】Hint提示信息

Delphi中使用提示是如此简单,只需将欲使用Hint的控件作如下设置:     ShowHint := True;     Hint := ‘提示信息’;     不必写一行代码,...
  • putin1223
  • putin1223
  • 2015年01月27日 14:04
  • 1237

delphi一句话帮助

1.       如果想你的程序能够正确处理异常情况的话,请引用SysUtils.pas单元,否则即使程序使用了try。。。except。。。也不能正确捕获异常。 2.       定义常量字符串的...
  • youxiazzz12
  • youxiazzz12
  • 2012年09月04日 15:38
  • 330

js一句话效果大全

  • 2017年11月10日 17:23
  • 149KB
  • 下载

Android应用源码时光日志本一句话记录每一天

  • 2014年11月21日 18:54
  • 398KB
  • 下载

[原创]ASPX一句话木马--终极版&amp;详细分析(ASP-EXECUTE VS ASPX-EVAL) 邪恶八进制信息安全团队官方讨论组 努力为祖国的信息安全撑起一片蓝天 - EvilOctal S.mht

  • 2009年08月22日 14:51
  • 318KB
  • 下载

网络日记本,一句话日记

  • 2009年05月21日 21:36
  • 96KB
  • 下载

输入一句话,取反输出,按以下两种方式,例如输入的是hello java,输出的为java hello,avaj olleh.

  • 2010年09月09日 11:38
  • 576B
  • 下载

一句话PHP小马可加入中国菜刀

  • 2013年04月15日 20:03
  • 25B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:delphi一句话帮助
举报原因:
原因补充:

(最多只允许输入30个字)