скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook