Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Фaйлы 
Потоки - FileStream

FileStream
Краткое описание
   Компонент предназначен для доступа к файловому потоку
Параметры
  • FileName - Определяет имя файла для загрузки или сохранения данных по умолчанию
  • Mode - Режим доступа к файлу: Read - чтение (загрузка) данных из файла, Write - запись данных в файл, ReadWrite - чтение и запись
  • AutoCopy - Автоматически открывает и закрывает файл при копировании методом doCopyFromStream
  • Методы
  • doOpen - Открывает файл (см. OnLoad)
  • doClose - Закрывает файл и запрещает доступ к данным
  • doCopyFromStream - Копирует данные из входного Потока в файл (при Mode=Write)
  • doPosition - Устанавливает номер байта, с которого начинается считывание/чтение данных
  • События
  • onLoad - Событие происходит всякий раз при успешной загрузке данных из файла (при Mode=Read)
  • Свойства
  • Stream - Содержит идентификатор данных файла
  • Size - Содержит размер файла в байтах
  • Position - Содержит позицию текущего байта в файле
  • Данные
  • FileName - Определяет имя файла для загрузки или сохранения данных
  • Примеры
       Пример использования компонента FileStream

    
    Add(MainForm,2953706,91,98)
    {
    Caption="Пример использования компонента FileStream"
    link(onCreate,3591058:doOpen,[])
    }
    Add(Image,5781228,280,112)
    {
    Left=48
    Top=15
    Width=290
    Height=230
    }
    Add(BitmapStream,6451387,224,112)
    {
    link(onRead,5781228:doLoad,[])
    link(Stream,3591058:Stream,[(230,100)(209,100)(209,156)(174,156)])
    }
    Add(FileStream,3591058,168,112)
    {
    FileName="c:\\Program Files\\HiAsm\\Int\\logo.bmp"
    AutoCopy=0
    link(onLoad,6451387:doRead,[])
    }
       Пример использования элемента для соединения нескольких файлов в один:

    
    Add(MainForm,9361407,273,140)
    {
    Width=358
    Height=128
    Caption="Склеивание файлов"
    }
    Add(FileStream,14688063,532,238)
    {
    Mode=1
    Point(doCopyFromStream)
    Point(doPosition)
    link(onLoad,16436871:doData,[])
    }
    Add(Edit,2192225,371,189)
    {
    Left=75
    Top=10
    Width=260
    Text=""
    ReadOnly=0
    link(onChange,14688063:doOpen,[(511,195)(511,244)])
    }
    Add(Button,4074826,420,203)
    {
    Left=10
    Top=65
    Width=325
    Caption="Записать на диск"
    link(onClick,14688063:doClose,[(492,209)(492,251)])
    }
    Add(FileStream,16378432,420,252)
    {
    link(onLoad,1018753:doEvent1,[])
    }
    Add(ODialog,3015364,322,252)
    {
    link(onExecute,16405465:doText,[])
    }
    Add(Edit,16405465,371,252)
    {
    Left=75
    Top=40
    Width=260
    Text=""
    ReadOnly=0
    link(onChange,16378432:doOpen,[])
    }
    Add(Button,9182617,273,252)
    {
    Left=10
    Top=40
    Width=60
    Caption="Файл 2"
    link(onClick,3015364:doExecute,[])
    }
    Add(DoData,16436871,581,238)
    {
    link(onEventData,14688063:doPosition,[(622,244)(622,289)(519,289)(519,265)])
    link(Data,14688063:Size,[(587,226)(572,226)(572,281)(545,281)])
    }
    Add(ODialog,12961147,322,189)
    {
    link(onExecute,2192225:doText,[])
    }
    Add(Button,13789902,273,189)
    {
    Left=10
    Top=10
    Width=60
    Caption="Файл 1"
    link(onClick,12961147:doExecute,[])
    }
    Add(Hub,1018753,469,252)
    {
    link(onEvent1,14688063:doCopyFromStream,[])
    link(onEvent2,16378432:doClose,[(492,265)(492,290)(411,290)(411,265)])
    }
    Замечания
       При Mode = ReadWrite компонент при копировании потока автоматически выставляет внутреннюю позицию записи в конец данных.

    Обновление элемента: [svn]FileStream.pas[/svn]
    BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...