读书人

Delphi6中怎么使用Dictionary

发布时间: 2012-04-26 14:01:31 作者: rapoo

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;
[解决办法]
探讨
Delphi6?Dictionary?
不能用TStringList来实现吗?


Delphi(Pascal) code
var
SS: TStringList;
begin
SS := TStringList.Create;
try
SS.Add('111=abc');
SS.Add('112=def');
//……
Sho……

[解决办法]
最简单的hash是TStrings,但是TStrings没有排序,所以IndexOf比较慢,而它的子类TStringList具有Stored属性,设置为True之后,IndexOf是用折半查找的,效率很高。
而且它也是可以保存object的哦
[解决办法]
探讨

这些容器都不支持遍历,头疼。

读书人网 >.NET

热点推荐