Delphi6中如何使用Dictionary?
- Delphi(Pascal) code
uses ComObj, ActiveX;procedure TForm1.btn1Click(Sender: TObject);var List: Variant; A: String;begin List := CreateOLEObject('Scripting.Dictionary'); List.Add(111, 'abc'); if List.Exists(111) then A := List.Item(111);//报错,对象不存在end;因为有一组数量很大的对象需要查找,所以我想在Delphi6中使用Dictionary,但Delphi6不带,在网上找到用Scripting.Dictionary,但怎么也用不了,求教?
如查有别的方法或单元,也请告知,谢谢。
[解决办法]
Delphi6?Dictionary?
不能用TStringList来实现吗?
- Delphi(Pascal) code
var SS: TStringList;begin SS := TStringList.Create; try SS.Add('111=abc'); SS.Add('112=def'); //…… ShowMessage(SS.Values['111']); ShowMessage(SS.Values['112']); finally FreeAndNil(SS); end;end;
[解决办法]
大量的数据为什么不用ThashedStringlist呢
- Delphi(Pascal) code
var SS: ThashedStringlist;begin SS := ThashedStringlist.Create; try SS.Add('111=abc'); SS.Add('112=def'); //…… ShowMessage(SS.Values['111']); ShowMessage(SS.Values['112']); finally FreeAndNil(SS); end;end;
[解决办法]
[解决办法]
最简单的hash是TStrings,但是TStrings没有排序,所以IndexOf比较慢,而它的子类TStringList具有Stored属性,设置为True之后,IndexOf是用折半查找的,效率很高。
而且它也是可以保存object的哦
[解决办法]