type
TIndentifier = class
private
FOldValue: string;
FNewValue: string;
FStoredValue: string;
public
constructor Create(const OldValue, NewValue, StoredValue: string);
property OldValue: string read FOldValue write FOldValue;
property NewValue: string read FNewValue write FNewValue;
property StoredValue: string read FStoredValue write FStoredValue;
end;
這是你的基類。您爲每個值使用它。那麼你有兩個選擇。你可以做這樣的:
var
Values: TStringList;
begin
Values.AddObject('SomeValue', TIndentifier.Create('OldValue', 'NewValue', 'StoredValue'));
這讓我想起了如何類似於瑞士軍刀是TStringList中:)。注意在舊版本的delphi中釋放對象,或者將TStringList設置爲最新版本中對象的所有者。
或者,如果你需要的不僅僅是名字越多,你可以有對象的列表:
type
TValue = class(TIndentifier)
private
FName: string;
public
property Name: string read FName write FName;
end;
var
Value: TValue;
Values: TObjectList;
begin
Value := TValue.Create('OldValue', 'NewValue', 'StoredValue');
Value.Name := 'SomeValue';
Values.Add(Value);
但我真的很喜歡在這樣的情況下是XML的力量。它節省了太多的代碼,但另一方面隱藏了聲明。用我的SimpleStorage你可以這樣做:
var
Value: IElement;
Storage: ISimpleStorage:
begin
Storage := CreateStorage;
Value := Storage.Ensure(['Values', 'SomeValue']);
Value.Ensure('OldValue').AsString := 'OldValue';
Value.Ensure('NewValue').AsString := 'NewValue';
Value.Ensure('StoredValue').AsString := 'StoredValue';
在什麼地方「//通脹記錄」部分的單位去了? – chendriksen 2010-04-13 09:58:22
在設備的型號部分 – gath 2010-04-13 10:09:02
解決了!記錄後,我拿走了分號。JIC任何人都有同樣的問題! – chendriksen 2010-04-13 10:27:59