Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
virtuhay266
12 / 11 / 1
Регистрация: 28.05.2009
Сообщений: 56
#1

C++ в Delphi - C++

06.12.2010, 00:14. Просмотров 333. Ответов 4
Метки нет (Все метки)

Всем привет!Проблема такова - есть код на с++, очень нужно преобразовать его в паскаль. Си я знаю плохо, поэтому на преобразование может потребоваться приличное время.
C++
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
typedef struct _ATTR_RECORD
{
/*0x00*/        ATTR_TYPES type; //тип атрибута
/*0x04*/        USHORT length; //длина заголовка; используется для перехода к //следующему   атрибуту
/*0x06*/        USHORT Reserved;
/*0x08*/        UCHAR non_resident; //1 если атрибут нерезидентный, 0 - резидентный
/*0x09*/        UCHAR name_length; //длина имени атрибута, в символах
/*0x0A*/        USHORT name_offset; //смещение имени атрибута, относительно заголовка 
                                          //атрибута
/*0x0C*/        USHORT flags; //флаги, перечислены в ATTR_FLAGS
/*0x0E*/        USHORT instance; 
 
        union
        {
                //Резидентный атрибут
                struct
                {
/*0x10*/        ULONG value_length; //размер, в байтах, тела атрибута
/*0x14*/        USHORT value_offset; //байтовое смещение тела, относительно заголовка 
  //атрибута
/*0x16*/        UCHAR resident_flags; //флаги, перечислены в RESIDENT_ATTR_FLAGS
/*0x17*/        UCHAR reserved;
                } r;
                //Нерезидентный атрибут
                struct 
                {
/*0x10*/        ULARGE_INTEGER lowest_vcn;
/*0x18*/        ULARGE_INTEGER highest_vcn;
/*0x20*/        USHORT mapping_pairs_offset;//смещение списка отрезков 
/*0x22*/        UCHAR compression_unit; 
/*0x23*/        UCHAR reserved1[5]; 
/*0x28*/        ULARGE_INTEGER allocated_size; //размер дискового пространства, 
 //которое было выделено под тело
 //атрибута
/*0x30*/        ULARGE_INTEGER data_size; //реальный размер атрибута
/*0x38*/        ULARGE_INTEGER initialized_size;
                } nr;
        } u;
} ATTR_RECORD, *PATTR_RECORD;
В основном, не очень понятна работа ключевого слова union.
Заранее спасибо!

Добавлено через 1 час 23 минуты
Хотя бы просто объясните работу union, а то толковой информации я не нашел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2010, 00:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос C++ в Delphi (C++):

Что лучше брать Delphi XE2, Delphi XE, Delphi 7? - Delphi
Привет форумчане! У меня вопрос: что лучше брать Delphi XE2, Delphi XE, Delphi 7? Как вообще различаются серия Delphi XE, и Delphi 7?

Какие отличия Delphi 5, Delphi 6 и Delphi 7 - Delphi
Кто-нибудь юзал Delphi 6? Если да, то напишите, плиз, его отличия от 5-ой версии (плюсы и минусы) Кстати, никто не слышал ничего о Delphi...

ZipForge для Delphi Xe - интерфейс стал выглядеть как в Delphi 2007 - Delphi
Народ!!! Помоготи!!! Установил компонент ZipForge для Delphi Xe и после этого интерфейс моей программы стал таким, как будто я его в delphi...

Как в Lazarus сделать интерфейс Delphi 2006 вместо Delphi 7? - Lazarus
Добрый вечер! Подскажите пожалуйста, как в Lazarus сделать интерфейс Delphi 2006 вместо Delphi 7? Т.е. чтобы окна были прикрепленные, а не...

Почему функция работающая в Delphi 7 не работает в Delphi 2007 и в 2009 ?? - Delphi
Данный код работал нормально в D7: procedure TForm1.Button1Click(Sender: TObject); begin ShowWindow(Application.Handle, 0); end;...

Какова разница работы одного кода в Delphi 7 и в Delphi XE5? - Delphi
Почему приложение состоящие из одинакового кода, но компилируемое в разных средах работает по разному? Есть клиент-серверное приложение,...

4
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
06.12.2010, 00:30 #2
Обединение - это область памяти, которая используется для хранения переменных разных типов.Обединение позволяет нинтерпретировать один и тот жэ набор битов по разному.(Шилдт)
1
virtuhay266
12 / 11 / 1
Регистрация: 28.05.2009
Сообщений: 56
06.12.2010, 00:42  [ТС] #3
Т.е. обращаться можно и к одному варианту и к другому, но если я запишу что-то в один вариант, то в другом будет мусор?
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
06.12.2010, 00:44 #4
virtuhay266, проще говоря, обединение - это тоже самое что и структура, только жрет менше памяти.
1
virtuhay266
12 / 11 / 1
Регистрация: 28.05.2009
Сообщений: 56
06.12.2010, 00:51  [ТС] #5
я втыкнул! в эту же структуру записывается блок данных с диска и определенные данные интерпретируются так, как в донный момент нужно.
Спасибо за помошь!
0
06.12.2010, 00:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2010, 00:51
Привет! Вот еще темы с ответами:

SQL-запрос в Delphi и в Access один и тот же, но в Delphi не работает - Delphi БД
ри обращение к базе в Access я использую код: with ADOQueryMain do begin Active:=false; SQL.Clear; SQL.Add('SELECT Code,...

где найти delphi c компилятором? и с чего начинать программирование в delphi? - Delphi
здравствуйте, вот начинаю изучать delphi с чего начинать лучше?

У меня есть литература для изучения delphi 7. Могу ли я по ней изучить delphi 2010? - Delphi
Всем привет. Очередной семестр в универе подходит к концу, а лабы по программированию сданы и мне нечем заняться =). Я хочу изучить delphi...

В Delphi можно приравнивать строки? например уменя Массив из строк (Фамиоий и имён )|Delphi - Delphi
нужно узнать есть одно фамильцы там они у меня в StringGrid.Cells 1 это фамилии а 2 столбец Имена. В общем столбцов 4 а строк 11.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru