![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
kosya4ok |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всем привет! Почитал про типизированные файлы на форуме но так и не наашёл решение своей проблемы.
Хочу создать типизированный файл в который будут писать числа типа real.
Пишет инвалидный тип файла. Помогите разобраться... |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Данные в типизированный файл не пишутся через WriteLn, только через Write...
|
kosya4ok |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ага. volvo заменил writeln на write, но только теперь почему то на консоль выводит то что мне надо, а вот в файле абракадабра получается
![]() Вот такой отредактированный код.
Это вывод на консоль. [IMG]http://ipicture.ru/uploads/071214/TWOsF6aW2Z.JPG[/IMG] А это что в файле. ‚WХA‚шй3‚cэ¬‚^п ‚-!Фж‚I pД‚Жд gЃГBЧі] |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата а вот в файле абракадабра получается А вот смотреть блокнотом не надо типизированные файлы, они содержат не символьное представление информации (как текстовые), а битовое, машинное представление... То есть, просто берется кусок из памяти и пишется в файл (в твоем случае - 6 байт, посмотри что там хранится - поиск по слову IEEE), а Блокнот думает что там записаны байтовые коды символов... Представляешь, как он жестоко ошибается? ![]() Читать типизированный файл надо опять же в программой на Паскале - тогда память опять заполнится правильно (если тип файла совпадает), и ты получишь разумные данные... |
kosya4ok |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Так я так и не понял что надо сделать то?
![]() Как тогда надо записать данные в файл что бы можно было посмотреть блокнотом или ещё чем то? Или в блокноте просто надо опции какие то поменять? Или надо поставить другое расширение файла? |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата Как тогда надо записать данные в файл что бы можно было посмотреть блокнотом Значит, надо создавать НЕ типизированный, а текстовый файл. Блокнот (или еще что-нибудь) - это текстовый редактор. |
kosya4ok |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Окей. А чем посмотреть тогда типизированный файл или как записать типизированный файл что бы можно ьбыло его посмотреть?
Сообщение отредактировано: kosya4ok - 14.12.2007 20:20 |
andriano |
![]()
Сообщение
#8
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Типизированный файл при желании можно посмотреть hex-редактором. Что ты там сможешь понять - это другое дело.
Но, вообще-то, для просмотра предназначен как раз текстовый формат, а типизированный файл принципиально не предназначен для того, чтобы его смотреть глазами. Ты уж вибери, что тебе надо: типизированный или смотреть. |
kosya4ok |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ясно. Спасибо за понятный ответ. А то народ никак не может внятно объяснить с этим типизированным файлом.
|
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
![]() |
kosya4ok |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Так а сколько ты нормально раз объснял?Покажи. Зашёл и набрал IEEE вот чё вывалило
www.ieee.org ieeexplore.ieee.org www.computer.org www.spectrum.ieee.org и т.д. в таком же духе И интересно какую можно из этого всего извлечь информацию? И причём здесь ложечки кормить? Почему не ответить так что бы больше не возникало вопросов, а отвечаешь так что больше вознкиает вопросов чем ответов? Лано, буду тему закрывать так как всё в принципе выянил. Всем кто участвовал спасибо за помощь. |
andriano |
![]()
Сообщение
#12
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Вдогонку: чем смотреть типизированный файл?
Специальным написанным тобой просмотрщиком, ориентированным на файлы заданногоо тобой типа. Этот просмотрщик должен читать из файла бинарные данные, преобразовывать их в текст и этот текст показывать тебе на экране. (а, может, - преобразовывать в графику и показывать изображение... Смотря для чего задумывался такой тип файла) PS. А по поводу ссылок тебе все правильно сказали. Информацию можно извлечь как раз о том, как следует группировать и интерпретировать те коды, которые ты безуспешно пытался просмотреть текстовым редактором. PPS. Да, volvo, я что-то запамятовал, правда ли, что 6-байтовый real действительно стандартизован? Мне казалось, что стандартизованы только single и double, а real - частный формат, ориентированный на обработку без FPU. Сообщение отредактировано: andriano - 14.12.2007 21:00 |
kosya4ok |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я не понимаю как мона сгруппировать и извлечь информацию из данного типизированного файлас помощью блокнота или ещё чего то там. Мона показать пример?
ЗЫ Не понял, всмысле просмотрщик файла?Ведь у меня функция и выводит бинарные данные из файла, но только на консоль.
Или ты что то другое имеел ввиду? |
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
Цитата правда ли, что 6-байтовый real действительно стандартизован? Мне казалось, что стандартизованы только single и double, а real - частный формат, ориентированный на обработку без FPU. ![]() 32-битные компиляторы не доведут до добра. Привычка, что real = double... Ну, а по поводу формата 6-байтного real - в частности можно посмотреть здесь: http://de.uspu.ru/Informatics/Metodes/DPP/...glavs/4/433.htm |
andriano |
![]()
Сообщение
#15
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Я не понимаю как мона сгруппировать и извлечь информацию из данного типизированного файлас помощью блокнота или ещё чего то там. Мона показать пример? Точка. (кажется, тебе это повторили уже 3 раза) Цитата ЗЫ Не понял, всмысле просмотрщик файла?Ведь у меня функция и выводит бинарные данные из файла, но только на консоль. Добавлено через 9 мин. 32-битные компиляторы не доведут до добра. Привычка, что real = double... С чего это вдруг?Последние несколько лет пользуюсь ТОЛЬКО 32-разрядными компиляторами и никакого "недобра" еще не почувствовал. Может, я что-то не так делаю? Кстати, real вообще НИКОГДА не использую. И еще: real = double связано все-таки не с 16- или 32-разрядностью, а с тем, что к моменту появления этих 32-разрядных FPU стал непременным атрибутом ЛЮБОГО компьютера, т.к. переселился внутрь CPU. Соответственно, надобность в real, оптимизированном на обработку CPU, отпала. А на FPU он обсчитывается заметно дольше, чем поддерживаемые аппаратно single или double. Цитата Ну, а по поводу формата 6-байтного real - в частности можно посмотреть здесь: http://de.uspu.ru/Informatics/Metodes/DPP/...glavs/4/433.htm Посмотрел. Ничего для себя интересного не обнаружил. Я спрашивл: стандартизирован ли 6-байтовый real, или это исключительно "местное" изобретение Борланд? Даже в 48-разрядной БЭСМ-6 формат представления вещественных данных (т.е. той же длины - 6 байт) был другим. |
kosya4ok |
![]()
Сообщение
#16
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(kosya4ok @ 14.12.2007 21:04)
Я не понимаю как мона сгруппировать и извлечь информацию из данного типизированного файлас помощью блокнота или ещё чего то там. Мона показать пример? С помощью блокнота - никак. Точка. (кажется, тебе это повторили уже 3 раза) Вот блин народ! Та я понял что с помощью блокнота что не смогу! Я ж спрашиваю как можно сгруппировать эти символы без блокнота, так как вы сами мне об этом написали! |
andriano |
![]()
Сообщение
#17
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Группировать по 6 байтов (48 битов).
А что конкретно означают какие биты - по тем ссылакам, что тебе дал поисковик. |
Гость |
![]()
Сообщение
#18
|
Гость ![]() |
СПС всем !!ТЕМА закрыта!
|
kosya4ok |
![]()
Сообщение
#19
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
А вы не объясните почему вот так вот можно писать в файл
А вот так вот нельзя.
|
Lapp |
![]()
Сообщение
#20
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
А вы не объясните почему ... вот так вот нельзя. write(f1, fi(i)); Грубо говоря, параметры оператора Write всегда передаются по адресу (по ссылке). Функция - это сложная структура, которая предусматривает передачу управления и возвращение значения. Когда ты пишешь так, то ты на самом деле как бы указываешь оператору Write адрес перехода, хотя он ожидает адрес той области памяти, которую тебе надо вывести на печать. Если бы компилятор не отловил ошибку, ты бы получил на печати совсем не то, что ожидал ![]() Это был образный ответ, упрощенный. На самом деле все сложнее, конечно. Но в случае с типизированными файлами довольно близко к действительности. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 25.06.2025 8:14 |