delphi – 如何快速清除简单类型的记录?
发布时间:2020-12-15 10:19:21 所属栏目:大数据 来源:网络整理
导读:我有一个这样定义的结构: const MaxSignalRecords=255;type TSignalRecord=record signal1 : integer; signal2 : integer; signal3 : integer; signal4 : integer; signal5 : integer; signal6 : integer; bsignal1 : Boolean; bsignal2 : Boolean; bsignal
我有一个这样定义的结构:
const MaxSignalRecords=255; type TSignalRecord=record signal1 : integer; signal2 : integer; signal3 : integer; signal4 : integer; signal5 : integer; signal6 : integer; bsignal1 : Boolean; bsignal2 : Boolean; bsignal3 : Boolean; bsignal4 : Boolean; bsignal5 : Boolean; bsignal6 : Boolean; end; TListSignals = Array[0..MaxSignalRecords-1] of TSignalRecord; 这种结构用于在这样的算法中进行数千计算: for i:=1 to 900000 do begin CleartheList(MyList); DotheMath(MyList); DotheChart(MyList); end; 我正在寻找一种快速的方式将我的TListSignals的值初始化为0和false。 现在我使用这个: procedure ClearListSignals(var ListSignals:TListSignals); var i :Integer; begin for i := 0 to MaxSignalRecords - 1 do with ListSignals[i] do begin signal1 :=0; signal2 :=0; signal3 :=0; signal4 :=0; signal5 :=0; signal6 :=0; bsignal1 :=false; bsignal2 :=false; bsignal3 :=false; bsignal4 :=false; bsignal5 :=false; bsignal6 :=false; end; end; 如何提高ClearListSignals过程的性能? 解决方法
您可以使用位于Windows单元中的ZeroMemory过程。
var MyList : TListSignals; begin ZeroMemory(@Mylist,SizeOf(MyList)); end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |