Общие положения
Top  Previous  Next


Ряд методов объекта File предназначены для его открытия как файла на диске (OpenFile) или мемо-поля базы данных (OpenMemo). Остальные методы становятся доступными с момента открытия и до закрытия объекта в любом месте Vip программы.  
Оператор вызова метода объекта File начинается с имени объекта, которое отделяется от остальной части оператора точкой.  
Существует набор процедур, совпадающих по назначению и близких по имени к методам объекта File (процедуры имеют префикс File_). Отличие заключается в том, что эти процедуры в качестве входного параметра получают ссылку на объект File (метод Handle) и благодаря этому объект File может передаваться как переменная в VIP-процедуры.  
Если при работе метода (процедуры) произошла ошибка, то возникает "исключение":  
· если объект открыт методом OpenMemo, то возникают исключения из группы ExDateBase (некоторые исключения группы ExDateBase приведены ниже в таблице);  
· если объект открыт методом OpenFile, то возникают исключения из группы ExFile (см. таблицу). В обработчике исключений, произошедших в методе OpenFile, программист имеет возможность переоткрыть файл и продолжить выполнение оператором _Retry.  
 
ExFile. Исключения при работе с объектом File   
ExFileNotFound   Файл не найден   
ExPathNotFound   Путь не найден   
ExTooManyHandlers   Слишком много открытых файлов   
ExFileAccessDenied   Доступ запрещен   
ExBadFileHandler   Некорректный код файла   
ExDriveNotFound   Указан несуществующий диск   
ExCannotDeleteCurDir   Невозможно удалить текущую директорию   
ExDiskIsWriteProtected   Попытка записи на защищенный от записи диск   
ExDriveNotReady   Диск не готов   
ExFileWriteError   Ошибка записи   
ExFileReadError   Ошибка чтения   
ExFileSharingViolation   Нарушение разделения файла   
ExFileIsLocked   Нарушение блокировки файла   
ExFileAlreadyExist   Файл уже существует   
ExCannotCreateDirectory   Ошибка создания директории   
ExNetworkError   Ошибка при работе с сетью   
ExNullFileName   Пустое имя файла при открытии файла   
ExFileNotOpened   Файл не открыт   
ExFileUniversalErrors   Все прочие ошибки работы с файлами   
ExDataBase. Исключения при работе с Мемо-полем   
ExDbRecordInUse    Запись используется   
ExDbNoPosition    Ошибочная позиция   
ExDbInvalidField   Передано не мемо-поле в метод File.OpenMemo   
Пример 1  
_try {  
aFile.OpenFile ('c:\aFile', stOpen);  
aFile.seek (aFile.GetSize);  
Message ('Файл создан и открыт',0);  
}  
_except  
on ExFileNotFound : {  
aFile.OpenFile ('c:\aFile', stCreate);  
Message ('Исключение ExFileNotFound',0);  
_Retry;  
};  
on ExFile : Message ('Исключение ExFile',0);  
_finally {  
aFile.Close;  
DeleteFile ('c:\aFile');  
};  
Пример 2  
Пример иллюстрирует объявление объекта файла из VIP.  
interface readfile;  
create view;  
file f_var;  
var L : string;  
handleevent  
cmInit: begin  
f_var.openfile('c:\test.txt',stCreate); // создать файл  
f_var.writeln('This is a sample'); // записать строку в текстовый файл  
f_var.close; // закрыть  
f_var.openfile('c:\test.txt',stOpenRead); // открыть тот же файл  
f_var.readln(L); // считать строку  
f_var.close; // закрыть  
message(L); // вывести mesagebox со считанной строкой  
abort; // что бы не открывалось окно  
end;  
end;  
end.