Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Цитата kaster:
1. у меня выходные файлы пусты
2. ипы повторяются на выходе. если в логфайле повторяющихся ипов 3, то на выходе будем иметь тоже 3 ипа, что не очень удобно, как мне кажется. лучше заносить по одному для каждого повтора. »
Насчет 1. не знаю, у меня в оба файла информация пишется.
2. Добавил проверку, чтобы в ПовтряющиесяIP.txt IP только по одному разу добавлялся.
Код: Выделить весь код
#include <file.au3>
#include <Array.au3>

Dim $a_StringOne[1], $a_StringNoOne[1], $a_String
$sPathOld = @ScriptDir & '\log.txt'
$sPathOne = @ScriptDir & '\ОригинальныеIP.txt'
$sPathNoOne = @ScriptDir & '\ПовтряющиесяIP.txt'
FileOpen($sPathOld, 0)
FileOpen($sPathOne, 2)
FileOpen($sPathNoOne, 2)
_FileReadToArray($sPathOld, $a_String)

For $i = 1 To UBound($a_String) - 1
    $s_StringIP = StringMid($a_String[$i], StringInStr(StringStripWS($a_String[$i], 2), _
            " ", 1, -1) + 1, StringLen($a_String[$i]))
    _ArraySearch($a_StringOne, $s_StringIP)
    If @error = 6 Then
        _ArrayAdd($a_StringOne, $s_StringIP)
        FileWriteLine($sPathOne, $s_StringIP)
    Else
        _ArraySearch($a_StringNoOne, $s_StringIP)
        If @error = 6 Then
            _ArrayAdd($a_StringNoOne, $s_StringIP)
            FileWriteLine($sPathNoOne, $s_StringIP)
        EndIf
    EndIf
Next
$vIP_One = UBound($a_StringOne) - 1
$vIP_NoOne = UBound($a_StringNoOne) - 1
MsgBox(0, "", "Оригинальных IP: " & $vIP_One & @CRLF & "Повторяющихся IP: " & $vIP_NoOne)
_ArrayDisplay($a_StringOne, "Только оригинальные IP")
_ArrayDisplay($a_StringNoOne, "Эти IP повторяются")

Отправлено: 19:04, 11-02-2010 | #6