Класс
TParams
Класс TParams представляет собой список параметров.
Доступ к элементам списка возможен через индексированное свойство
property Items[Index: Word]: TParam;
а к значениям параметров — через свойство
property ParamValues[const ParamName: String]: Variant;
Добавить новый параметр можно методом
procedure AddParam(Value: TParam);
Но для него необходимо создать объект параметра. Это можно сделать методом
function CreateParamfFldType: TFieldType; const ParamName: string; ParamType: TParamType): TParam;
где FidType — тип данных параметра, ParamName — имя параметра и ParamType — тип параметра (см. ниже).
И оба метода можно использовать в связке:
MyParams.AddParam(MyParams.CreateParam(ftInteger, 'Paraml', ptInput));
Вместо того, чтобы заполнять параметры по одному, можно использовать метод
function ParseSQL(SQL: String; DoCreate: Boolean): String;
который при DoCreate = True анализирует текст запроса из свойства SQL и создает новый список параметров.
Или же, для присвоения значений сразу всем параметрам используется метод
procedure AssignValues(Value: TParams);
Для удаления параметра из списка применяется метод
procedure RemoveParam(Value: TParam);
При работе с параметрами для их идентификации полезно использовать обращение по имени, т. к. при работе с хранимыми процедурами после их выполнения порядок следования может измениться. Также и при использовании динамических запросов (их текст SQL может изменяться во время выполнения).
Для обращения к параметру по имени используется метод
function ParamByName(const Value: String): TParam;
В сложных запросах SQL или после многочисленных исправлений разработчик может допустить ошибку и создать два разных параметра с одним именем. В этом случае при выполнении запроса одноименные параметры считаются одним и им присваиваются значение первого по порядку запроса. Для контроля повторных имен в списке параметра используется метод
function IsEqual(Value: TParams): Boolean;
который возвращает значение True, если для параметра value найден дубликат.
Релятивисты и позитивисты утверждают, что "мысленный эксперимент" весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.
Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").
Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.
Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.
Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.