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

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

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

> Не большая проблема с прогой, fileexists
сообщение
Сообщение #1


Новичок
*

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

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


Вот прога, цель создать отчёт о метеонаблюдеениях, свой тип я сделал, это без проблем, а вот fileexists говорит
unknown identifier, как я понял это функция какого-то модуля, но какого не знаю.
type
tMeteo = record
year, digit, vlazhn, atmdav : integer;
month, vsutok, napvet, osadki : string;
tempvoz, skorvet : real;
end;
var
pon : tMeteo;
f : file of tMeteo;
begin
assign(f,'c:\meteo.pog');
if fileexists('c:\meteo.pog') then
reset(f) else
rewrite(f);
if reset(f) then seek(filesize(f));
write(pon.year);
read(pon.year);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






begin
assign(f,'c:\meteo.pog');
if fileexists('c:\meteo.pog') then reset(f)
else rewrite(f);

seek(f, filesize(f)); { <--- в любом случае... }
write(pon.year);
seek(f, filesize(f) - 1); { <--- читать будем то, что только что записали }
read(pon.year);
end.

Если файл уже был и открылся через reset, то filesize вернет его размер и ты перейдешь в конец файла. Если же файл только что был создан rewrite-ом, то filesize вернет 0, и ты останешься в самом начале (он же - конец) пустого файла... А вот перед чтением надо вернуться хотя бы на одну запись "назад" (ближе к началу файла), иначе при попытке чтения за концом файла твоя программа завершится аварийно.

Кстати, что у тебя творится в модуле? Оно ж не будет компилироваться... Это во первых.

Во-вторых, описание типа TMeteo, которое в модуле и которое в основной программе - это разные типы (для Паскаля, конечно) так что как пить дать ты получишь где-нибудь ошибку "несовместимый тип", сразу предупреждаю... Лучше убери описание из основной программы, оставь только в модуле...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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