Модуль FIO


Модуль FIO download предназначен для выполнения следующих файловых операций:

работа с файлами

FIO!GetOpen- отображает окно диалога для выбора файла.
FIO!GetSave- отображает окно диалога для записи файла.
FIO!Open- открывает файл.
FIO!Create- создает новый файл.
FIO!Close- закрывает файл.
FIO!Name- возвращает имя файла.
FIO!Lock- блокирует/разблокирует область файла.
FIO!Size- возвращает размер файла.
FIO!Seek- устанавливает позицию файла.
FIO!GetPos- возвращает позицию файла.
FIO!RdBin- читает блок файла.
FIO!RdStr- читает строку из файла.
FIO!EOF- истина, если достигнут конец файла.
FIO!WrBin- пишет блок в файл.
FIO!WrStr- пишет строку в файл.
FIO!Flush- сброс буфера в файл.
FIO!Truncate- отсечение файла по текущую позицию.
FIO!LastError- код последней ошибки.
FIO!Exists- проверяет наличие файла.
FIO!Find- проверяет наличие файла по шаблону.
FIO!Erase- удаляет файл.
FIO!Move- переименовывает/перемещает файл.
FIO!Copy- копирует содержание файла.
FIO!Install- .

работа со списком файлов

FIO.List- создает объект список файлов для данного шаблона.
Next- следующий файл.
Name- имя файла.
Date- дата создания файла.
Size- размер файла.
Free- удаляет объект.

работа с директориями

FIO!GetDir- возвращает текущую директорию.
FIO!MkDir- создает новую директорию.
FIO!ChDir- меняет текущую директорию.
FIO!RmDir- удаляет директорию.

работа с сообщениями

FIO!MS_Create- создает mailslot.
FIO!MS_Open- открывает существующий mailslot.
FIO!MS_Check- проверка наличия сообщения.
FIO!MS_RdMsg- чтение сообщения.
FIO!MS_WrMsg- запись сообщения.

Список функций

FIO!GetOpen

Назначение.Выбор файла.

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

Назначение.Отображает окно диалога для записи файла.

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

Назначение.Открывает существующий файл.

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

Назначение.Создает новый файл.

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

Назначение.Закрывает файл.

FIO!Close( LONG<hFile> )

hFile - хэндел файла

FIO!Name

Назначение.Возвращает имя файла.

FIO!Name( LONG<hFile> ) VARIABLE

hFile - хэндел файла

Пример:

 File= FIO!Create( 0 )
 IF File==0 THEN END
 Name= FIO!Name( hFile )
 ...
 FIO!Close( File )

FIO!Lock

Назначение.Блокирует/разблокирует область файла.

FIO!Lock( LONG<hFile>, LONG<Pos>, LONG<Length>, LONG<On> ) BOOL

hFile - хэндел файла
Pos - позиция начала области файла
Length- размер области
On - блокировать- 1/разблокировать- 0.

FIO!Size

Назначение.Возвращает размер файла.

FIO!Size( LONG<hFile> ) LONG

FIO!Seek

Назначение.Устанавливает позицию файла.

FIO!Seek( LONG<hFile>, LONG<Pos> ) LONG

hFile - хэндел файла
Pos - позиция.

FIO!GetPos

Назначение.Возвращает позицию файла.

FIO!GetPos( LONG<hFile> ) LONG

hFile - хэндел файла

FIO!RdBin

Назначение.Читает блок файла.

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

Назначение.Читает строку из файла.

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

Назначение.Истина, если достигнут конец файла.

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

Назначение.Записывает блок файла.

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

Назначение.Записывает строку в файл.

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

Назначение.Сброс буфера в файл.

FIO!Flush( LONG<hFile> ) BOOL

hFile - хэндел файла

FIO!Truncate

Назначение.Отсечение файла по текущую позицию.

FIO!Truncate( LONG<hFile> ) BOOL

hFile - хэндел файла

FIO!LastError

Назначение.Возвращает код последней ошибки.

FIO!LastError( LONG<hFile> ) LONG

hFile - хэндел файла

