Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите перевести код с С на делфи, ХЕЛП 
:(
    Опции темы
vasea
Дата 30.3.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



void CRC_16_R(unsigned short usDataLen)

{

unsigned char n ;

unsigned char h ;

CRC_Read_HB = 0xFF ;

CRC_Read_LB = 0xFF ;

for(n = 0; n < usDataLen; n = n + 1)

{

CRC_Read_LB = CRC_Read_LB ^ inbuf[n] ;

for(h = 0; h < 8; h = h + 1)

{

if((CRC_Read_LB & 0x001) == 0)

{

CRC_Read_LB = CRC_Read_LB>>1;

if((CRC_Read_HB & 0x001) != 0)

CRC_Read_LB = CRC_Read_LB | 0x080;

CRC_Read_HB = CRC_Read_HB>>1;

}

else

{

CRC_Read_LB = CRC_Read_LB>>1;

if((CRC_Read_HB & 0x001) != 0)

CRC_Read_LB = CRC_Read_LB | 0x080;

CRC_Read_HB = CRC_Read_HB>>1;

CRC_Read_HB = CRC_Read_HB ^ 0x0A0 ;

CRC_Read_LB = CRC_Read_LB ^ 0x001 ;

}

}

}

return;

}
етот код мне надо перевести на делфи
а я не шарю в делфи помогите пожалуйста
PM MAIL   Вверх
Alexeis
Дата 30.3.2006, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



vasea, нужно пользоваться кнопочкой код для приведения кода в читабельный вид


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
vasea
Дата 30.3.2006, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



не знал!!!
Добавлено @ 15:39
Код

void CRC_16_R(unsigned short usDataLen)                                      
{                                                                          
    unsigned char n ;                                                  
    unsigned char h ;                                                     
    CRC_Read_HB = 0xFF ;                                           
    CRC_Read_LB = 0xFF ;                                             
    for(n = 0; n < usDataLen; n = n + 1)                                   
     {                                                                     
      CRC_Read_LB = CRC_Read_LB ^ inbuf[n] ;                          
      for(h = 0; h < 8; h = h + 1)                                           
       {                                                                      
        if((CRC_Read_LB & 0x001) == 0)                                       
         {                                                                  
          CRC_Read_LB = CRC_Read_LB>>1;                                    
          if((CRC_Read_HB & 0x001) != 0)                                    
           CRC_Read_LB = CRC_Read_LB | 0x080;                                
          CRC_Read_HB = CRC_Read_HB>>1;                                       
         }                                                                   
        else                                                                 
         {                                                                   
          CRC_Read_LB = CRC_Read_LB>>1;                                      
          if((CRC_Read_HB & 0x001) != 0)                                     
           CRC_Read_LB = CRC_Read_LB | 0x080;                                 
          CRC_Read_HB = CRC_Read_HB>>1;                                        
          CRC_Read_HB = CRC_Read_HB ^ 0x0A0 ;                                
          CRC_Read_LB = CRC_Read_LB ^ 0x001 ;                                
         }                                                                    
       }                                                                    
     }                                                                       
    return;                                                                   
}

PM MAIL   Вверх
Alexeis
Дата 30.3.2006, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Вроде вот так
на сколько мне позволяют знания в С++
Код

var
  CRC_Read_HB : Word = $FF;
  CRC_Read_LB : Word = $FF;

procedure CRC_16_R(usDataLen : Word);
var
  n, h : byte;
Begin
  for n := 0 to usDataLen - 1
  do
    Begin
      if(CRC_Read_LB and $001) = 0
      then
        Begin
          CRC_Read_LB := CRC_Read_LB shr 1;
          if (CRC_Read_HB and $001) <> 0
          then
           CRC_Read_LB := CRC_Read_LB or $080;

          CRC_Read_HB := CRC_Read_HB shr 1;
        end
      else
       Begin
         CRC_Read_LB := CRC_Read_LB shr 1;

          if(CRC_Read_HB and $001) <> 0
          then
          CRC_Read_LB := CRC_Read_LB or $080;

          CRC_Read_HB := CRC_Read_HB shr 1; 
          CRC_Read_HB := CRC_Read_HB XOR $0A0 ;
          CRC_Read_LB := CRC_Read_LB XOR $001 ;    
       end;
    end;
end;


Добавлено @ 15:48
>> сдвиг влево или вправо?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Yanis
Дата 31.3.2006, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(alexeis1 @ 30.3.2006, 15:45 Найти цитируемый пост)
>> сдвиг влево или вправо?

А по логике вещей не догадываешься? Вправо smile


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0462 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.