999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用Delphi為Authorware制作自定義函數

2012-12-13 08:34:50張忠華李紅巖任重貴
中國醫學教育技術 2012年6期
關鍵詞:數據庫

張忠華,李紅巖,任重貴

哈爾濱醫科大學大慶校區,黑龍江 大慶 163319

Authorware是多媒體領域普及度極高的開發平臺,具有應用簡單、通用性強的特點。筆者在具體的項目開發過程中遇到過將外接設備在Authorware環境中打開并應用的問題。Authorware的功能在這方面比較有限,所以筆者嘗試使用外部自定義函數的方式解決問題,最終獲得成功。此自定義函數的創建,是通過動態鏈接庫(dynamic link library,DLL)技術實現的。Windows系統中DLL文件的大量存在表明其價值:①充分擴展應用程序的功能;②簡化項目管理;③節約內存;④實現資源共享等[1]。筆者認為,基于DLL技術的多媒體平臺設計有助于擴展Authorware的系統功能。現將Authorware應用DLL技術的自定義函數的經驗與同行分享,希望對大家有所幫助。

1 Authorware對自定義函數的要求

Authorwre可以使用內部與外部兩種自定義函數,內部自定義函數就是把某一計算圖標內的程序代碼或者是存儲于外部文本文件的程序代碼、甚至是一段字符串程序語句定義為函數形式[2],其實質是將計算圖標變為函數樣式。實現方法也比較簡單,只需將圖標中的屬性面板的“包含編寫的函數”復選框選中即可。而外部自定義函數需要使用其他高級語言制作,通過函數載入的方式來應用。

Authorware使用的外部自定義函數主要以外部擴展U32(UCD)、DLL、Xtras形式封裝,而用戶制作的自定義函數通常使用DLL的形式,DLL是一個可以被其他應用程序共享的程序模塊,封裝了一些可以被共享的資源[3]。一個DLL文件中可以包含多個自定義函數,但開發自定義函數時,應注意其他高級語言的數據類型可能與Authorware所要求的數據類型不能一一對應,應根據實際情況來確定自定義的返回值。Authorware只能使用字節、字詞、浮點數、雙精度數、字串、字符、短型、長型、指針或空值等類型的值,其他類型的函數不能載入,也不可以被應用。

2 用Delphi制作自定義函數

Delphi以其簡便易用、語法嚴謹的特點受廣大程序員的喜愛,其自帶的工具豐富,大大簡化了編程工作量,并且程序經編譯后的適應面廣,可移植性好。用Delphi開發封裝自定義函數的DLL文件可靠易行,可勝任為Authorware開發自定義函數的重任。

2.1 Delphi開發DLL文件的語法要求

Delphi開發DLL文件時,其語法格式上有特殊要求,要按如下語法進行編寫:

說明:每個DLL文件中可包含多個函數,每個函數要有一個確定的返回值,Delphi中的數據類型有整型、實型、布爾型、字符型和字符串型等基本類型,還有子界類型、枚舉類型、集合類型、數組類型、記錄類型、指針類型和文件類型等自定義類型[4]。這些值應與Authorware的要求相對應。在Uses中要包含函數中所用到的各單元名稱,如果用到對話框則應包括Dialogs,如果是數據庫應用則包括DB和ADODB內容,可在函數體中使用TADOQuery創建對象,才能具體應用。

涉及到對數據庫的數據進行各種操作應用,如添加記錄、刪除記錄和各種條件查詢,可將與操作數據庫相關的部分做成DLLs。當用戶對數據操作的需求發生變化時,修改DLLs的相關代碼并將該DLLs拷貝到使用者處,這樣可及時滿足用戶需求,不斷完善程序功能,便于版本更新[5]。形式參數列表中的參數應標明類型,這些函數或過程本身必須用export編譯指令進行編譯[6]。

2.2 在Delphi中創建DLL文件

在Delphi中創建DLL,按File→New→Other→DLL Wizard的步驟創建一個DLL Wizard項目。該文包含用于求圖片文件的高度與寬度的函數。具體設計過程是這樣的,在窗口中輸入具體代碼如下:

將輸入的代碼用Project菜單下的Build dlls命令創建DLL文件,如果創建過程中沒有相應的錯誤,則在Authorware中基本上可以正常使用DLL內的自定義函數。Delphi創建DLL文件的環境如圖1所示。

圖1 Delphi創建DLL文件時工作界面

3 自定義函數在Authorware中的使用

在Authorware中使用高級語言所創建的自定義函數過程如下:首先打開函數面板,在分類選項中選擇項目名稱XX.a7p,其中XX表示項目名稱,如果項目暫未起名,則此項為“未命名.a7p”。選擇后,面板下方的“載入…”按鈕變為可用狀態,單擊此按鈕,出現加載函數對話框,從中選擇具體的DLL文件名,會出現“非Authorware DLL對話框”,要求用戶填入具體載入的函數名、參數類型、返回值類型以及對該函數的描述(如圖2所示)。填好各項后,單擊“載入”按鈕,即可將所需函數轉入函數面板中(如圖3所示)。其后在Authorware中按函數的應用方法正常使用即可。

圖2 非Authorware DLL函數載入對話框

