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 и др.


Далее: Paradox в сети »»