Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.07.2012, 15:07
Аватар для movnet
movnet movnet вне форума
Начинающий
 
Регистрация: 24.07.2008
Сообщения: 127
Версия Delphi: Delphi 7
Репутация: 23
Восклицание Помогите пожалуйста перевести код с С на 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  
Старый 18.07.2012, 18:16
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

Код:
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  
Старый 19.07.2012, 16:39
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

>вот это Data[i]^ привело в замешательство
на самом деле это xor
Код:
Data[i]:= Data[i] xor Polynom[k];
Ответить с цитированием
Этот пользователь сказал Спасибо icWasya за это полезное сообщение:
movnet (20.07.2012)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:41.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter