Delphi 6中是否有原生的映射实现(将键映射到值和对象)-迄今为止互联网没有提供任何帮助。我刚刚接手了一个Delphi项目,我的背景是C ++和Java,以前的Delphi项目开发人员线性搜索所有内容。
谢谢。
Delphi 6中是否有原生的映射实现(将键映射到值和对象)-迄今为止互联网没有提供任何帮助。我刚刚接手了一个Delphi项目,我的背景是C ++和Java,以前的Delphi项目开发人员线性搜索所有内容。
谢谢。
根据您的实际需求,您可能需要使用TStringList对象。
MyStringlist.Values['apple'] := 'round looking fruit';
进行赋值,使用 S := MyStringlist.Values['apple'];
进行读取。 - mjnaString := TStringHash.Create;
aString['color'] := 'blue';
ShowMessage(aString.Items['color']); // blue
或者对象:
aObj := TObjectHash.Create;
aObj['color'] := TBlueClass.Create;
bcBlue:=(aObj.Items['color'] as TBlueClass);
ShowMessage(bcBlue.Name); // Blue (supposing the TBLusClass as a Name property...
希望这对你和我一样有用。
顺便说一句,我认为Ares AudioGalaxy项目也在使用它。
您必须使用StringList的Object指针来存储所需的所有信息(第二个字符串)。
此致敬意。
Jedi Code Library 包含一些高级容器类。例如,接口在 JclContainerIntf.pas 中声明:
IJclMap = interface(IJclContainer)
['{A7D0A882-6952-496D-A258-23D47DDCCBC4}']
procedure Clear;
function ContainsKey(Key: TObject): Boolean;
function ContainsValue(Value: TObject): Boolean;
function Extract(Key: TObject): TObject;
function GetValue(Key: TObject): TObject;
function IsEmpty: Boolean;
function KeyOfValue(Value: TObject): TObject;
function KeySet: IJclSet;
function MapEquals(const AMap: IJclMap): Boolean;
procedure PutAll(const AMap: IJclMap);
procedure PutValue(Key, Value: TObject);
function Remove(Key: TObject): TObject;
function Size: Integer;
function Values: IJclCollection;
property Items[Key: TObject]: TObject read GetValue write PutValue;
{$IFNDEF BUGGY_DEFAULT_INDEXED_PROP} default; {$ENDIF ~BUGGY_DEFAULT_INDEXED_PROP}
end;