![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Robus |
|
||||||
|
Entire Профиль Группа: Участник Сообщений: 32 Регистрация: 15.12.2005 Репутация: 1 Всего: 1 |
Здравствуйте.
Возник вопрос. Я хочу создать структуру(Record) фиксированного размера. Мне нужно получить структуру размером 512 байт, а полей в ней 64. Размеры полей по ходу написания программы меняются. Соответственно приходится сделать поле FREE из массива байт размером 512-(размер предыдущих описанных полей). Например:
Это очень не удобно, поскольку постоянно нужно заниматься контролем размера. В идеале хотелось бы что-то вроде такого:
Или на худой конец что-то вроде такого:
Как можно решить подобную проблему ? |
||||||
|
|||||||
| 1000000dollars |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 6.10.2007 Репутация: нет Всего: 8 |
Я вижу два варианта:
1) работа с указателями и приведение типов (не люблю указатели, поэтому этот вариант не описываю) 2) использовать возможности языка для размещения разных переменных по одному адресу памяти (приведённый код делает именно так)
|
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Это сообщение отредактировал(а) CodeMonkey - 25.6.2009, 10:48 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Robus |
|
|||
|
Entire Профиль Группа: Участник Сообщений: 32 Регистрация: 15.12.2005 Репутация: 1 Всего: 1 |
Это оно !!! Низкий поклон для CodeMonkey !!! Работает как часы !!! Я правда не понимаю, для чего здесь case, и почему 1 а потом 2, а не 0 и 1. Но об этом я сейчас почитаю в сетях ... Теперь я хоть знаю что искать ...
Спасибо ещё раз !!! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |