个人普通增值税发票:Delphi 使用哈希表 (键值对 key)
来源:百度文库 编辑:中财网 时间:2024/05/10 06:44:36
在Borland Delphi中有一个THashedStringlist类,使用这个类可以实现Hash表的操作.使用这个类需要引用IniFiles单元.
例如:我们定义的数据结构是:
以下是引用片段:
MyHashTest = record
Key:Integer;
Name:String[20];
Sex:Boolean;
Age:Integer;
end;
PTest = ^MyHashTest ;
1:创建Hash表.
ScHash:=THashedStringlist.Create;
2:将数据结构加入Hash表中.
var
Index:Integer;
p_Test:PTest;
Index:=ScHash.IndexOf(IntToStr(p_Test.Key));
if Index=-1 then
begin
ScHash.AddObject(IntToStr(p_Test.Key),TObject(Integer(p_Test)));
end;
在加入Hash表的时候,首先我们检查看这个Key是否在Hash表中,如果Index=-1则说明此Key不在Hash表中,则我们将这个结构指针加入到Hash表中.
3:将数据结构从Hash表中删除.
以下是引用片段:
var
Index:Integer;
t_Object: TObject;
Index:=ScHash.IndexOf(IntToStr(p_Test.Key));
if Index <>-1 then
begin
t_Object:=ScHash.Objects[Index];
ScHash.Delete(Index);
end;
4:删除Hash表
在删除Hash表的时候和一般的Tlist删除一样,使用Free.
ScHash.Free;