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