Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: CL | DM;

Вниз

Перевод заголовочного файла С   Найти похожие ветки 

 
Alex_KV   (2005-12-16 11:31) [0]

Здравствуйте!
Вот перевожу заголовочный С-файл на Delphi.
Но одну структура никак не могу расшифровать.
Буду благодарен за помощь.
struct _kv_pair {
 TKVType type;
 char *key;
 int length;  /* length of the value (in packed format) */
 union {
   char *_string_value;
   int _int_value;
   unsigned char *_binary_value;
   struct kv_list *_list_value;
   void *_p;  /* details of Unicode representation are hidden */
 } _value;
#define string_value _value._string_value
#define int_value _value._int_value
#define binary_value _value._binary_value
#define list_value _value._list_value
 struct _kv_pair *kv_next;
 struct _kv_pair *kv_prev;
};
typedef struct _kv_pair TKVPair;


 
Dmitrij_K   (2005-12-16 11:42) [1]

есть такая программа c2pas
чем не устраивает?


 
han_malign ©   (2005-12-16 11:55) [2]

struct _kv_pair
..................
  union {
      char *_string_value;
      int _int_value;
      unsigned char *_binary_value;
      struct kv_list *_list_value;
      void *_p;  /* details of Unicode representation are hidden */
  } _value;
  struct _kv_pair *kv_next;
  struct _kv_pair *kv_prev;
}

----------------------------------------
примерно так:
TValue: packed record
case byte of
  0: (_string_value: PChar);
  1: (_int_value: integer);
  2: (_binary_value: PByte);
  3: (_list_value: PKv_List);
  4: (_p: pointer);
end;

PKVPair = ^TKVPair;
TKVPair = packed record
..................
  _value: TValue;
  kv_next: PKVPair;
  kv_prev: PKVPair;
end;


 
Alex_KV   (2005-12-16 12:48) [3]

to han_malign ©
Спасибо!
А как разобраться со внутренними #define в структуре?



Страницы: 1 вся ветка

Текущий архив: 2006.01.22;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.11 c
9-1123498084
Дюша
2005-08-08 14:48
2006.01.22
OpenGl в Delphi


4-1131563002
Варяг
2005-11-09 22:03
2006.01.22
Доступ к реестру средствами API


14-1136009895
begin...end
2005-12-31 09:18
2006.01.22
С Днём рождения! 31 декабря


2-1136544210
Bopros
2006-01-06 13:43
2006.01.22
Маленькой приложение с Build with runtime packages


14-1135538589
Ihor Osov'yak
2005-12-25 22:23
2006.01.22
Есть пробел в знаниях.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский