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

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

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

> Существует ли файл на диске ?
Tan
сообщение 17.03.2007 13:39
Сообщение #1


Профи
****

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

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


Написав программу, забыл учесть одно выжное условие, что если введённое пользователем имя файла, который надо создать уже создан, как это определить ?
Хочу дополнить данный код этим условием но не знаю как, вот такая проблемка.
То есть смысл такой : если файл с таким именем уже есть то мы просто делаем reset(MYFILE), если нету, то rewrite(MYFILE); вот куда я хочу внедрить это условие:

{$I-}
assign(MyFile, filename);
reset (MyFile);
{$I+}
for i:=1 to Length(filename) do
begin
if (ord(filename[i]) < 48 ) or ((ord (filename[i])) > 57) and ((ord (filename[i]) < 65))
or (((ord (filename[i])) > 91) and ((ord(filename[i]) < 96))) then RC:=-1 else RC:=0;
end;
if RC <> 0 then begin writeln ('Файл не создан, ошибка в названии'); exit; end
else rewrite (MyFile);


Сообщение отредактировано: Tan - 17.03.2007 13:40


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
мисс_граффити
сообщение 17.03.2007 13:46
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


а почему ты не пользуешься IOResult? он бы тебе показал, удалось ли открыть файл для чтения.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.03.2007 13:52
Сообщение #3


Гость






ok := true;

assign(MyFile, filename);
{$I-} reset (MyFile); {$I+}
if IOresult <> 0 then begin
writeln('Файла не было, пробуем создать...');
{$I-} rewrite(MyFile); {$I+}

if IOresult <> 0 then begin
writeln('Нет, и создать не удалось...');
ok := false;
end;
else writeln('Новый файл успешно создан...')

end
else writeln('Сушествующий файл был открыт...');

if ok then ... { Можно работать с файлом }
 К началу страницы 
+ Ответить 
Tan
сообщение 17.03.2007 14:18
Сообщение #4


Профи
****

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

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


Большое спасибо!


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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