M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

    Класс TParam

    Класс TParam инкапсулирует свойства отдельного параметра. Имя параметра определяется свойством

    property Name: String;

    Тип данных параметра задает свойство

    property DataType: TFieldType;

    Тип данных параметра и связанного поля должны совпадать.

    Тип параметра определяется множеством

    type

    TParamType = (ptUnknown, ptInput, ptOutput, ptlnputOutput, ptResult); TParamTypes = set of TParamType;

    которое имеет следующие значения:

    •  ptUnknown — тип неизвестен;
    •  ptinput — параметр предназначен для передачи значения из приложения;
    •  ptOutput — параметр предназначен для передачи значения в приложение;
    •  ptlnputOutput — параметр предназначен для передачи и приема значения;
    •  ptResult — параметр предназначен для передачи в приложения информации о статусе операции.

    Свойство

    property ParamType: TParamType;

    определяет тип параметра.

    При работе с параметрами довольно часто бывает необходимо определить, имеет ли параметр ненулевое значение. Для этого используется свойство

    property IsNull: Boolean;

    Свойство возвращает значение True, если параметр не имеет значения или имеет значение Null.

    Свойство

    property Bound: Boolean;

    возвращает значение True только тогда, когда параметру не присваивалось значение вообще.

    Метод

    procedure Clear;

    присваивает параметру значение Null.

    Само значение параметра задается свойством

    property Value: Variant;

    Но использование вариантов не очень эффективно, когда требуется обеспечить максимальную скорость. В таких случаях можно обратиться к целому набору свойств AS ..., которые не только возвращают значение, но и приводят его к некоторому типу. Например, свойство

    property Aslnteger: Longlnt;

    возвращает целочисленное значение поля.

    Примечание 

    Необходимо осторожно использовать свойства с приведением типа, т. к. попытка преобразования неверного значения вызовет исключительную ситуацию.

    Для чтения из буфера и записи в буфер значения параметра соответственно используются методы

    procedure SetData(Buffer: Pointer);

    procedure GetData(Buffer: Pointer);

    а необходимый размер при записи в буфер позволит определить метод

    function GetDataSize: Integer;

    Можно скопировать тип данных, имя и значение параметра прямо из поля данных. Для этого применяется метод

    procedure AssignField(Field: TField);

    а для присвоения типа данных и значения используется метод

    procedure AssignFieldValue(Field: TField; const Value: Variant);

    Общее число знаков для числовых значений определяет свойство

    property Precision: Integer;

    А свойство

    property NumericScale: Integer;

    задает число знаков после запятой.

    Для строковых параметров размер задает свойство

    property Size: Integer;