Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
ВнизХелп, люди... Найти похожие ветки
← →
Digitman (2002-03-04 11:36) [13]
type
PTrafficReport = ^TTrafficReport;
TTrafficReport = packed record
SrcIP: DWord;
DstIP: Dword;
Size: Int64;
end;
var
TrafficData: TList; //исходный список указателей на записи типа TTrafficReport;
TotalTrafficData: TList; //результирующий список
...
function FindTotalTrafficRecord(ASrcIp, ADstIp: DWord): PTrafficReport;
var
i: Integer;
p: PTrafficReport;
begin
Result:= nil;
for i:= 0 to TotalTrafficData.Count - 1 do begin
p := TotalTrafficData.Items[i];
if (p.SrcIp = ASrcIp) and (p.DstIp = ADstIp) then begin
Result:= p;
break;
end;
end;
end;
var
i: Integer;
SIp, DIp: DWord;
Sz: Int64;
p: PTrafficReport;
for i:= 0 to TrafficData.Count - 1 do begin
with PTrafficReport(TrafficData.Items[i])^ do begin
SIp := SrcIp;
DIp := DstIp;
Sz := Size;
end;
p:= FindTotalTrafficRecord(SIp, DIp);
if not Assigned(p) then begin
New(p);
p.SrcIp := SIp;
p.DstIp := DIp;
p.Size := 0;
TrafficData.Add(p);
end;
p.Size := p.Size + Sz;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c