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

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

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

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


Гость






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


Профи
****

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

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


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


Гость






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


Гуру
*****

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

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


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

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

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


Michael_Rybak
*****

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

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


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


он имел ввиду просьбу показать программу
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гуру
*****

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

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


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


Гость






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


Гость






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


Гость






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


Гость






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

Ну, как знаешь... Не хочешь сама себе помогать - дело твое...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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

 





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