Основы офисного программирования и язык VBA


Работа с данными переменной длины - часть 3


Описатель позволяет оператору Get корректно прочитать эту строку.
  • Запись второй строки начинается с 21-го байта, границы первой записи, общий размер файла становится равным 35 с учетом размера второй строки и ее описателя.
  • Третья запись не изменяет размера файла, поскольку происходит изменение значения первой записи, так что файл по-прежнему содержит только две записи.
  • Далее начинается запись данных типа Variant. Теперь при записи строки используются два описателя, занимающие 4 байта.
  • Две последние записи содержат числовые данные Double (8 байтов) и Integer (2 байта) с их описателями.
  • Заканчивая тему работы с файлами произвольного доступа, хотим еще раз обратить внимание на некоторые опасные моменты, возникающие в процессе работы с ними и не контролируемые VBA:

    1. Явно задавайте при открытии файла, как при чтении, так и при записи параметр Len ѕ максимальный размер записи. Если этого не сделать, то программа будет работать, но, к сожалению, результаты могут быть не предсказуемыми.
    2. Будьте особенно внимательными при работе с данными переменной длины, помните, что к данным автоматически присоединяются описатели.
    3. Размер файла определяется записью с максимальным номером. Чтобы избежать большого числа "дырок" в файле стройте разумные функции ключа так, чтобы ключи записей занимали достаточно плотный начальный интервал от 1 до N.




    Начало  Назад  Вперед



    Книжный магазин