Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  154

•  TDictionary Custom Sort  3 334

•  Fast Watermark Sources  3 085

•  3D Designer  4 844

•  Sik Screen Capture  3 337

•  Patch Maker  3 550

•  Айболит (remote control)  3 655

•  ListBox Drag & Drop  3 012

•  Доска для игры Реверси  81 679

•  Графические эффекты  3 939

•  Рисование по маске  3 245

•  Перетаскивание изображений  2 626

•  Canvas Drawing  2 748

•  Рисование Луны  2 576

•  Поворот изображения  2 185

•  Рисование стержней  2 168

•  Paint on Shape  1 568

•  Генератор кроссвордов  2 233

•  Головоломка Paletto  1 767

•  Теорема Монжа об окружностях  2 227

•  Пазл Numbrix  1 685

•  Заборы и коммивояжеры  2 057

•  Игра HIP  1 282

•  Игра Go (Го)  1 230

•  Симулятор лифта  1 474

•  Программа укладки плитки  1 216

•  Генератор лабиринта  1 547

•  Проверка числового ввода  1 364

•  HEX View  1 497

•  Физический маятник  1 358

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Обработка ошибки открытия файла



Открытие файла для ввода (чтения) выполняется вызовом процедуры Reset, имеющей один параметр — файловую переменную. Перед вызовом процедуры Reset с помощью функции AssignFile файловая переменная должна быть связана с конкретным файлом.

Например, следующие инструкции открывают файл для ввода:

AssignFile(f, 'c:\delphiworld.txt'); 
Reset(f);

Если имя файла указано неверно, например файла с указанным именем на диске нет, то возникает ошибка времени выполнения программы. Следует отметить, что другой причиной возникновения ошибки при открытии файла, находящегося на гибком диске, может быть отсутствие готовности дисковода, проще говоря, отсутствие диска в накопителе.

Поэтому в программе следует предусмотреть возможность повторной попытки открытия файла после подтверждения повторения операции.

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

Фрагмент программы, текст которого приведен в листинге, использует значение функции lOResult для проверки результата открытия файла. Если попытка открыть файл вызывает ошибку, то программа выводит диалоговое окно с сообщением об ошибке и запросом на подтверждение повторного открытия файла.

var
  fname: string[80]; // имя файла
  f: TextFile; // файл
  res: integer; // код ошибки открытия файла (значение lOResult)
  answ: word; // ответ пользователя
begin
  fname := 'a:\test.txt'; AssignFile(f, fname);
  repeat
  {$I-}
  Reset(f); // открыть файл для чтения
  {$!+}
  res := IOResult;

  if res <> 0 then
    answ := MessageDlg('Ошибка открытия '
      + fname + #13 + 'Повторить попытку?', mtWarning,
      [mbYes, mbNo], 0); until (res = 0) or (answ = mrNo);

  if res <> 0 then
    exit; // завершение процедуры

// здесь инструкции, которые выполняются
// в случае успешного открытия файла

end;




Похожие по теме исходники

IMod (обработка изображений)

Askue (обработка XML)

Разбиение файла на части

Текст внутри файла

 



Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте