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

DataToFile
Краткое описание
   Компонент предназначен для записи и чтения данных в/из потока (Stream)
Параметры
  • Type - Тип данных
  • Методы
  • doPut - Сохраняет данные в файловом потоке
  • doGet - Возвращает данные из файлового потока
  • doPosition - Устанавливает номер байта значением из потока, с которого начинается считывание/запись данных
  • События
  • onGet - Событие происходит после вызова метода doGet и выдаёт в поток считанные данные
  • Свойства
  • Data - Возвращает данные из файлового потока (без вызова метода doGet)
  • Position - Содержит позицию текущего байта в потоке
  • Данные
  • Stream - Содержит идентификатор файла
  • Примеры
    Пример использования компонента DataToFile

    
    Add(MainForm,2953706,42,105)
    {
    Caption="Пример использования DataToFile"
    }
    Add(FileStream,2428179,168,105)
    {
    FileName="c:\\Program Files\\HiAsm\\License.txt"
    link(onLoad,9987174:doGet,[(210,111)(210,149)(151,149)(151,174)])
    }
    Add(DataToFile,9987174,168,161)
    {
    Type=5
    link(onGet,6218749:doAdd,[])
    link(Stream,2428179:Stream,[])
    }
    Add(Button,3584621,105,105)
    {
    Left=168
    Top=240
    link(onClick,2428179:doOpen,[])
    }
    Add(Memo,6218749,238,161)
    {
    Left=15
    Top=10
    Width=360
    Height=220
    ScrollBars=3
    }



    
    Add(MainForm,2953706,210,133)
    {
    Caption="Пример использования DataToFile"
    link(onCreate,9833339:doOpen,[])
    }
    Add(DataToFile,2840155,273,245)
    {
    link(onGet,12572114:doConvert,[])
    link(Stream,9833339:Stream,[])
    }
    Add(FileStream,9833339,273,147)
    {
    FileName="c:\\boot.ini"
    Point(doPosition)
    }
    Add(Convertor,12572114,329,245)
    {
    Mode=4
    link(onResult,6129329:doAdd,[])
    }
    Add(RichEdit,6129329,385,245)
    {
    Left=12
    Top=25
    Width=365
    Height=215
    Ctl3D=0
    ScrollBars=2
    InsertCRLF=1
    }
    Add(Timer,2693604,189,245)
    {
    Interval=100
    link(onTimer,4454323:doEvent1,[])
    }
    Add(Hub,4454323,238,245)
    {
    link(onEvent1,4699155:doCompare,[(263,251)(263,202)])
    link(onEvent2,2840155:doGet,[])
    }
    Add(If_else,4699155,280,196)
    {
    link(onTrue,2693604:doStop,[(329,202)(329,118)(177,118)(177,258)])
    link(Op1,9833339:Size,[])
    link(Op2,9833339:Position,[])
    }


    Замечания
       Описание формата данных
    Тип Размер Комментарий
    dtByte 1 Беззнаковый тип (0...255)
    dtWord 2 Беззнаковый тип (0...65535)
    dtCardinal 4 Беззнаковый тип (0...4294967295)
    dtInteger 4 Знаковый тип (-2147483648...2147483647)
    dtReal 8
    dtPString 2 + len(<строка>) Первыми двумя байтами записывается длинна строки (до 65536 знаков) далее пишется сама строка (по 1 байту на символ, никаких ограничений на значения байтов в строке)
    dtAnsiString len(<строка>) + 1 Сначало пишется строка (по 1 байту на символ), потом символ с кодом 0 (недопустимо использование этого символа в самой строке)
    dtLines len(<строка>) + 2 Сначало пишется строка (по 1 байту на символ), потом символы переноса и возврата каретки с кодом 13 и 10


    * запись в режиме dtLines предполагает последуещее построчное чтение данных из файла
    * при записи строк наиболее быстрым и эффективным способом является запись в режиме dtPString

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