Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

Соответствие типов Pascal DOS и Delphi 5   Найти похожие ветки 

 
wrmj   (2005-06-21 12:53) [0]

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

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


 
TUser ©   (2005-06-21 13:01) [1]

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


 
jack128 ©   (2005-06-21 13:03) [2]

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


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


 
PVOzerski ©   (2005-06-21 13:22) [3]

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


 
Anatoly Podgoretsky ©   (2005-06-21 13:26) [4]

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


 
vl_chel ©   (2005-06-21 13:39) [5]

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.183 c
1-1119362934
<Lelik>
2005-06-21 18:08
2005.07.11
Про TreeView


3-1117179211
AngelSaint
2005-05-27 11:33
2005.07.11
ADO, Access. ошибка при выборе по дате-времени


3-1117262086
Гость2
2005-05-28 10:34
2005.07.11
Ошибка BDE


1-1118261613
SniZ
2005-06-09 00:13
2005.07.11
Сжатие строки


3-1116872409
Noxa
2005-05-23 22:20
2005.07.11
Запуск БД на другом компьютере.