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

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

Googler


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

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


NikLok
Цитата:
случайно кода для tftp сервера нету у Вас. А так же и binlsrv.py из пакета Ris-linux »
не понял вопроса - все указанные пакеты идут в исходниках

HORRIBLE
все не так просто - для текстового представления чисел предназначена ф-ция StringFormat(), но AutoIT штатно поддерживает только представления по основанию 16 и 8, для других оснований придется ваять UDF, как один из вариантов:
Код: Выделить весь код
ConsoleWrite(_Bin(301) & @CRLF)

Func _Bin($iNumber)
    If Not IsInt($iNumber) Then Return SetError(1, 0, "")
    Local $sHex = StringFormat("%X",$iNumber), $sBin = ""
    Local Const $aHexToBin[16] = ["0000","0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"]
    For $i=1 To StringLen($sHex)
        $sBin &= $aHexToBin[Dec(StringMid($sHex,$i,1))]
    Next
    Return StringRegExpReplace($sBin, "^0+", "")
EndFunc
ADD: Более "продвинутый" вариант:
Код: Выделить весь код
ConsoleWrite(_Bin(301) & @CRLF)

Func _Bin($iNumber)
    If Not IsInt($iNumber) Then Return SetError(1, 0, "")
    Local $sBin = ""
    If $iNumber>0 Then
        While $iNumber
            $sBin = BitAND($iNumber,1) & $sBin
            $iNumber = BitShift($iNumber,1)
        WEnd
        Return $sBin
    ElseIf $iNumber<0 Then
        For $i=1 To 32
            $sBin = BitAND($iNumber,1) & $sBin
            $iNumber = BitRotate($iNumber, -1, "D")
        Next
        Return $sBin
    EndIf
    Return "0"
EndFunc

Последний раз редактировалось amel27, 05-05-2008 в 09:39.

Это сообщение посчитали полезным следующие участники:

Отправлено: 03:21, 05-05-2008 | #480