| Rapid-Q Documentation by William Yu (c)1999-2000 | Appendix A: QFILESTREAM |
| Поле | Тип | R/W | По умолчанию | Поддерживается |
| EOF | INTEGER | R | WXG | |
| EOF определяет когда указатель текущей позиции достиг конца файла. | ||||
| Handle | INTEGER | R | W | |
| . ???? | ||||
| LineCount | INTEGER | R | WXG | |
| LineCount определяет сколько строк содержится в текстовом файле. Признаком конца строки считается символ LF (ascii 10), а симво CR игнорируется , поэтому CRLF считается одной строкой, а LFLF - 2 строки. | ||||
| Position | INTEGER | RW | WXG | |
| Position - определяет текущую позицию указателя в байтах и операции чтения\записи будут начинаться с этого места. | ||||
| Size | INTEGER | R | WXG | |
| Size - определяет размер файла в байтах. | ||||
| Метод | Тип | Описание | Параметры | Поддерживается |
| Close | SUB | Закрывает файл после работы с ним | 0 | WXG |
| CopyFrom | SUB (Stream, Bytes&) | Копирует данные из другого потока QFileStream или QMemoryStream Если Bytes&=0 то копируются все данные | 2 | W |
| Используйте CopyFrom для копирования QFILESTREAM или QMEMORYSTREAM в текущий файл. Детали: Если Bytes% = 0 то все данные будут скопированы. Пример:
| ||||
| ExtractRes | SUB (Resource AS LONG) | Извлекает ресурсы в файл | 1 | WXG |
| Извлекает ресурсы из вашей програмы в файл Детали: Параметр Resource это не указатель на ресурс (resource handle), а абсолютная позиция ресурса в вашей программе. Используйте ключевое слово Resource(n) для указания номера ресурса. Пример (извлечение в память (dumping) всех ресурсов):
| ||||
| LoadArray | SUB (Array(), NumElements&) | Считывает данные из файла в массив | 2 | WXG |
| Open | SUB (FileName$, Mode%) | Открывает файл, Mode% см. RAPIDQ.INC
'-- File Mode CONST fmCreate = 65535 ' создать CONST fmOpenRead = 0 ' только для чтения CONST fmOpenWrite = 1 ' только для записи CONST fmOpenReadWrite = 2 ' для чтения и записи | 2 | WXG |
| Read | SUB (variable) | Generic Read, determines the storage space and saves data in variable | 1 | WXG |
| Datasize is automatically determined, and the value is stored into the variable. Пример:
| ||||
| ReadLine | FUNCTION () AS STRING | Reads an entire line, supports UNIX files | 0 | WXG |
| ReadNum | FUNCTION (Num_Type) AS DOUBLE | Возвращает number
'-- ie. PRINT File.ReadNum(Num_SINGLE)
Num_Type can be next | 1 | WXG |
| ReadBinStr | FUNCTION (n) AS STRING | Read n bytes, returns the binary string | 1 | WXG |
| ReadStr | FUNCTION (n) AS STRING | Read n bytes, returns the text string | 1 | WXG |
| ReadUDT | SUB (MyType) | Read and store data in a MyType structure | 1 | WXG |
| SaveArray | SUB (Array(), NumElements&) | Save array | 2 | WXG |
| Seek | SUB (Position%, From%) | Seek to Position%, From% see RAPIDQ.INC '-- Offsets CONST soFromBeginning = 0 '-- Seek (offset) from Beginning CONST soFromCurrent = 1 '-- Seek (offset) from Current position CONST soFromEnd = 2 '-- Seek (offset) from End | 2 | WXG |
| Write | SUB (variable) | Generic Write, determines the storage space and saves data to file | 1 | WXG |
| WriteLine | SUB (S AS STRING) | Writes string with CR+LF | 1 | WXG |
| WriteNum | SUB (number, bytes%) | Writes a number to file | 2 | WXG |
| WriteBinStr | SUB (string, bytes%) | Writes a binary string to file | 2 | WXG |
| WriteStr | SUB (string, bytes%) | Writes a text string to file (fast) | 2 | WXG |
| WriteUDT | SUB (MyType) | Write data stored in a MyType structure | 1 | WXG |
$INCLUDE "RAPIDQ.INC"
DIM File AS QFileStream
File.Open("test.bas", fmOpenRead)
S$ = File.ReadStr(File.Size) '' Read entire file
PRINT S$ '' print it
File.Close
'------------------------------------------------------
$INCLUDE "RAPIDQ.INC"
TYPE MyType
Name AS STRING*30
Phone AS STRING*8
Age AS INTEGER
END TYPE
DIM Person AS MyType
Person.Name = "Joe"
Person.Phone = "555-5555"
DIM File AS QFileStream
File.Open("test", fmCreate)
File.WriteUDT(Person)
| Предыдущий Компонент | Содержание | Следующий Компонент |