圖3 函數載入后效果

該例是在一個用于顯示數據庫圖像的實例中使用了DLL自定義函數,其中的運行代碼為:

運行效果圖如圖4所示。

圖4 Authorware環境中的運行效果

4 討論

用Delphi為Authorware制作自定義函數,可以解決很多Authorware所不能解決的問題。如Authorware的數據庫應用能力較弱,可通過Delphi開發一些專用函數,則能較好地解決這類問題。其實用其他高級語言也可以制作DLL文件,如用C++制作DLL文件[7],但C++的易用程度與Delphi相比明顯要差一些,且應用較復雜。另外,用VB也可以制作DLL文件[8],同樣,在VB中也可以使用由其他高級語言創建的DLL[9]。但筆者在用VB為Authorware開發基于DLL文件的自定義函數時,卻遇到了在Authorware中無法加載所制作函數的問題,這需要運用到一些其他特別的方法解決,而且比較麻煩。具體操作過程網上已有介紹[10],所以不建議使用VB為Authorware開發封裝在DLL文件中的自定義函數。

[1]徐君明,李國林,趙紅超,等.基于動態鏈接庫的虛擬儀表建模與仿真[J].航天控制,2010,28(1):70-73

[2]郭新房,倪寶童,王健,等.Authorware 7.0多媒體制作基礎教程與案例實踐[M].北京:清華大學出版社,2007:139-140

[3]張玉珍,顏廷睿.DLL及其在 Delphi中的應用[J].計算機時代,2005,(1):45-46

[4]徐長梅,任文進.Delphi2005數據庫教程[M].武漢:武漢大學出版社,2008:17-22

[5]馬麗艷,張春芳,李瑞.用Delphi開發數據庫應用功能的DLL程序[J].河北師范大學學報:自然科學版,2007,32(2):173-175

[6]賈維珉.淺析Delphi中動態鏈接庫的使用[J].中國電子商務,2011,(6):63

[7]蔡洪濤,王延紅,張巧健,等.Visual C++開發Authorware 7動態鏈接庫函數的方法及應用[J].沈陽師范大學學報:自然科學版,2008,26(3):323-325

[8]王敏.DLL的創建及應用[J].中南民族大學學報:自然科學版,2005,24(1):58-60

[9]畢蘇萍,周振紅,張成才.Fortran Win32 DLL回調VB窗體[J].計算機工程與設計,2010,31(13):3092-3095

[10]Petrusha R.Creating a Windows DLL with Visual Basic[DB/OL].http://www.windowsdevcenter.com/pub/a/windows/2005/04/26/cre ate_dll.html?page=1,2005-04-26

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 精品一区二区三区视频免费观看| 国产亚洲精久久久久久久91| 久久国产亚洲偷自| 丰满人妻中出白浆| 国产肉感大码AV无码| 国产精品色婷婷在线观看| 一级看片免费视频| 无码AV动漫| 国产va视频| 成人va亚洲va欧美天堂| 欧美精品aⅴ在线视频| 亚洲 成人国产| 五月综合色婷婷| 亚洲人成人伊人成综合网无码| 久久久久88色偷偷| 国产色爱av资源综合区| 欧美亚洲第一页| 女高中生自慰污污网站| 欧美激情第一区| 福利视频99| 免费精品一区二区h| 久久无码免费束人妻| 看你懂的巨臀中文字幕一区二区| 久草性视频| 国内精品视频| 怡春院欧美一区二区三区免费| 亚洲中文字幕久久精品无码一区| 暴力调教一区二区三区| 91丝袜乱伦| 国产精品女在线观看| 欧美性天天| 国产亚洲视频中文字幕视频| 在线欧美日韩| 亚洲日本www| 久久免费成人| 欧美一区二区三区不卡免费| 欧美不卡视频在线| 国产大片喷水在线在线视频| 伊人久久大香线蕉综合影视| 亚洲丝袜第一页| 伊人久久大香线蕉综合影视| 国产日韩欧美在线播放| www.99在线观看| 91蜜芽尤物福利在线观看| 在线看国产精品| 在线99视频| AV在线天堂进入| 日韩在线视频网站| 久久国产高清视频| 亚洲美女一区| 99999久久久久久亚洲| 色综合国产| 人妻91无码色偷偷色噜噜噜| 国产免费看久久久| 欧美中文字幕在线视频 | 国产精品无码AⅤ在线观看播放| 色综合婷婷| 又粗又大又爽又紧免费视频| 亚洲天堂自拍| 3p叠罗汉国产精品久久| 9丨情侣偷在线精品国产| 极品尤物av美乳在线观看| 国产精品白浆无码流出在线看| 六月婷婷精品视频在线观看| 国产白浆在线| 免费A级毛片无码免费视频| 黄色网在线| 国内99精品激情视频精品| 国产在线一二三区| 午夜国产不卡在线观看视频| 久久九九热视频| 91福利免费视频| 亚洲精品无码av中文字幕| 国产麻豆va精品视频| 国产福利影院在线观看| 男女性午夜福利网站| 四虎综合网| 自拍偷拍欧美日韩| 99ri国产在线| 久久综合丝袜日本网| 99热这里只有精品国产99| 国产欧美性爱网|