Модуль FIO download предназначен для выполнения следующих файловых операций:
работа с файлами
FIO!GetOpen- отображает окно диалога для выбора файла.работа со списком файлов
FIO.List- создает объект список файлов для данного шаблона.работа с директориями
FIO!GetDir- возвращает текущую директорию.работа с сообщениями
FIO!MS_Create- создает mailslot.Назначение.Выбор файла.
FIO!GetOpen( LONG<hWnd>, STRING<Caption>, STRING<Filter> ) VARIABLE
hWnd - описатель родительского окна.
Caption - заголовок окна.
Filter - шаблон имени файла.
Описание.При вызове функции отображается окно диалога вида:
в котором пользователь выбирает файл.
В случае успеха функция возвращает строку с именем файла, в противном случае возвращается пустая строка.
Параметр Filter имеет вид:
"Текст (*.txt,*.bas)|*.txt;*.bas|"
Пример:
Name= FIO!GetOpen( HWND, "Открыть текстовый файл", "Текст (*.txt,*.bas)|*.txt;*.bas|" ) IF LEN(Name)==0 THEN END USER32!SetWindowTextA( HWND, Name ) File= FIO!Open( Name, "OREAD" ) IF File==0 THEN END Size= FIO!Size( File ) Text= STRING( Size, " " ) Size= FIO!RdBin( File, VARPTR(Text), Size ) FIO!Close( File )
Назначение.Отображает окно диалога для записи файла.
FIO!GetSave( LONG<hWnd>, STRING<Caption>, STRING<Filter> ) VARIABLE
hWnd - описатель родительского окна.
Caption - заголовок окна.
Filter - шаблон имени файла.
Описание.При вызове функции отображается окно диалога вида:
в котором пользователь выбирает файл.
В случае успеха функция возвращает строку с именем файла, в противном случае возвращается пустая строка.
Параметр Filter имеет вид:
"Текст (*.txt,*.bas)|*.txt;*.bas|"
Пример:
Name= FIO!GetSave( HWND, "Записать текстовый файл", "Текст (*.txt,*.bas)|*.txt;*.bas|" ) IF LEN(Name)== 0 THEN END USER32!SetWindowTextA( HWND, Name ) IF LEN(Name) > 0 GOTO WRITE
Назначение.Открывает существующий файл.
FIO!Open( STRING<FileName>, STRING<Mode> ) LONG
FileName - имя файла.
Mode - опции открытия.
Описание.Функция возвращает хэндел открытого файла или 0 в случае неудачи. Код ошибки можно получить вызвав функцию FIO!LastError(0). Определены следующие опции:
Пример:
File= FIO!Open( Name, "OREAD|DWRITE" ) IF File==0 THEN END ... FIO!Close( File )
Назначение.Создает новый файл.
FIO!Create( STRING<FileName> ) LONG
FileName - имя файла
Описание.Функция возвращает хэндел созданного файла или 0 в случае неудачи. Код ошибки можно получить вызвав функцию FIO!LastError(0). Если в качестве имени передается 0, то создается временный файл с расширением *.tmp во временной директории. Такой файл при закрытии автоматически удаляется.
Пример:(см.FIO!Name)
File= FIO!Create( Name ) IF File==0 THEN END FIO!WrBin( File, VARPTR(Text), LEN(Text) ) FIO!Close( File )
Назначение.Закрывает файл.
FIO!Close( LONG<hFile> )
hFile - хэндел файла
Назначение.Возвращает имя файла.
FIO!Name( LONG<hFile> ) VARIABLE
hFile - хэндел файла
Пример:
File= FIO!Create( 0 ) IF File==0 THEN END Name= FIO!Name( hFile ) ... FIO!Close( File )
Назначение.Блокирует/разблокирует область файла.
FIO!Lock( LONG<hFile>, LONG<Pos>, LONG<Length>, LONG<On> ) BOOL
hFile - хэндел файла
Pos - позиция начала области файла
Length- размер области
On - блокировать- 1/разблокировать- 0.
Назначение.Возвращает размер файла.
FIO!Size( LONG<hFile> ) LONG
Назначение.Устанавливает позицию файла.
FIO!Seek( LONG<hFile>, LONG<Pos> ) LONG
hFile - хэндел файла
Pos - позиция.
Назначение.Возвращает позицию файла.
FIO!GetPos( LONG<hFile> ) LONG
hFile - хэндел файла
Назначение.Читает блок файла.
FIO!RdBin( LONG<hFile>, STRING<Buf>, LONG<cBuf> ) LONG
hFile - хэндел файла
Buf - буфер.
cBuf - размер буфера.
Описание.Функция читает блок данных из файла и возвращает кол-во прочитаных байт. В случае установленной опции RDDOS, происходит перекодировка данных.
Пример:
File= FIO!Open( Name, "OREAD" ) IF File==0 THEN END Size= FIO!Size( File ) Text= STRING( Size, " " ) Size= FIO!RdBin( File, VARPTR(Text), Size ) FIO!Close( File )
Назначение.Читает строку из файла.
FIO!RdStr( LONG<hFile> ) VARIABLE
hFile - хэндел файла
Описание.Функция читает строку из файла и возвращает кол-во прочитаных байт. В случае установленной опции RDDOS, происходит перекодировка данных. В случае достижения конца файла или символа с кодом 26 устанавливается флаг достижения конца файла, который можно проверить функцией FIO!EOF
Пример:
File= FIO!Open( Name, "OREAD" ) IF File==0 THEN END NEXTLINE: Str= FIO!RdStr( File ) ... IF NOT FIO!EOF( File ) GOTO NEXTLINE FIO!Close( File )
Назначение.Истина, если достигнут конец файла.
FIO!EOF( LONG<hFile> ) BOOL
hFile - хэндел файла
Описание.Функция возвращает значение истина если достигнут конец файла или встретился код 26.
Пример:
File= FIO!Open( Name, "OREAD" ) IF File==0 THEN END NEXTLINE: Str= FIO!RdStr( File ) ... IF NOT FIO!EOF( File ) GOTO NEXTLINE FIO!Close( File )
Назначение.Записывает блок файла.
FIO!WrBin( LONG<hFile>, STRING<Buf>, LONG<cBuf> ) BOOL
hFile - хэндел файла
Buf - данные.
cBuf - размер данных.
Описание.Функция записывает блок данных в файл и возвращает истину при успехе. В случае установленной опции WRDOS, происходит перекодировка данных.
Пример:
File= FIO!Create( Name ) IF File==0 THEN END FIO!WrBin( File, VARPTR(Text), LEN(Text) ) FIO!Close( File )
Назначение.Записывает строку в файл.
FIO!WrStr( LONG<hFile>, STRING<Buf> ) BOOL
hFile - хэндел файла
Buf - строка.
Описание.Функция записывает строку в файл и возвращает истину при успехе. В случае установленной опции WRDOS, происходит перекодировка данных.
Пример:
File= FIO!Create( Name ) IF File==0 THEN END FIO!WrStr( File, "Start" ) FIO!Close( File )
Назначение.Сброс буфера в файл.
FIO!Flush( LONG<hFile> ) BOOL
hFile - хэндел файла
Назначение.Отсечение файла по текущую позицию.
FIO!Truncate( LONG<hFile> ) BOOL
hFile - хэндел файла
Назначение.Возвращает код последней ошибки.
FIO!LastError( LONG<hFile> ) LONG
hFile - хэндел файла
Описание.Возвращает код последней ошибки для заданного файла. Если hFile равен 0, то возвращается код глобальной ошибки модуля. Он устанавливается функциями FIO!Create и FIO!Open. Если hFile не соответствует правильному хэнделу файла, то вызывается системная функция GetLastError().
Назначение.Проверяет наличие файла.
FIO!Exists( STRING<FileName> ) BOOL
FileName - имя файла
Назначение.Возвращает имя первого попавшегося файла удовлетворяещего шаблону.
FIO!Find( STRING<Pattern> ) VARIABLE
Pattern - шаблон имени
Назначение.Удаляет файл.
FIO!Exists( STRING<FileName> ) BOOL
FileName - имя файла
Описание.В случае неудачи код ошибки можно получить вызвав функцию FIO!LastError(0).
Назначение.Переименовывает/перемещает файл.
FIO!Move( STRING<OldName>, STRING<NewName> ) BOOL
OldName - старое имя
NewName - новое имя
Описание.Имя может содержать полный путь. Если файл NewName уже существует, то он замещается новым. В случае неудачи код ошибки можно получить вызвав функцию FIO!LastError(0).
Назначение.Копирует содержание файла.
FIO!Copy( STRING<OldName>, STRING<NewName> ) BOOL
OldName - старое имя
NewName - новое имя
Описание.Имя может содержать полный путь. Если файл NewName уже существует, то он замещается новым. В случае неудачи код ошибки можно получить вызвав функцию FIO!LastError(0).
Назначение.Создает объект список файлов для данного шаблона.
FIO.List( STRING Pattern ) LONG<Class>
Pattern - шаблон имени
Описание.
Пример:
SET File=FIO.List("*.sql") IF EMPTY(File) GOTO CLOSE GETFILE: Name=File.Name() IF LEN(Name)=0 GOTO CLOSE USER32!SetWindowTextA( $HWND, Name ) hSrc=FIO!Open( Name, "OREAD" ) ... FIO!Close(hSrc) IF File.Next() GOTO GETFILE CLOSE: ERASE File.Free
Назначение.Следующий файл списка.
Next() BOOL
Описание.Устанавливает следующий файл списка. Возвращает ложь если достигнут конец списка.
Назначение.Возвращает имя текущего файла списка.
Name() VARIABLE
Назначение.Возвращает размер текущего файла списка.
Size() LONG
Назначение.Возвращает дату текущего файла списка.
Date() LONG
Назначение.Удаляет объект список.
Free
Назначение.Возвращает текущую директорию.
FIO!GetDir( NULL ) VARIABLE
Назначение.Создает новую директорию.
FIO!MkDir( STRING<PathName> ) BOOL
PathName - имя директории.
Назначение.Меняет текущую директорию.
FIO!ChDir( STRING<PathName> ) BOOL
PathName - имя директории.
Назначение.Удаляет директорию.
FIO!RmDir( STRING<PathName> ) BOOL
PathName - имя директории.
Назначение.Создает mailslot.
FIO!MS_Create( STRING<Name> ) LONG<hRMS>
Name - имя слота.
Назначение.Открывает существующий mailslot.
FIO!MS_Open( STRING<Name> ) LONG<hRMS>
Name - имя слота.
Назначение.Проверка наличия сообщения.
FIO!MS_Check( LONG<hRMS>, LONG<Timeout> ) LONG
hRMS- хэндел слота.
Timeout- время ожидания сообщения в миллисекундах.
Описание.Функция возвращает кол-во сообщений находящихся в буфере.
Назначение.Чтение сообщения.
FIO!MS_RdMsg( LONG<hRMS> ) VARIABLE
hRMS- хэндел слота.
Описание.Функция читает очередное сообщение из буфера. При отсутствии или ошибке возвращается NULL. Код ошибки можно получить вызвав функцию FIO!LastError(0).
Назначение.Запись сообщения.
FIO!MS_WrMsg( LONG<hSMS>, STRING<sMsg> ) LONG
hRMS- хэндел слота.
sMsg- текст сообщения.
Описание.Функции пишет сообщение в ранее открытый слот и возвращает кол-во записанных байт. Код ошибки можно получить вызвав функцию FIO!LastError(0).