Руководство разработчика

Метод АРХИВ_ФАЙЛ.СЧИТАТЬ_ЗНАЧ

Метод СЧИТАТЬ_ЗНАЧ позволяет считать произвольное значение инвариантного типа из текущей позиции в файле. Файл должен быть открыт на чтение.

ФУНКЦИЯ *: СЧИТАТЬ_ЗНАЧ

Возвращаемое значение

Считанное значение.

С помощью этого метода можно считать значение, записанное только с помощью метода ЗАПИСАТЬ_ЗНАЧ.

Инвариантными типами являются:

  1. простые типы: целое, вещественное, строка, логика, дата, время;
  2. объектные типы, объявленные в подключаемых модулях (за исключением физических типов);
  3. объектные типы, объявленные источниками типов времени выполнения в подключаемых модулях;
  4. контейнерные типы, объявленные в подключаемых модулях (начиная с версии 10.2).

Если тип записанного в файле значения не используется в читающей программе, то это не является ошибкой, параметр знач остается без изменения, а позиция в файле сдвигается к следующему элементу. Для принудительного использования типов ожидаемых значений применяйте конструкцию языка ИСПОЛЬЗОВАТЬ ТИП <имя типа>.

Для считывания значения неизвестного заранее типа используйте объявление переменной неопределенного типа: " ПЕРЕМ *: <имя переменной> ". После считывания можно проверить тип считанного значения с помощью сравнения " ТИП(<имя переменной>) = <имя типа> ".

Пример:

ПЕРЕМ АРХИВ_ФАЙЛ: ф
ЕСЛИ ф.ОТКРЫТЬ("values.bin", ФРЕЖ_ЧТЕНИЕ ) ТО
    ПЕРЕМ *: знач = ф.СЧИТАТЬ_ЗНАЧ
    ЕСЛИ ТИП(знач) = СТРОКА ТО
        // обрабатываем считанную строку: СТРОКА(знач)
    ИНАЧЕ
        ЕСЛИ ТИП(знач) = ЦВЕТ ТО
            // обрабатываем считанный цвет: ЦВЕТ(знач)
        КОНЕЦ_ЕСЛИ
    КОНЕЦ_ЕСЛИ
КОНЕЦ_ЕСЛИ

См. также: