Помощь - Поиск - Пользователи - Календарь
Полная версия: Существует ли файл на диске ?
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Tan
Написав программу, забыл учесть одно выжное условие, что если введённое пользователем имя файла, который надо создать уже создан, как это определить ?
Хочу дополнить данный код этим условием но не знаю как, вот такая проблемка.
То есть смысл такой : если файл с таким именем уже есть то мы просто делаем 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);
мисс_граффити
а почему ты не пользуешься IOResult? он бы тебе показал, удалось ли открыть файл для чтения.
volvo
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
Большое спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.