IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Как создать типизированный файл, file of
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Всем привет! Почитал про типизированные файлы на форуме но так и не наашёл решение своей проблемы.
Хочу создать типизированный файл в который будут писать числа типа real.


const n = 8;
{type numbers = record
num : real;
end;}
type numbers = file of real;
var fname : string;
i : integer;
sum, k : real;
ans : char;
f1 : numbers;

function fi(p: integer): real;
var i : integer;
sum : real;
begin

sum := sqrt(3 * p);
for i := p downto 1 do
if (i = 1) then
fi := sum
else
sum := sqrt(sum + 3 * (i - 1));
end;

procedure newfile(var f1 : numbers);
var s : string;
num : real;
{with num_ref do}
begin
rewrite(f1);
{write(f1, num_ref);}
for i := n downto 1 do
begin
if (i = 1) then
begin
num := sqrt(3);
writeln(f1, num);
break;
end
else
begin
writeln(f1, fi(i));
end;
end;
close(f1);
end;

procedure outputfile(var f1 : numbers; p : integer);
var s : string;

begin
reset(f1);
repeat
readln(f1, s);
write('f', p, '=');
writeln(s);
dec(p);
until eof(f1);
end;

begin
clrscr;
writeln('Create a new file?');
readln(ans);
ans := upcase(ans);
if (ans = 'Y') or (ans = 'YES') then
begin
writeln('Enter name a file');
readln(fname);
assign(f1, fname);
newfile(f1);
outputfile(f1, n);
end
else
begin
writeln('What file you want open?');
readln(fname);
assign(f1, fname);
outputfile(f1, n);
end;
readln;
end.



Пишет инвалидный тип файла. Помогите разобраться...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
а вот в файле абракадабра получается
А вот смотреть блокнотом не надо типизированные файлы, они содержат не символьное представление информации (как текстовые), а битовое, машинное представление... То есть, просто берется кусок из памяти и пишется в файл (в твоем случае - 6 байт, посмотри что там хранится - поиск по слову IEEE), а Блокнот думает что там записаны байтовые коды символов... Представляешь, как он жестоко ошибается? smile.gif

Читать типизированный файл надо опять же в программой на Паскале - тогда память опять заполнится правильно (если тип файла совпадает), и ты получишь разумные данные...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
kosya4ok   Как создать типизированный файл   14.12.2007 15:32
volvo   Данные в типизированный файл не пишутся через Writ…   14.12.2007 15:44
kosya4ok   Ага. volvo заменил writeln на write, но только теп…   14.12.2007 16:43
volvo   А вот смотреть блокнотом не надо типизированные фа…   14.12.2007 16:53
kosya4ok   Так я так и не понял что надо сделать то? :unsure…   14.12.2007 16:59
volvo   Значит, надо создавать НЕ типизированный, а тексто…   14.12.2007 18:03
kosya4ok   Окей. А чем посмотреть тогда типизированный файл и…   14.12.2007 18:33
andriano   Типизированный файл при желании можно посмотреть h…   15.12.2007 0:29
kosya4ok   Ясно. Спасибо за понятный ответ. А то народ никак …   15.12.2007 0:33
volvo   :dry: Сколько же можно тебе объяснять? Тебе поста …   15.12.2007 0:37
kosya4ok   Так а сколько ты нормально раз объснял?Покажи. Заш…   15.12.2007 0:49
andriano   Вдогонку: чем смотреть типизированный файл? Специа…   15.12.2007 0:57
kosya4ok   Я не понимаю как мона сгруппировать и извлечь инфо…   15.12.2007 1:04
andriano   Я не понимаю как мона сгруппировать и извлечь инф…   15.12.2007 1:27
volvo   :mega_chok: 32-битные компиляторы не доведут до…   15.12.2007 1:16
kosya4ok   Цитата(kosya4ok @ 14.12.2007 21:04) Я не понимаю…   15.12.2007 1:43
andriano   Группировать по 6 байтов (48 битов). А что конкрет…   15.12.2007 1:56
Гость   СПС всем !!ТЕМА закрыта!   15.12.2007 3:30
kosya4ok   А вы не объясните почему вот так вот можно писать …   15.12.2007 3:43
Lapp   А вы не объясните почему ... вот так вот нельзя. …   15.12.2007 5:09
andriano   kosya4ok, просмотрел тему и у меня сложилось впеча…   15.12.2007 15:31
kosya4ok   Опочки прикольно! То есть вы хотите сказать чт…   15.12.2007 16:49
andriano   Минуточку. Та ЗНАЧЕНИЕ или ОБЛАСТЬ ПАМЯТИ? write р…   15.12.2007 17:02
kosya4ok   Привет! Вот же ж люди какие бывают какие прони…   15.12.2007 17:18
andriano   Длина файла возвращается в количестве тех переменн…   15.12.2007 17:33
kosya4ok   За По поводу пергрузки: во-первых, write - не фу…   15.12.2007 17:37
andriano   Нет, в том то и дело, что в proc1 произошла переда…   15.12.2007 17:50
kosya4ok   Ну и ну. Вообщем пошёл учить Паскаль.   15.12.2007 18:00


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 23:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name