Имя пользователя:
Пароль:
 

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

Аватара для kaster

Старожил


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

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


вот код добавляет трекер указанный в переменной $sNewTracker в общий список трекеров. если изначально в торрент-файле был всего один трекер то создает список трекеров из основного трекера и указанного трекера. если трекеров было изначально несколько то добавляет указанный в список последним
Код: Выделить весь код
$sPath = "d:\tor1.torrent"
$hFile =  FileOpen($sPath, 0)
$sLine = FileRead($hFile, 11); Read d8:announce
$sNewTracker = 'http://mynewtrack.tr/passkey'
$iTrackerSize = _SizeFinder($hFile)
$sLine &= $iTrackerSize & ':'
$sMainTracker = FileRead($hFile, $iTrackerSize)
$sLine &= $sMainTracker
$sDigit = Number(FileRead($hFile, 2))
If $sDigit = 10 Then
    $sLine &= '13:announce-listll'
    $sLine &= $iTrackerSize & ':'
    $sLine &= $sMainTracker
    $sLine &= 'el'
    $sLine &= StringLen($sNewTracker) & ':'
    $sLine &= $sNewTracker
    $sLine &= 'ee' & $sDigit
    $sLine &= FileRead($hFile)
ElseIf $sDigit = 13 Then
    $sLine &= $sDigit
    $sLine &= FileRead($hFile, 16)
    $sLine &= FileRead($hFile, StringLen($iTrackerSize) + 1)
    $sLine &= FileRead($hFile, $iTrackerSize)
    While 1
        $sID = FileRead($hFile, 2)
        If $sID = 'ee' Then ExitLoop
        $sLine &= $sID
        $iSize = _SizeFinder($hFile)
        $sLine &= $iSize & ':'
        $sLine &= FileRead($hFile, $iSize)
    WEnd
    $sLine &= 'el'
    $sLine &= StringLen($sNewTracker) & ':'
    $sLine &= $sNewTracker
    $sLine &= $sID
    $sLine &= FileRead($hFile)
EndIf

ConsoleWrite($sLine & @CRLF)
FileWrite('d:\tor8.torrent', $sLine)

Func _SizeFinder(ByRef $hFile)
    $sDigit = ''
    While 1
        $tmp = FileRead($hFile, 1); Read 1st digit for tracker name size
        If $tmp = ':' Then ExitLoop
        $sDigit &= $tmp
    WEnd
    Return Number($sDigit)
EndFunc

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru


Последний раз редактировалось kaster, 17-04-2010 в 19:49.


Отправлено: 19:35, 17-04-2010 | #5