Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.18;
Скачать: CL | DM;

Вниз

Хелп, люди...   Найти похожие ветки 

 
Michael C   (2002-03-04 10:03) [0]

Есть набор IP адресов, которые надо записать в массив, и сравнить их с другим набором чисел(это размеры), если IP адрес повторяется то сложить размер с пред. размером этого IP адреса ...немного непонятно, но я сам уже все......


 
Digitman ©   (2002-03-04 10:16) [1]

что есть "размер IP-адреса" ?


 
Michael C   (2002-03-04 10:20) [2]

Каждому IP, из этого набора соответствует опред. размер, грубо

ххх.ххх.хх.хх 1240
ххх.хх.ххх.хх 580


 
ProgMan ©   (2002-03-04 10:21) [3]

Не мучайся, посчитай в Excel"е!


 
Digitman ©   (2002-03-04 10:29) [4]

Не то что "немного непонятно" - совершенно непонятно, о каком таком "размере" ты речь ведешь.
Что это такое - "размер" ? Что и как у тебя измерялось, в рез-те чего начало фигурировать понятие "размер" чего-то там ? В каких единицах это самый "размер" измерялся ?


 
Michael C   (2002-03-04 10:39) [5]

Значить, так, DigitMan вся надежда на тебя:
Веду выборку из файла, выбираю столбцы с Source IP, c Dest IP и c Size. Выбрал. Далее, Source IP, может повторяться, так вот надо все одинаковые S IP и D IP, выбрать и сложить их значения Size...
тока не пинай, понедельник тяжел как никогда...


 
Sasha9 ©   (2002-03-04 10:51) [6]

что-то я не догоняю......... может приведёшь фрагмент из файла с S IP, D IP и Size


 
Digitman ©   (2002-03-04 10:51) [7]

SELECT DstIP, SrcIP, Sum(Size) AS TotalSize
FROM TrafficTable
GROUP BY xxx.DstIP, xxx.SrcIP;


 
Michael C   (2002-03-04 10:59) [8]

Вот фрагмент
Source IP address Dest IP address Size
217.73.192.19 192.168.33.55 971
192.168.33.55 217.73.192.19 60
192.168.33.55 217.73.192.19 60
195.34.32.68 192.168.33.55 62



 
Sasha9 ©   (2002-03-04 11:06) [9]

обрезай строку до последнего пробела (copy,pos,delete) и складывай оставшийся size с помощью strtoint


 
Michael C   (2002-03-04 11:15) [10]

Просто мне требуется, код
адрес источника равно номер элемента массива.
А дальше я сам


 
Shaman_Naydak ©   (2002-03-04 11:27) [11]

>> ProgMan
Мда, Просто нету слов!
>> Michael C
А в чем проблема-то? Digitman привел абсолютно правильное решение.
Или проблема в том, чтобы из текстового файл считать, разложив каждую строчку по полям структуры?


 
Michael C   (2002-03-04 11:30) [12]

Вот именно, требуется подсчитать траффик для каждого адреса.
И вопрос group by , именно это и сделает??


 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
1-57396
Ig
2002-02-28 15:48
2002.03.18
Есть у кого доки по GLScene на русском?


1-57420
Лана Розанова
2002-03-02 21:00
2002.03.18
Конвертация


1-57423
Budhha
2002-03-03 01:56
2002.03.18
Проблема с Dsgnintf.dcu


3-57301
Labert
2002-02-19 10:23
2002.03.18
ExecProc подвешивает программу


4-57579
Delphimun
2002-01-09 13:08
2002.03.18
Как мне отаслать почту средствами модуля System и API?