Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Битовые поля в структурах на Дельфи 
V
    Опции темы
Лапоть
Дата 26.4.2009, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 3.4.2009

Репутация: нет
Всего: 2



Здравствуйте!
Вот мой сишный код
Код

struct TPSP4 {
  int   id;
  int   len;
  int   ver;
  int   crc;
  char  date[12];
  char  name[32];
  int   scale;
  char  anno[32];
  //-------------------------------------------------------------------------
  BYTE  dat : 2;        // флаг состояния данных
  BYTE  prj : 1;        // флаг соответствия проекции
  BYTE  rcr : 2;        // флаг наличия реальных координат
  BYTE  cod : 2;        // флаг способа кодирования
  BYTE  gen : 1;        // таблица генерализации
  // и так далее
};
//----------------------------------
  psp  *TPSP4 = new TPSP4;
  psp->dat = 3;
  psp->prj = 1;
  // и так далее
  //...
  delete psp;

Как правильно расписать битовые поля на Дельфи и как к ним обращаться?
PM MAIL   Вверх
kami
Дата 26.4.2009, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Цитата(Лапоть @  26.4.2009,  15:53 Найти цитируемый пост)
BYTE  dat : 2;

Не силен в С. Расскажите, что это означает.
PM MAIL WWW   Вверх
Alexeis
Дата 26.4.2009, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Лапоть, нет такого механизма. Остается только производить битовые операции and, и shl и shr

Добавлено через 59 секунд
Цитата(kami @  26.4.2009,  20:18 Найти цитируемый пост)
Не силен в С. Расскажите, что это означает. 

Значит целый тип размером в 2 бита, фактически 3 значения всего.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Лапоть
Дата 27.4.2009, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 3.4.2009

Репутация: нет
Всего: 2



 smile 

Alexeis, спасибо!

kami, это значит следующее - в состав структуры входит байт, который используется частями - 2 бита под dat, 1 бит под prjи так далее. В моём случае в 1 байт помещена информация о состоянии 5 флагов.
PM MAIL   Вверх
Quartz
Дата 27.4.2009, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 28.6.2008

Репутация: 3
Всего: 4



Лапоть, SXF?  smile  smile 
PM MAIL   Вверх
Лапоть
Дата 27.4.2009, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 3.4.2009

Репутация: нет
Всего: 2



Он самый!!! smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0783 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.