Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
1-57439
Plumbum
2002-03-03 00:27
2002.03.18
Как конвертировать компоненту из D4 в D6?


14-57494
Builder
2002-01-31 15:46
2002.03.18
Распостранение Компонентов.


7-57533
MAG
2001-12-16 02:08
2002.03.18
Привет Мастера !!!


6-57473
Vlad____
2001-12-29 18:16
2002.03.18
про анонимные прокси....


1-57379
Kozhanov
2002-03-01 11:44
2002.03.18
Про Handle...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский