熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

在Delphi編程中使用C語言代碼[3]

2013-11-23 17:36:18  來源: Delphi編程 
    運行CBC新建一個工程然後把DatFormatc添加到工程裡面編譯整個工程將得到我們需要的OBJ文件:DatFormatOBJ然後我們關閉CBC即可因為下面不再需要用到它了

  運行Delphi新建一個工程並保存然後把DatFormatOBJ拷貝到它的目錄之下在單元的implementation下面添加如下代碼:

  {$LINK DatFormatobj} //鏈接外部OBJ文件

  function _CheckIsDatFile(const FileName:Pchar;IsDatFile:PBool):Bool;cdecl;external;//定義函數其中cdecl進棧方式說明采用C語言格式傳遞參數external說明是個外部聲明函數

  注意函數聲明的原形與C定義的不一樣必須在前面添加一個下劃線原因是因為編譯器的鏈接符號中C與C++是不一樣的因為這個不是本文重點所以這裡不作討論請感興趣的朋友自行參閱相關資料

  然後我們寫如下代碼調用此函數:

以下是引用片段
  procedure TFrmMainButtonClick(Sender: TObject);
  var
  IsDatFile:Bool;
  begin
  if OpenDialogExecute then
  if _CheckIsDatFile(Pchar(OpenDialogFileName)@IsDatFile) then
  if IsDatFile then ShowMessage(恭喜!該文件是一個Dat格式的視頻文件!)
  else ShowMessage(不好意思該文件不是一個Dat格式的視頻文件!)
  else ShowMessage(讀文件錯誤!);
  end;

  編譯這個程序將得到一個干淨的可執行EXE文件了

  四:C++Builder中使用Delphi單元

  這個實際是題外話了不過這裡還是提一提:假設我們有一個獲取BIOS密碼的Delphi單元

  unit AwardBiosPas;

  {=======================================================

  項目: 在Delphi編程中使用C語言代碼 演示程序

  模塊: 獲取BIOS密碼單元

  描述:

  版本:

  日期:

  作者: 陳經韬lovejingtao@cncomhttp://wwwsoftcom

  更新:

  =======================================================}

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/24760.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.