Delphi World - Byte-поля Paradox
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Byte-поля Paradox

Автор: Mark Edington

Что за магия при записи в поле Paradox Byte? По этому поводу в документации ничего не сказано.

Есть 2 пути получить доступ к данным в TBytesField.

  1. Просто вызовите метод GetData, передавая ему указатель на буфер, где сам буфер должен иметь размер, достаточный для хранения данных:

  2. procedure SetCheckBoxStates;
    var
      CBStates: array[1..13] of Byte;
    begin
      CBStateField.GetData(CBStates);
      { Здесь обрабатываем данные... }
    end;
    

    Для записи значений вы должны использовать SetData.

  3. Используйте свойство Value, возвращающее вариантный массив байт (variant array of bytes):

  4. procedure SetCheckBoxStates;
    var
      CBStates: Variant;
    begin
      CBStates := CBStateField.Value;
      { Здесь обрабатываем данные... }
    end;
    

Первый метод, вероятно, для вас будет легче, поскольку вы сразу докапываетесь до уровня байт. Запись данных также получится сложнее, поскольку вам нужно будет работать с variant-методами типа VarArrayCreate и др.

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования