powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите преобразовать
5 сообщений из 5, страница 1 из 1
Помогите преобразовать
    #34157693
Andrey Pogorelov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Есть код на Си необходимо перевести его на Delphi, очень нужно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
long crc_octets_shift (char *octets, int len) 
{ 
long crc = CRC24_INIT; 
long temp; 
int i; 
  while (len--)
  { 
    temp = *octets++;
    temp <<=  8 ;
    temp <<=  8 ;
    crc ^= temp; 
    for (i =  0 ; i <  8 ; i++)
    { 
      crc <<=  1 ; 
      if (crc & 0x01000000) 
      crc ^= CRC24_POLY; 
    }
  } 
  crc &= 0x00ffffffL; 
  return crc; 
} 
...
Рейтинг: 0 / 0
Помогите преобразовать
    #34157733
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите преобразовать
    #34157790
Andrey Pogorelov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это код на Delphi ??? Прошу о помоши.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
long crc_octets_shift (char *octets, Integer len) 
begin 
long crc := CRC24_INIT; 
long temp; 
Integer i; 

  while (len--) do 
  begin 
    temp := *octets++;
    temp << :=  8 ;
    temp << :=  8 ;
    crc ^ := temp; 
    for (i :=  0 ; i <  8 ; i++)
    begin 
      crc << :=  1 ; 
      if (crc (* C2PAS: RefOrBit? *)& 0x01000000) then 
      crc ^ := CRC24_POLY; 
    end; 
  end; 

  crc (* C2PAS: RefOrBit? *)& := 0x00ffffffL; 
  (* C2PAS: Exit *) Result := crc; 
end;
...
Рейтинг: 0 / 0
Помогите преобразовать
    #34159770
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey PogorelovЭто код на Delphi ??? Прошу о помоши.
Круто.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
function crc_octets_shift (octets: PChar; len: integer): Longint;
var i: integer;
begin
  Result:=CRC24_INIT;
  while(len> 0 ) do 
  begin
     dec(len);
     Result:=Result xor (ord(octets^) shl  16 );
     inc(octets);
     for i:= 0  to  7  do
     begin
        Result:=Result shl  1 ;
        if (Result and $ 1000000 )<> 0  then
           Result:=Result xor CRC24_POLY; 
     end;
  end;
  Result:=Result and $ffffff;
end;
...
Рейтинг: 0 / 0
Помогите преобразовать
    #34160605
Andrey Pogorelov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, все работает.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите преобразовать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]