|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Помогите пожалуйста перевести код с С на Delphi
Код:
void Decode_Code_DynamicData(unsigned char Divider, unsigned char LCounter, unsigned char HCounter, unsigned char SNumber,int Length, unsigned char* Data) { int k; int i; int j = LCounter+SNumber+5; j=j%0x10000; for (i=10;i<Length;i++) { k = j / Divider; k=k%256; Data[i]^=Polynom[k]; j+=(HCounter+SNumber+5); j=j%0x10000; } } |
#2
|
||||
|
||||
Код:
procedure Decode_Code_DynamicData(Divider:Byte; LCounter:Byte; HCounter:Byte; SNumber:Byte; Length:integer; Data:PByte) var k, i, j:integer; begin j:=LCounter+SNumber+5; j:=j mod $10000; for i:=10 to Length do begin k:=Round(j/Divider); k:=k mod 256; Data[i]:=Polynom[k]; j:=j+(HCounter+SNumber+5); j=j mod $10000; end; end; вот это Data[i]^ привело в замешательство, судя по этому в Delphi (без .NET) такого нет может еще что с типами в объявлении функции напутал, а в общем самому такое с помощью интернетов можно перевести поправил.... k типа integer, поэтому k:=Round(j/Divider); Понять, что хочет заказчик - бесценно, ведь он платит MasterCard Последний раз редактировалось cotseec, 18.07.2012 в 18:35. |
Этот пользователь сказал Спасибо cotseec за это полезное сообщение: | ||
movnet (18.07.2012)
|
#3
|
|||
|
|||
>вот это Data[i]^ привело в замешательство
на самом деле это xor Код:
Data[i]:= Data[i] xor Polynom[k]; |
Этот пользователь сказал Спасибо icWasya за это полезное сообщение: | ||
movnet (20.07.2012)
|