Метод АРХИВ_ФАЙЛ.СЧИТАТЬ_ЗНАЧ
Метод СЧИТАТЬ_ЗНАЧ позволяет считать произвольное значение инвариантного типа из текущей позиции в файле. Файл должен быть открыт на чтение.
ФУНКЦИЯ *: СЧИТАТЬ_ЗНАЧ
Возвращаемое значение
Считанное значение.
С помощью этого метода можно считать значение, записанное только с помощью метода ЗАПИСАТЬ_ЗНАЧ.
Инвариантными типами являются:
- простые типы: целое, вещественное, строка, логика, дата, время;
- объектные типы, объявленные в подключаемых модулях (за исключением физических типов);
- объектные типы, объявленные источниками типов времени выполнения в подключаемых модулях;
- контейнерные типы, объявленные в подключаемых модулях (начиная с версии 10.2).
Если тип записанного в файле значения не используется в читающей программе, то это не является ошибкой, параметр знач остается без изменения, а позиция в файле сдвигается к следующему элементу. Для принудительного использования типов ожидаемых значений применяйте конструкцию языка ИСПОЛЬЗОВАТЬ ТИП <имя типа>.
Для считывания значения неизвестного заранее типа используйте объявление переменной неопределенного типа: " ПЕРЕМ *: <имя переменной> ". После считывания можно проверить тип считанного значения с помощью сравнения " ТИП(<имя переменной>) = <имя типа> ".
Пример:
ПЕРЕМ АРХИВ_ФАЙЛ: ф ЕСЛИ ф.ОТКРЫТЬ("values.bin", ФРЕЖ_ЧТЕНИЕ ) ТО ПЕРЕМ *: знач = ф.СЧИТАТЬ_ЗНАЧ ЕСЛИ ТИП(знач) = СТРОКА ТО // обрабатываем считанную строку: СТРОКА(знач) ИНАЧЕ ЕСЛИ ТИП(знач) = ЦВЕТ ТО // обрабатываем считанный цвет: ЦВЕТ(знач) КОНЕЦ_ЕСЛИ КОНЕЦ_ЕСЛИ КОНЕЦ_ЕСЛИ