• 不常用但是很实用的函数


    uses CommCtrl; -- 很有料!!!

    procedure TForm1.Button1Click(Sender: TObject);
    var ebt: TEditBalloonTip;
    begin
      with ebt do
      begin
        cbStruct := SizeOf(ebt);
        pszTitle := 'title';
        pszText := 'Text';
        ttiIcon := 1;
      end;
      SendMessage(Edit1.Handle,EM_SHOWBALLOONTIP,0,Longint(@ebt))
    end;
    // Balloon

     

    【Controls】

    var s:String;
    begin
      s:=GetParentForm(Button2).Name;//获得form
      ShowMessage(s);
      ShowMessageFmt('%0:d,%0:d',[123]);//注意%d前用的是Index
      SendAppMessage(WM_Close,0,0);//向主程序发送消息
    end;

     

    《InsideVCL》其中李维先生提到
    funtion ObjectFromHWnd(Handle:HWnd):TWinControl;//根据Handle获得VCL组件
    可这个函数我一开始没有找到。回想自己使用的函数。
    function IsVCLControl(Handle: HWnd): Boolean;
    function FindControl(Handle: HWnd): TWinControl;
    function FindVCLWindow(const Pos: TPoint): TWinControl;
    结果在FindControl里找到了。

     

     

    【miscellaneous routines】

    Assert(1=1,'aaaa');

    Assert(1=0,'bbbb');

     

    HtmlTable function 待研究

     

    Slice function 返回的是一个Array ,用于截取一个子Array

    CountGenerations function 从A类型,到B类型,中间有多少次继承。

    ValidParentForm function 返回某控件的Form

     

    【Classes】

     

    分割字符串

    function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings):

    Separators分割符号

    WhiteSpace被忽略的字符。

    Content源

    Strings分割后的内容

    ss:=TStrings.Create;

    iCount:=ExtractStrings(['|'],[' ','#','@'],'asdf@#|  123|zxc',ss);

    ss........

     

    function ReadComponentRes(const ResName: string; Instance: TComponent): TComponent;
    function ReadComponentResEx(HInstance: THandle; const ResName: string): TComponent;
    function ReadComponentResFile(const FileName: string; Instance: TComponent): TComponent;
    procedure WriteComponentResFile(const FileName: string; Instance: TComponent);

    { Object conversion routines }

    type
      TStreamOriginalFormat = (sofUnknown, sofBinary, sofText);

    procedure ObjectBinaryToText(Input, Output: TStream); overload;
    procedure ObjectBinaryToText(Input, Output: TStream;
      var OriginalFormat: TStreamOriginalFormat); overload;
    procedure ObjectTextToBinary(Input, Output: TStream); overload;
    procedure ObjectTextToBinary(Input, Output: TStream;
      var OriginalFormat: TStreamOriginalFormat); overload;

    procedure ObjectResourceToText(Input, Output: TStream); overload;
    procedure ObjectResourceToText(Input, Output: TStream;
      var OriginalFormat: TStreamOriginalFormat); overload;
    procedure ObjectTextToResource(Input, Output: TStream); overload;
    procedure ObjectTextToResource(Input, Output: TStream;
      var OriginalFormat: TStreamOriginalFormat); overload;

    function TestStreamFormat(Stream: TStream): TStreamOriginalFormat;

    { Utility routines }

    function LineStart(Buffer, BufPos: PChar): PChar;
    function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar;
      Strings: TStrings): Integer;

    procedure BinToHex(Buffer, Text: PChar; BufSize: Integer);
    function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer;

     

     

    Rect Point Range的应用(2008-07-15 15:32:11)

    好东西,但是总是忘记。查呢也查得到,嫌麻烦。记录。

    IsRectEmpty(rr) 是否为空区域
    InValidPoint(pp) 如果点是-1,-1的话
    EnsureRange(const AValue, AMin, AMax: Integer):Integer
    EnsureRange(10,10,20);//10
    EnsureRange(10,9,20);//10
    EnsureRange(1,9,20);//9
    如果AValue在这个范围内,则返回AValue
    如果小于AMin则返回AMin,大于AMax则返回AMax
    InRange(const AValue, AMin, AMax: Integer): Boolean;
    如果AValue>=AMin 并且 AValue<=AMax ,则返回true

    OffsetRect(rr,10,10)  移动区域,正就是左和下增加,负就是左和下减少。
    InflateRect(rr,10,10)  增加区域,正负自己试。
    UnionRect 交集
    IntersectRect 并集
    EqualRect
    是否相等
    IsRectEmpty
    是否为空
    SetRectEmpty
    设置为空
    SubtractRect 前者减后者
    Rect(left,top,right,bottom)  Bounds(left,top,width,height)
    两者差不多

     

    两个数字变一个数字(2008-03-12 16:30:15)
    a:= MakeLong(10,20);
     
    LoWord(a);
    HiWord(a);
  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    关于http
    事件循环机制
    关于常问的输入URL到看到页面发生的全过程
    浅拷贝
    基础知识链接
  • 原文地址:https://www.cnblogs.com/key-ok/p/3380427.html
Copyright © 2020-2023  润新知