Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] перевести с С на AutoIT (http://forum.oszone.net/showthread.php?t=173713)

JaguarSP 21-04-2010 15:25 1397734

перевести с С на AutoIT
 
Here is the C code -
Код:

static void PasswordDecode(char * szPassword)
{
char szEncode[1024];

char strDecodePass[_MAX_BUF_LEN + 1]={""}, strPass[_MAX_BUF_LEN + 1]={""};
strcpy(strDecodePass, szPassword);
for(unsigned int i = 0; i < strlen(strDecodePass)/3; i ++)
{
char szCode[_MAX_BUF_LEN + 1];
strcpy(szCode, strDecodePass + i * 3);
szCode[3] = 0;
int nCode = atoi(szCode);
nCode = 999 - nCode;
sprintf(szEncode, "%c", nCode);
strcat(strPass, szEncode);
}

strcpy(szPassword, strPass);

return;
};

надо понять что тут написанно на С и перевести на язык AutoIT...Или просто сказать процессы это скрипта а в автоит мб сам переведу...=)

amel27 23-04-2010 08:39 1399029

JaguarSP, только навскидку (надо сверять с результатом на Си):

последовательность цифр делится на подстроки по 3 символа, каждая из которых преобразуется в число, результат отнимается от 999, разница обрезается до 1 байта, который представляет ASCII код символа результирующей строки

Код:

$sPass = "12345678901234567890"
ConsoleWrite($sPass &@CRLF)
ConsoleWrite(PasswordDecode($sPass) &@CRLF)

Func PasswordDecode($sPassword)
    Local $sEncode = ""
    For $i=1 To StringLen($sPassword) Step 3
        $sEncode &= Chr(BitAND(999 - Number(StringMid($sPassword, $i, 3)), 0xFF))
    Next
    Return
$sEncode
EndFunc



Время: 18:25.

Время: 18:25.
© OSzone.net 2001-