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

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

Соответствие типов Pascal DOS и Delphi 5 [D5, WinXP]


wrmj ©   (2005-06-21 12:53:00) 

Считываю данные из типизированного файла средствами Delphi. Файл сформирован DOS программой написанной на Turbo Pascal под DOS.
Формат файла известен используются типы Real и Integer.
Каким типам в Delphi они соответствуют ?
Предполаегаю что Real - Real48
а Integer - SmallInt
но у меня с применением этих типов идет ошибка при считывании.

Да и типизированный файл сформированный Turbo Pascal под Dos
начинать читать с 1 или 0 ?


wrmj   (2005-06-22 10:08:00) [1]

Да проблемма была в отсутствие packed, т.е. packed record вместо record. А в остальном все правильно:
Real(TP)-Real48(Delphi)
Integer(TP)-SmallInt(Delphi))
Всем спасибо.


vl_chel   (2005-06-21 13:39:00) [2]

Integer это псевдоним типа ShortInt в 7 Паскале
и LongInt в его 32 разрядной версии
аналогично String, но это может выставляться настройками компилятора либо в ShortString либо в AnsiString


Anatoly Podgoretsky   (2005-06-21 13:26:00) [3]

Безобразие, проблему сразу заложили, использовав не фундаментальные типы, а Real и Integer.
Думаю также проблемы и с выравниванием.
Вот так и устраивали проблему 2000


PVOzerski   (2005-06-21 13:22:00) [4]

2TUser:
насчет ShortInt - это 1-байтовый знаковый. 2-байтовый знаковый - SmallInt.
2wrmj:
там Record'ов нет? Если есть, сделай их packed или перенастрой выравнивание на 1.


jack128   (2005-06-21 13:03:00) [5]

TUser ©   (21.06.05 13:01) [1]
теперь этот старый real называется Real48.


можно включить режим совместимости $REALCOMPATIBILITY ON


TUser   (2005-06-21 13:01:00) [6]

integer -> shortint (2 байта)
Real - зависит от версии Delphi. В ранних версиях он такой же как в ТР (кажется), теперь этот старый real называется Real48.


Наверх

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