全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2719
推到 Plurk!
推到 Facebook!

請問Delphi 是不是沒有 template?

答題得分者是:Coffee
anumis
一般會員


發表:25
回覆:27
積分:15
註冊:2006-07-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-10-29 09:11:09 IP:61.218.xxx.xxx 訂閱

最近要轉學C, 在看template時, 才發覺Delphi 似乎沒有template機制?

google 也查不出看的懂的資料 LOL

所以上來問問, Delphi 有無Template?
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-10-29 09:46:35 IP:59.120.xxx.xxx 未訂閱
請在Delphi的HELP中輸入template即有說明~

供參考~
編輯記錄
老大仔 重新編輯於 2009-10-29 09:52:15, 註解 無‧
老大仔 重新編輯於 2009-10-29 09:52:34, 註解 無‧
anumis
一般會員


發表:25
回覆:27
積分:15
註冊:2006-07-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-10-29 10:14:41 IP:61.218.xxx.xxx 訂閱
我一開始也是這麼想的,查HELP

結果發現Help 開不起來

好像是更新IE後的問題....

有其他線上HELP嗎?



感謝 :D
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-10-29 10:24:35 IP:59.120.xxx.xxx 未訂閱
以下是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

供參考~
編輯記錄
老大仔 重新編輯於 2009-10-29 10:25:17, 註解 無‧
老大仔 重新編輯於 2009-10-29 10:25:41, 註解 無‧
老大仔 重新編輯於 2009-10-29 10:35:28, 註解 無‧
anumis
一般會員


發表:25
回覆:27
積分:15
註冊:2006-07-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-10-29 11:36:45 IP:61.218.xxx.xxx 訂閱

感謝 :D

昨天也有翻到這2篇,只是看不太懂

看起來template有點像Interface?
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-10-29 12:07:38 IP:59.124.xxx.xxx 訂閱
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.

------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
編輯記錄
Coffee 重新編輯於 2009-10-29 12:13:47, 註解 無‧
Coffee 重新編輯於 2009-10-29 12:46:35, 註解 無‧
anumis
一般會員


發表:25
回覆:27
積分:15
註冊:2006-07-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-10-29 13:01:00 IP:61.218.xxx.xxx 訂閱

了解了, 感謝版主的解說 :D

也感謝 老大仔 版友的熱心回答


不過就答案來看,是版主說的才對,所以結案就選版主囉
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-10-29 13:07:26 IP:59.124.xxx.xxx 訂閱
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
這個作法就我初步的了解則需要事先對程式碼進行修改,且每一個型態需要一份程式碼的支援。
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
系統時間:2024-04-25 21:54:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!