Текущий архив: 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.45 MB
Время: 0.037 c