Описание.Возвращает код последней ошибки для заданного файла. Если hFile равен 0, то возвращается код глобальной ошибки модуля. Он устанавливается функциями FIO!Create и FIO!Open. Если hFile не соответствует правильному хэнделу файла, то вызывается системная функция GetLastError().

FIO!Exists

Назначение.Проверяет наличие файла.

FIO!Exists( STRING<FileName> ) BOOL

FileName - имя файла

FIO!Find

Назначение.Возвращает имя первого попавшегося файла удовлетворяещего шаблону.

FIO!Find( STRING<Pattern> ) VARIABLE

Pattern - шаблон имени

FIO!Erase

Назначение.Удаляет файл.

FIO!Exists( STRING<FileName> ) BOOL

FileName - имя файла

Описание.В случае неудачи код ошибки можно получить вызвав функцию FIO!LastError(0).

FIO!Move

Назначение.Переименовывает/перемещает файл.

FIO!Move( STRING<OldName>, STRING<NewName> ) BOOL

OldName - старое имя
NewName - новое имя

Описание.Имя может содержать полный путь. Если файл NewName уже существует, то он замещается новым. В случае неудачи код ошибки можно получить вызвав функцию FIO!LastError(0).

FIO!Copy

Назначение.Копирует содержание файла.

FIO!Copy( STRING<OldName>, STRING<NewName> ) BOOL

OldName - старое имя
NewName - новое имя

Описание.Имя может содержать полный путь. Если файл NewName уже существует, то он замещается новым. В случае неудачи код ошибки можно получить вызвав функцию FIO!LastError(0).

List

Назначение.Создает объект список файлов для данного шаблона.

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

Назначение.Следующий файл списка.

Next() BOOL

Описание.Устанавливает следующий файл списка. Возвращает ложь если достигнут конец списка.

Name

Назначение.Возвращает имя текущего файла списка.

Name() VARIABLE

Size

Назначение.Возвращает размер текущего файла списка.

Size() LONG

Date

Назначение.Возвращает дату текущего файла списка.

Date() LONG

Free

Назначение.Удаляет объект список.

Free

FIO!GetDir

Назначение.Возвращает текущую директорию.

FIO!GetDir( NULL ) VARIABLE

FIO!MkDir

Назначение.Создает новую директорию.

FIO!MkDir( STRING<PathName> ) BOOL

PathName - имя директории.

FIO!ChDir

Назначение.Меняет текущую директорию.

FIO!ChDir( STRING<PathName> ) BOOL

PathName - имя директории.

FIO!RmDir

Назначение.Удаляет директорию.

FIO!RmDir( STRING<PathName> ) BOOL

PathName - имя директории.

FIO!MS_Create

Назначение.Создает mailslot.

FIO!MS_Create( STRING<Name> ) LONG<hRMS>

Name - имя слота.

FIO!MS_Open

Назначение.Открывает существующий mailslot.

FIO!MS_Open( STRING<Name> ) LONG<hRMS>

Name - имя слота.

FIO!MS_Check

Назначение.Проверка наличия сообщения.

FIO!MS_Check( LONG<hRMS>, LONG<Timeout> ) LONG

hRMS- хэндел слота.
Timeout- время ожидания сообщения в миллисекундах.

Описание.Функция возвращает кол-во сообщений находящихся в буфере.

FIO!MS_RdMsg

Назначение.Чтение сообщения.

FIO!MS_RdMsg( LONG<hRMS> ) VARIABLE

hRMS- хэндел слота.

Описание.Функция читает очередное сообщение из буфера. При отсутствии или ошибке возвращается NULL. Код ошибки можно получить вызвав функцию FIO!LastError(0).

FIO!MS_WrMsg

Назначение.Запись сообщения.

FIO!MS_WrMsg( LONG<hSMS>, STRING<sMsg> ) LONG

hRMS- хэндел слота.
sMsg- текст сообщения.

Описание.Функции пишет сообщение в ранее открытый слот и возвращает кол-во записанных байт. Код ошибки можно получить вызвав функцию FIO!LastError(0).

Hosted by uCoz