Функция считывает последовательно записи из полученного потока (возвращаемое значение — True), пока не будет достигнут конец потока (возвращаемое значение — False).
Синтаксис | ||
GetValueFromStream (Stream: TStream; TimeStamp: Extended; Value: Extended): Boolean | ||
Входные параметры | ||
Имя параметра | Тип параметра | Описание |
Stream | TStream | Поток, полученный функцией StreamReadFromDatabase |
TimeStamp | Extended | Считанная временная метка |
Value | Extended | Считанное значение |
Выходные параметры | ||
Тип параметра | Описание | |
Boolean | Возвращаемое значение: True - функция считывает последовательно записи из считанного потока; False - конец потока достигнут. |
Var res, f: Integer; beginData, endData: TDate; dtDate: TDateTime; dValue: Double; nameChannel: String; stream: TMemoryStream; Begin nameChannel := 'Температура 1'; beginData := now()-1; endData := now(); stream := TMemoryStream.Create; try res := StreamReadFromDatabase(beginData, endData, nameChannel, stream); if res = 0 then begin while GetValueFromStream(stream, dtDate, dValue) do begin //ваш код работы со значениями dValue ... f := f + 1; // просто подсчитываем записи для проверки работы while end; WriteValue('Virtual channel 99', 'Обработка ' + IntToStr(f) + ' записей завершена.'); end else WriteValue('Virtual channel 99', 'Ошибка считывания: ' + IntToStr(res)); finally stream.Free; end; end. |