![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перевод заголовочного файла С [D7, WinXP]
Alex_KV © (2005-12-16 11:31:00)Здравствуйте!
Вот перевожу заголовочный С-файл на 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;
Alex_KV (2005-12-16 12:48:00) [1]to han_malign ©
Спасибо!
А как разобраться со внутренними #define в структуре?
han_malign (2005-12-16 11:55:00) [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;
Dmitrij_K (2005-12-16 11:42:00) [3]есть такая программа c2pas
чем не устраивает?