Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Неизвестный (мне) тип данных [D5, Win95/98]


Марина ©   (2002-03-20 11:13:00) 

Есть массив, элементы которого имеют длину 8 байт и являются символьными. Подскажите, пожалуйста, что это за тип данных и как с ним работать. Заранее спасибо.


Юрий Зотов   (2002-03-20 15:15:00) [1]

Да, но лишь потому, что размер элемента в данном случае кратен разрядности системы. А packed гарантирует сплошность при любых сочетаниях. Переносимость на уровне исходников, однако...


Виктор Щербаков   (2002-03-20 15:09:00) [2]

type Type1 = array [1..10] of array[0..7] of char;
type Type2 = array [1..10] of packed array[0..7] of char;
Так вот, в данном случае SizeOf(Type1) = SizeOf(Type2)


Alx2   (2002-03-20 15:01:00) [3]

>SVM (20.03.02 14:55)
Чтобы гарантированно подряд в памяти шли.


SVM   (2002-03-20 14:55:00) [4]

А почему "именно packed!" ??


Юрий Зотов   (2002-03-20 13:58:00) [5]

Верно, это я уже потом сообразил. Но тоже не совсем верно, потому что в этом случае 0-м байтом будет управлять программа, а нам это не нужно.

Видимо, надо так:

type
TElement = packed array [0..7] of char; // именно packed!
TArray = array [...] of TElement;


Alx2   (2002-03-20 13:47:00) [6]

>Юрий Зотов © (20.03.02 13:33)
Нужно: array [...] of string[7]; (0-й байт на длину)


Юрий Зотов   (2002-03-20 13:33:00) [7]

> элементы массива имеют длину 8 байт и являются символьными

Все сказано очень четко, осталось только перевести на Паскаль:
array [...] of string[8];


Виктор Щербаков   (2002-03-20 11:47:00) [8]

Правильнее было бы написать: являются восьмисимвольными строками.


Alx2   (2002-03-20 11:46:00) [9]

Тогда работайте с элементами этого массива как с символьным массивом из восьми элементов


Марина   (2002-03-20 11:44:00) [10]

Точной декларации массива привести не могу, так как массив создается чужой программой, есть только exe- файл и инструкция.Вот в инструкции и написано:элементы массива имеют длину 8 байт и являются символьными.


Song   (2002-03-20 11:18:00) [11]

А как Вы поняли, что эти переменные занимают в памяти 8 байт?


Виктор Щербаков   (2002-03-20 11:18:00) [12]

array [0..7] of Char


Digitman   (2002-03-20 11:18:00) [13]

это - нестандартный тип (определен пользователем)
приведи точную декларацию такого массива и его элементов


Alx2   (2002-03-20 11:17:00) [14]

String[7]?

А можно описание массива посмотреть? :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо