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

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

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

 
 Ответить  Открыть новую тему 
> Файлы, Путь к файлу
-Марина-
сообщение 14.03.2008 20:22
Сообщение #1


Гость






Я написала программу, в которой нужно открыть файл для чтения данных,а программа при запуске пишет что файл не найденю Подскажите пожалуйста в каком месте в программе нужно указывать путь к файлу?
 К началу страницы 
+ Ответить 
Client
сообщение 14.03.2008 20:31
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

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


Цитата
Я написала программу
Где?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-Марина-
сообщение 15.03.2008 14:11
Сообщение #3


Гость






В смысле где? В Паскале.
 К началу страницы 
+ Ответить 
Ozzя
сообщение 15.03.2008 14:23
Сообщение #4


Гуру
*****

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

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


Марина, телепаты в командировке на Бетельгейзе.
Предполагаю, что проблема в

assign(f, 'c:\имя_твоей_папки\_имя_твоего_файла');

?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 15.03.2008 14:49
Сообщение #5


Michael_Rybak
*****

Группа: Модераторы
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

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


Цитата
В смысле где? В Паскале.


он имел ввиду просьбу показать программу
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-Марина-
сообщение 15.03.2008 15:12
Сообщение #6


Гость






Пожалуйста:

program create_bfile;
var buf:array[1..4] of real;
f_in:text;
f_out:file;
i,k:integer;
name_in,name_out:string;
const
begin
{$I-}
writeln('Введите имя входного файла '); readln(name_in);
assign(f_in,name_in);
reset(f_in);
if IOResult<>0 then begin
writeln('Файл',name_in,'­не найден­'); exit end;
writeln('Введите имя выходного файла'); readln(name_out);
assign(f_out,name_out);
rewrite(f_out,sizeof(real)*4);
{$I-}
i:=0;
while not eof(f_in)do begin
inc(i);
read(f_in,buf[i]);
if i=4 then begin
blockwrite(f_out,buf,1); i:=0; end;
end;
if i<>0then begin
for k:=i+1 to 4 do buf[k]:=0;
blockwrite(f_out,buf,1);
end;
close(f_in); close(f_out);
end.


М
Используем теги



Сообщение отредактировано: klem4 - 17.03.2008 15:36
 К началу страницы 
+ Ответить 
Ozzя
сообщение 15.03.2008 15:19
Сообщение #7


Гуру
*****

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

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


Файл с данными лежит в той же директории, что и программа?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-Марина-
сообщение 15.03.2008 21:54
Сообщение #8


Гость






Да, в той же директории.
 К началу страницы 
+ Ответить 
volvo
сообщение 15.03.2008 22:12
Сообщение #9


Гость






Длина имени файла и того имени, что вводится пользователем не больше 8-ми символов? Турбо Паскаль работает с именами файлов в формате 8.3
 К началу страницы 
+ Ответить 
-Марина-
сообщение 15.03.2008 23:16
Сообщение #10


Гость






Нет, не больше. Имя состоит только из трёх букв.
 К началу страницы 
+ Ответить 
volvo
сообщение 15.03.2008 23:49
Сообщение #11


Гость






Блин, у меня почему-то ощущение, что я на экзамене, а ты - преподаватель. Ты ничего не путаешь? Тебе нужна помощь, или кому? Что, от тебя убудет, если ты напишешь, КАКИЕ имена ты используешь? Если ты напишешь, не ReadOnly ли случайно эти файлы?

Ну, как знаешь... Не хочешь сама себе помогать - дело твое...
 К началу страницы 
+ Ответить 
andriano
сообщение 16.03.2008 11:38
Сообщение #12


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

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


Марина, у тебя не совсем верно используются директивы {$I-}.
Честно говоря, это очень сильнодействующее средство, которое вообще в обычных программах использовать не следует, но, почему-то, именно этот способ проверки наличия файла стал стандартом de facto.
Первое: сделай в программе так:

writeln('Введите имя входного файла '); readln(name_in);
assign(f_in,name_in);
{$I-}
reset(f_in);
{$I+}
if IOResult<>0 then begin
...
и чтобы больше эти директивы нигде в коде не встречались, в противном случае они будут влиять не только на работу с файлом, но и вообще на весь ввод-вывод, что может существенно затруднить отладку.

И еще: попытайся писать, что ты делаешь, что ожидаешь получить, и что вместо этого получаешь. Иначе очень трудно догадаться, что же тебе нужно.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 18.07.2025 14:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"