2013-01-18 236 views
1

在delphi中,我想創建一個新的類型(機器)來複制TShape。主要是由於想要添加更多的程序和功能。例如我可以做這樣的事情創建一個新類型

Machine.type('402') 

它會繪製形狀,但具有定義的高度/寬度。 和這樣的

Machine.before('Microclean'); 

它會知道把形狀放在哪裏。

所以..兩部分問題。
1.正在製作一種新型的聲音嗎? 2.我如何製作一個新的空白類型,因此作爲它自己的單位並且可以添加我的新程序呢?

感謝 格倫

+0

爲什麼'Machine.type('402')'而不是'Machine.type(402)'?爲什麼字符串而不是數字?如果有人叫'Machine.type('Zebra')'怎麼辦? –

+0

這是一個例子,但402是db –

回答

4

聽起來像是你需要一個新的類,從T形,繼承:

TMachine = class(TShape) 
public 
    procedure MyType(const AType: string); 
    procedure Before(const ABfore: string); 
end; 

然後,您可以爲這兩個程序提供的代碼。

請注意,你不能使用類型的過程名稱 - 這是一個保留字。此外,它是一個德爾福公約(但不是要求)爲類名前綴'T'

+1

中機器的名稱我更喜歡屬性。 – bummi

+0

@bummi - 爲什麼不呢?如果你願意的話,製作這些程序的財產設置者。 http://docwiki.embarcadero.com/RADStudio/XE3/en/Properties#Property_Access –

+0

也你原來的問題不顯示屬性。屬性應該用作'Machine.MyType:= 402;' –