請問Delphi 是不是沒有 template? |
答題得分者是:Coffee
|
anumis
一般會員 ![]() ![]() 發表:25 回覆:27 積分:15 註冊:2006-07-14 發送簡訊給我 |
|
老大仔
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
|
anumis
一般會員 ![]() ![]() 發表:25 回覆:27 積分:15 註冊:2006-07-14 發送簡訊給我 |
|
老大仔
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
以下是HELP的解說:
Points to a custom template for the dialog. Delphi syntax: property Template: PChar; C syntax: __property char * Template = {read=FTemplate, write=FTemplate}; Description Template points to a resource identifier (a null-terminated string or an integer created with MAKEINTRESOURCE) that identifies a Windows dialog resource in the current HInstance module. The Execute method uses this resource to customize the appearance of the dialog. ****** 另外以下兩篇不知道是不是您要的東西? http://www.dummzeuch.de/delphi/object_pascal_templates/english.html http://www.wangchao.net.cn/bbsdetail_27626.html 供參考~ |
anumis
一般會員 ![]() ![]() 發表:25 回覆:27 積分:15 註冊:2006-07-14 發送簡訊給我 |
|
Coffee
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
Help指的是使用resource file的元件,而你指的是"C++"中的template,這兩者是完全不一樣的東西。
C 的template指的是讓演算法泛型化,盡可能的不受限於任何型態,只要該型態可以滿足此演算法操作的必要條件即可。 如「排序」演算法的必要條件就是「可以比較大小」的型態。所以只要傳入可以比較大小的型態,排序的template就可以把傳入的數據進行排序,從而達到程式碼的重用。 就我所知,Delphi是不支援template,所以必須要像C的作法,在實作某個特定演算法時,由呼叫方傳入必要的條件。 如TStringList,它就有提供CustomSort這個method讓你傳入一個fuction pointer作以知道如何去比較存在此TStringList中的物件。 要說template像interface其實不對,但template滿足的條件確實必須有類似interface的條件,比如說在Java裡,為了讓自訂的類別可以被Compare,自訂類別本身需要去實作Comparable這個interface.
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。 為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。 在引述到我的文時自然會儘量替各位想辦法,謝謝大家! |
anumis
一般會員 ![]() ![]() 發表:25 回覆:27 積分:15 註冊:2006-07-14 發送簡訊給我 |
|
Coffee
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
http://www.wangchao.net.cn/bbsdetail_27626.html
這個作法我認為不能算是template,因為它的型態將會必須受限於繼承自TAbstractTemplateClass,這樣的作法比較像是interface(其實也是繼承的目標之一),所有人都必須受TAbstractTemplateClass public member method的「約定」 http://www.dummzeuch.de/delphi/object_pascal_templates/english.html 這個作法就我初步的了解則需要事先對程式碼進行修改,且每一個型態需要一份程式碼的支援。
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。 為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。 在引述到我的文時自然會儘量替各位想辦法,謝謝大家! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |