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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.11.2021, 02:40
Delphi_RTTI Delphi_RTTI вне форума
Прохожий
 
Регистрация: 30.11.2021
Адрес: Киев
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
Стрелка Перевод кода функции с языка С на Delphi

Всем привет!
Пожалуйста помогите с переводом :
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
int base45_decode(unsigned char * dst,
                  size_t * _max_dst_len,
                  const char * src,
                  size_t src_len)
{
  size_t out_len = 0, max_dst_len;
  max_dst_len = _max_dst_len  ? *_max_dst_len : src_len;
 
  if (dst == NULL && _max_dst_len == NULL)
    return -2;
 
  if (src == NULL)
    return -2;
 
  if (src_len == 0)
    src_len = strlen(src);
 
  for(int i = 0; i < src_len; i+=3)
  {
     int x,a,b;
 
     if (src_len - i < 2)
    return -1;
 
     if ((255 == (a = _C2I[src[i]])) || (255 == (b = _C2I[src[i+1]])))
    return -1;
 
     x = a + 45 * b;
 
     if (src_len - i >= 3)
     {
        if (255 == (a = _C2I[src[i+2]]))
        return -1;
 
        x += a * 45 * 45;
 
        if (out_len < max_dst_len && dst)
            dst[out_len] = x / 256;
        out_len++;
    x %= 256;
    };
 
    if (out_len < max_dst_len && dst)
        dst[out_len] = x;
 
    out_len++;
  };
  if (_max_dst_len)
    *_max_dst_len = out_len;
 
  return 0;
}

Последний раз редактировалось Admin, 30.11.2021 в 19:38.
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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