麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Delphi > 正文

delphi一句話幫助

2019-11-18 18:05:55
字體:
來源:轉載
供稿:網友
 

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

  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;


上一篇:Delphi的組件讀寫機制

下一篇:在DELPHI中更簡單的存取JPEG文件到SQLSERVER數據庫

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 国产成人自拍av | 99精品国产视频 | 蜜桃欧美性大片免费视频 | 99在线精品视频免费观看20 | 久久精品视频黄色 | 欧美不卡在线 | 国产 视频 一区二区 | 欧洲黄视频 | a视频网站 | 色播av在线 | 久在线观看福利视频69 | 成人超碰97| 国产免费午夜 | 毛片在哪看 | 7777视频| 亚洲精品aⅴ中文字幕乱码 欧美囗交 | 国产成人自拍视频在线观看 | 91一区二区在线观看 | 久久久久久久爱 | 久久成人综合网 | 日韩欧美动作影片 | 成人在线观看免费高清 | 草莓福利视频在线观看 | 国产午夜亚洲精品午夜鲁丝片 | 欧美激情第一区 | 一本色道久久99精品综合蜜臀 | 毛片一区二区三区 | 中文字幕在线亚洲 | 成人国产在线看 | 欧洲伊人网 | 国产美女爽到喷白浆的 | 91成人免费看 | 亚洲精品一区中文字幕 | 99国产精品欲a | 国产精品一区二区三区在线 | xxxxxx中国 | 91网页视频入口在线观看 | 91精品国产毛片 | 国产一级毛片网站 | 欧美日韩色片 | 一本大道av |