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

DELPHI基礎教程:動態鏈接庫編程(二)[4]

2022-06-13   來源: Delphi編程 

  口令設置部分的實現代碼為

  procedure TFormSetButtonClick(Sender: TObject)

  begin

  PassWord := StrAlloc(

  if SetPassWord(PassWord) = False then

  MessageDlg(PassWord is not setmtInformation[mbOK]

  end;

  首先為口令字符串分配內存當口令設置窗體按Cancel按鈕取消時顯示相應的信息

  口令檢查部分的實現代碼為

  procedure TFormTestButtonClick(Sender: TObject)

  begin

  if PassWord = nil then

  begin

  MessageDlg(Set password first mtInformation [mbOK]

  SetButtonSetFocus;

  Exit;

  end;

  if GetPassword(PassWord) then

  LabelCaption := You are Wellcome !

  else

  LabelCaption := SorryYou are InValid User;

  end;

  根據口令檢查的結果在標簽框中顯示相應的信息

   VB應用程序調用重用窗體

  VB是微軟公司極力推薦的一個可視化開發工具它雖然並不支持動態鏈接庫的創建但可以調用標准的Windows API動態鏈接庫和用其它語言編寫的動態鏈接庫為了驗證所生成DLLs的普適性我們用VB開發了一個簡單的程序來調用passformdll中儲存的窗體

  下面是VB程序的完整代碼和Delphi程序的對應部分基本一致

  Option Explicit

  Declare Function GetPassWord Lib c:\dlls\passformdll (ByVal PassWord As String) As Integer

  Declare Function SetPassWord Lib c:\dlls\passformdll (ByVal PassWord As String) As Integer

  Dim PassWord As String *

  Sub Check_Click ()

  If PassWord = Then

  MsgBox (Enter sample password first

  SetPassSetFocus

  Else

  If GetPassWord(PassWord) Then

  StatusLblCaption = You are Welcome!

  Else

  StatusLblCaption = SorryYou are Invalid User

  End If

  End If

  End Sub

  Sub SetPass_Click ()

  If SetPassWord(PassWord) = Then

  MsgBox (PassWord is not Set

  End If

  End Sub

  有關VB編程的一些具體問題讀者可參看有關的VB參考書

   小結

  本章我們討論的是動態鏈接庫編程許多可視化開發工具(如Visual Basic)不支持 DLLs的創建而Delphi在這裡又有上乘的表現特別是窗體重用機制是Delphi對Windows下DLLs編程的一個重大改進在一般的DLLs編程中也體現了Delphi快捷方便的特點動態鏈接庫是 Windows下程序組織的一種重要方式使用動態鏈接庫可以極大地保護用戶在不同開發工具不同時期所做的工作利用動態鏈接庫用戶可以逐步去構築自己的程序模塊庫為今後的工作積累素材

  返回目錄DELPHI基礎教程

       編輯推薦

       Java程序設計培訓視頻教程

       JEE高級框架實戰培訓視頻教程

  Visual C++音頻/視頻技術開發與實戰

  Oracle索引技術

  ORACLEG數據庫開發優化指南

  Java程序性能優化讓你的Java程序更快更穩定

  C嵌入式編程設計模式

  Android游戲開發實踐指南

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/25206.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.