к 4GL - визуальному программированию   Kylix   RUNTU   ОС  

Палитра компонентов Kylix

Методы

Методы - это процедуры или функции, принадлежащие объекту. Методы определяют поведение объекта. Для вызова метода объекта нужно указать объект, с которым ассоциирован данный метод, затем, через точку, - название метода. Например:

Button1.Click

Вызывается метод нажатием (click) кнопки (Buttoni).
Дйя создания метода его нужно сначала объявить внутри описания класса Ййи компонента, содержащего данный метод. Например:

type
TMyComponent = class(TObject)
...
procedure DoSomething;
...
:end;

Здесь, внутри описания нового компонента, мы объявляем метод DoSomething с помощью служебного слова procedure. После того как мы объявили новый метод, необходимо создать тело данного метода. Эта процедура может находиться где угодно внутри модуля, в котором был описан Компонент. Например:

procedure TMyComponent.DoSomething;
begin
// Здесь размещаем команды и операторы, которые должны выполняться
// при вызове метода DoSomething на выполнение
end;

Заметим, что при создании процедуры DoSomething мы должны указывать полное имя вместе с указанием имени компонента или класса (procedure TMyComponent.DoSomething;).
Рассмотрим основные методы среды Kylix.

Метод Add предназначен для добавления нового элемента в список типа TList, TStringList или TStrings. Если список не отсортирован, то новый элемент добавляется в самый конец списка. Если список отсортирован, новый элемент добавляется в позицию списка, определяемую сортировкой. Вызов настоящего метода увеличивает значение свойства count для этого списка. При выполнении данного метода может возникнуть исключение EListError в случае, когда список отсортирован, добавляемая строка уже присутствует в списке и для данного списка свойство Duplicates установлено в dupError.

Метод Arc предназначен для рисования дуги окружности или эллипса. В качестве параметров метода передаются координаты четырех точек. Первые две точки (x1, y1) и (х2, y2) определяют прямоугольник, описывающий эллипс. Следующая точка (х3, y3) определяет начальную точку дуги, которая находится на пересечении прямой, проходящей через центр окружности или эллипса и точки (х3, yЗ). Точка (х4, y4) определяет конечную точку дуги, которая находится на пересечении прямой, проходящей через центр окружности или дуги и точки (х4, y4). Дуга рисуется против часовой стрелки, от начальной до конечной точки (рис. 8.13).



Рис. 8.13. Координаты точек, задаваемых при вызове метода Arc

Для рис. 8.13 можно привести такой пример вызова метода Arc:

Image1.Canvas.Arc (0,0, 200,100, 200,10, 0,0);

Метод Assign применяется для копирования данных одного объекта в другой. Настоящий метод имеет отличие от простого присваивания: объект1 := объект2, которое заключается в том, что при присваивании ука--затель на объект-назначение начинает указывать на объект-источник, а метод Assign создает новую копию объекта. После применения метода Assign получается два объекта с одинаковыми данными. Если объекты разного типа, то при вызове D.Assign(S) тип D должен "знать", как скопировать в него тип S (тип S может ничего не знать о преобразовании типов). Если метод Assign не может осуществить преобразование типов, он вызывает защищенный метод AssignTo, объявленный в классе TPersistent и перегруженный в классах, производных от него. Вызов имеет вид S.AssignTo(D). Если и метод AssignTo не может осуществить преобразование или если он не перегружен, вызывается AssignTo класса TPersistent и генерируется исключение. Метод Assign можно применять в разных ситуациях. Хорошей иллюстрацией применения данного метода может служить копирование изображения из буфера обмена в графический компонент Timage:

Image1.Picture.Assign (Clipboard);

и, наоборот, из компонента в буфер обмена

Clipboard.Assign (Imagel.Picture);

Метод BeginDrag вызывается, когда начинается процесс перетаскивания компонента. Данный метод применяется только в том случае, если свойство DragMode компонента имеет значение dmManual. В случае, когда свойство имеет значение dmAutomatic, перетаскивание компонента осуществляется автоматически. Вызов данного метода обычно вставляют в Обработчик события OnMouseDown. Параметр Immediate метода BeginDrag показывает, сразу ли после нажатия кнопки мыши указатель курсора сменит вид на тот, который определен в свойстве DragCursor, и сразу ли начнется процесс перетаскивания. В случае, если параметр immediate имеет значение false, перетаскивание начинается только после того, как пользователь щелкнет на компоненте и сместит указатель мыши на рас-чстояние в пять пикселов. Это удобно для того, чтобы обрабатывать щелчок на компоненте, не начиная его немедленного перетаскивания.

Метод BringToFront применяется для переноса компонента наверх в так называемой Z-последовательности. Z-последовательность определяет порядок компонентов в свойстве controls родительского оконного компонента (см. разд. "Иерархия визуальных компонентов" данной главы). Тот компонент, который расположен в Z-последовательности выше других, в случае частичного или полного перекрытия компонентов будет виден. Таким образом, вызов метода BringToFront позволит переместить "наверх" компонент, скрытый под другими компонентами. Данный метод можно применять как к неоконным, так и к оконным компонентам. Однако все неоконные компоненты располагаются в Z-последовательности ниже оконных, поэтому в случае, если неоконный компонент перекрыт оконным, например кнопка перекрыта компонентом типа тмето, вызов Метода BringToFront для кнопки ничего не даст.
BrushCopy вызывается для копирования части изображения битовой матрицы на область вывода (канву) и замены указанного цвета в изображении на значение, установленное для кисти канвы.

Метод CanFocus применяется для определения, может ли данный компонент получать фокус. Данный метод возвращает значение true, если у компонента и всех его родителей свойства visible и Enabled имеют значения true.
Метод ChangeScale применяется для изменения масштаба компонента и его дочерних элементов. При вызове настоящего метода масштабируются такие свойства компонента, как тор, Left, width, Height. Данный метод имеет два параметра, определяющих множитель и делитель масштаба: M и D. Приведем пример использования этого метода. Допустим, мы хотим увеличить размер формы Form1 в два раза, для этого зададим множитель масштаба, равный двум, а делитель - равный единице:

Form1.ChangeScale (2,1);

При выполнении данной строки размеры формы Form1 увеличатся в два раза.
Для уменьшения размеров, например в три раза, нужно задать значение M равное единице, а значение D - равное трем:

Form1.ChangeScale (1,3);

Метод Chord применяется для рисования замкнутой фигуры, границами которой являются дуга окружности или эллипса и хорда. Параметры, данного метода аналогичны параметрам метода Arc. Результатом работы настоящего метода могут стать фигуры, изображенные на рис. 8.14.

Рис. 8.14. Фигуры, получаемые после вызова метода Chord

Метод ClassName применяется для определения имени типа компонента.
Метод Clear предназначен для удаления всех элементов, входящих в данный список, или для удаления всего текста, входящего в рассматриваемый компонент. Примеры:

ListBox1.Clear;
Memo1.Clear;

Настоящий метод можно применять и к объекту Clipboard. Вызов метода clear для буфера обмена удалит все содержимое буфера.
Метод Click служит для вызова обработчика события OnClick данного компонента. Применяется для имитации нажатия левой кнопки мыши над объектом. Например, для вызова обработчика события onciick кнопки Button1 можно проделать следующее:

Button1.Click;

Метод ClientToScreen применяется для преобразования координат клиентской области компонента в координаты экрана. Началом координат клиентской области является левый верхний угол клиентской области компонента. Началом координат экрана является левый верхний угол экрана. Для обратного преобразования координат можно использовать метод ScreenToClient.

Метод ContainsControl определяет, каким наследником (прямым или косвенным) является данный компонент по отношению к какому-либо оконному компоненту. Если этот компонент прямой наследник, то метод возвращает true, иначе - false.

Метод ControlAtPos предназначен для оконных компонентов. Он применяется для того, чтобы определить, какой дочерний компонент находится в позиции с координатами, задаваемыми параметром POS. В случае, если в заданной позиции нет ни одного дочернего компонента, данный метод возвращает в качестве результата значение nil. Второй параметр AllowDisabled определяет, нужно ли учитывать при вызове метода те компоненты, которые отключены (свойство Disabled = true).

Метод CopyRect применяется для копирования прямоугольной части изображения с одной канвы на другую. Копирование осуществляется в том режиме, который определен свойством CopyMode.

Метод Delete применяется по отношению к таким компонентам, как TList, TStringList, TStrings И TMenuItem. Данный метод вызывается
при необходимости удаления какого-либо элемента из списка. В качестве параметра этого метода передается число, определяющее индекс удаляемого элемента. Нумерация элементов начинается с нуля. При удалении пункта меню, содержащего подменю, удаляется и этот пункт, и его подменю.

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

Метод Destroy применяется для вызова деструктора объекта. То есть вызов данного метода уничтожает данный объект и освобождает занимаемую память.

Примечание
Не рекомендуется вызывать непосредственно метод Destroy для уничтожения объекта. Для этих целей лучше использовать метод Free, который проверяет, не была ли уже раньше освобождена занимаемая объектом память, после чего вызывает метод Destroy. Более того, метод Free генерирует меньший код. Для уничтожения форм используйте метод Release.

Метод DisabieAlign применяется для временного запрета выравнивания дочерних компонентов оконного компонента. Обратное действие можно получить, воспользовавшись методом EnableAlign.

Метод Dormant используется для создания битовой матрицы в оперативой памяти для освобождения дескриптора матрицы. Использование данного метода позволяет сократить расходы ресурсов графической подсистемы Linux, которые используются приложением. Приведем пример (листинг 8.1).

Листинг 8.1 Освобождение ресурсов графической подсистемы

// загрузка картинки в Bitmap1
Bitmap1.LoadFromFile ('mypicture.bmp');
// копирование в Bitmap2 из Bitmap1
Bitmap2.Assign (Bitmap1);
// применение метода Dormant и освобождение ресурсов графической
подсистемы
Bitmap2.Dormant;

Метод Draw применяется для рисования изображения, хранящегося в объекте, который определен параметром Graphic, в координаты, задаваемые параметрами х и y. Изображение может быть либо битовой матрицей, либо пиктограммой, либо метафайлом. Например:

Imagel.Canvas.Draw (10, 10, Image2.Picture.Bitmap);

Таким образом, в координаты (10, 10) канвы картинки Image1 будет занесен рисунок из канвы Картинки Image2.

Метод DrawFocusRect применяется для рисования прямоугольник с помощью булевой операции XOR. То есть повторное рисование такого же прямоугольника на том же месте удалит этот прямоугольник. Пример:

Image1.Canvas.DrawFocusRect (Rect (0,0,30,30);

Метод Ellipse применяется для рисования окружности или эллипса. Параметры - точки (x1, y1) и (х2, y2), определяющие прямоугольник, в который вписан эллипс.

Метод Error вызывается при необходимости генерации исключения при работе с объектом типа TList. Вызов данного метода дает лучший результат по сравнению с командой Raise. Примером вызова этого метода может служить следующая строка:

List.Error ('Ошибка в элементе %u списка List1, I);

Выполнение данной строки вызовет сообщение об ошибке в какой-либо строке списка.

Метод Exchange предназначен для обмена местами двух элементов списка. Позиции этих двух элементов задаются параметрами Index1 и Index2.

Примечание
Не применяйте метод Exchange для отсортированных списков- это может нарушить упорядоченность списков.

Метод Expand применяется для увеличения емкости списка типа TList. Вызов данного метода приводит к выделению дополнительной памяти для быстрого добавления новых элементов списка. В случае, если при вызове данного метода список не заполнен, его емкость не изменяется, иначе - увеличивается.

Метод FillRect применяется для заполнения указанного прямоугольника канвы цветом, определенным значением свойства Brush. Например, приведенный ниже код заполняет всю область канвы компонента image i фоновым цветом, определенным свойством Brush:

with Image1.Canvas do
FillRect (Rect (0, 0, Width, Height) );

Метод FindNextcontrol применяется для определения следующего за указанным в параметре Curcontrol дочернего оконного компонента, соответствующего последовательности табуляции. Если в качестве параметра выступает не дочерний элемент данного оконного компонента, то метод возвращает первый в последовательности табуляции компонент. Второй параметр GoForward определяет направление поиска компонента. Если данный параметр имеет значение true, то ищется следующий компонент, иначе - предыдущий. Следующий параметр checkTabstop - определяет, будут ли при поиске учитываться компоненты, в которых свойство Tabstop установлено в false. Если значение данного параметра равно true, то такие компоненты не учитываются, иначе - учитываются. Последний параметр checkParent применяется для того, чтобы указывать, учитывать ли при поиске только те компоненты, которые являются прямыми потомками данного оконного компонента. Если данный параметр равен false, то просматриваются все компоненты, иначе - только прямые потомки.

Метод First возвращает первый элемент списка типа TList.

Метод FloodFill применяется для закрашивания замкнутой области канвы произвольной формы каким-либо цветом. В качестве параметров данного метода выступают: начальная точка закрашивания, цвет и стиль заполнения. Начальная точка закрашивания (х, y) должна находиться внутри закрашиваемой области. Два других параметра применяются для задания границы этой области. Параметр Color применяется для указания цвета, который является границей закрашивания. Параметр Filistyle может иметь два значения. Если он равен fsSurface, то происходит закрашивание именно той области, которая окрашена цветом color, а на других цветах закрашивание не происходит. Если же пара-метр Filistyle имеет значение fsBorder, то заполняется область, в которой могут присутствовать любые цвета, кроме color, который является цветом границы закрашивания.

Метод Focused применяется для определения, является ли в настоящий момент времени данный оконный компонент активным. Данный метод возвращает значение true, если фокус принадлежит данному оконному компоненту, иначе - false.

Метод FrameRect применяется для рисования на канве прямоугольной рамки. Данный метод использует установки текущей кисти (Brush). Толщина рамки равна одному пикселу. Внутренняя часть рамки не заполня-,гется никаким цветом. В качестве примера приведем код, который рисует на канве компонента image1 красную прямоугольную рамку:
with Image1.Canvas do begin
Brush.Color := clRed;
FrameRect ( Rect (10,10,150,100) );
end;

Метод Free применяется для вызова деструктора объекта. Данный метод проверяет, не была ли уже ранее высвобождена память, предназначенная для данного объекта, после чего вызывает метод Destroy.

Метод GetTabOrderList предназначен для построения списка типа TList дочерних оконных компонентов, расположенных в последовательности табуляции. Свойство Tabstop во внимание не принимается. В список входят как прямые, так и косвенные потомки данного оконного компонента.

Метод HandieAilocated предназначен для проверки наличия дескриптора окна у данного компонента. В случае, если дескриптор окна есть, метод возвращает значение true. Данный метод удобно применять, если нет необходимости создавать дескриптор окна компоненту, у которого его нет. Непосредственная проверка свойства Handle компонента приводит к созданию дескриптора окна.

Метод HandieNeeded применяется для создания дескриптора окна для компонента, у которого его не было. При работе настоящий метод вызывает сначала метод createHandie у родительского компонента, а затем создает дескриптор для данного компонента.
Метод Hide применяется для того, чтобы сделать компонент невидимым. Вызов данного метода эквивалентен команде

Component.Visible := false;

Если данный компонент является оконным и содержит в себе другие компоненты, то эти компоненты также становятся невидимыми.

Примечание
Обратите внимание на тот факт, что хотя компонент является невидимым, все его свойства и методы являются доступными.

Метод Indexof применяется для определения индекса первого вхождения в компонент типа TList данного элемента. Если такого элемента в списке нет, метод возвращает значение-1.

Метод Insert предназначен для вставки нового элемента списка в заданную позицию. Единственный параметр данного метода Index показывает, в какую именно позицию будет вставлен новый элемент списка. При вставке нового элемента все последующие элементы сдвигаются (их индексы увеличиваются на единицу). В случае, если происходит попытка вставить новый элемент в отсортированный список, генерируется исключение EListError. Тогда лучше использовать метод Add.

Метод Invalidate используется для полной перерисовки компонента. Применяется, когда с компонентом произошли какие-либо визуальные изменения.

Метод Last возвращает значение, равное последнему указателю списка типа Tlist и значению Count -1.

Метод LineTo применяется для рисования на канве объекта прямой линии. Начало линии совпадает с текущим значением координат пера (penPos) и заканчивается в точке с координатами (х, y), за исключением самой точки, которые передаются в качестве параметров метода.

Метод LoadFromClipboardFormat применяется для загрузки изображения в графический компонент из буфера обмена.

Метод LoadFromFile предназначен для загрузки изображения в графический компонент из файла, задаваемого параметром FileName. Если данный графический файл по каким-либо причинам не может быть загружен (несоответствие типов, незарегистрированный графический формат файла), то генерируется исключение EInvalidGraphic.

Метод LoadFromstream позволяет загружать графическое изображение из потока, задаваемого параметром stream. Данный метод может использоваться при загрузке, например, графических полей в наборе данных из объекта типа TBlobStream.

Метод Lock применяется для блокировки канвы компонента и запрета рисования на ней из других потоков многопоточного приложения. Обратный результат достигается при помощи метода Unlock. При многократном вызове метода Lock будет увеличиваться свойство Lockcount, в котором фиксируется количество блокировок. Канва будет недоступной из других потоков, пока не снимется последняя блокировка. Если вы не хотите использовать многократную блокировку, можно воспользоваться методом TryLock. После блокирования канвы общая производительность приложения может существенно снизиться.
Метод Mask применяется для преобразования цветного изображения в черно-белую маску. В результате замены цвет TransparentCoior переходит в белый, а все остальные цвета - в черный.

Метод Move предназначен для перемещения элемента списка, находящегося в позиции, задаваемой параметром curindex, в позицию, задаваемую параметром Newlndex.

Метод MoveTo применяется для изменения текущей позиции пера (PenPos) в заданную параметрами (х, Y). При перемещении пера на канве ничего не рисуется. Данный метод аналогичен прямой установке коор-динат пера в свойстве PenPos.

Метод OpenBit предназначен для возврата индекса первого элемента массива типа TBits, имеющего значение false.

Метод Pack предназначен для удаления из списка типа TList всех элементов, значение которых равно nil. После удаления происходит переиндексация всех элементов списка.

Метод Pie рисует замкнутый сегмент окружности или эллипса. Параметры данного метода аналогичны параметрам метода Arc. В результате выполнения данного метода может получиться рисунок, похожий на рис. 8.15.

Метод Polygon рисует на канве многоугольник по заданному множеству точек, определенных массивом Points, причем первая точка соединяется с последней, после чего многоугольник закрашивается цветом, определенным свойством кисти Brush. Например:

Image1.Canvas.Polygon ( [ Point (10, 10), Point (30,10),
Point (130, 30), Point (240, 120) ] );

Вышеприведенный код рисует на канве компонента Image1 закрашенный четырехугольник, координаты которого заданы непосредственно.



Рис. 8.15. Результат выполнения Метода Pie

Метод PolyLine рисует на канве незамкнутый многоугольник, т. е. кусочно-линейную кривую. Основное отличие этого метода от метода Polygon заключается в том, что PolyLine не соединяет первую и последнюю точки массива Points.

Метод Rectangle предназначен для рисования на канве прямоугольника. В качестве параметров метода передаются координаты двух точек: верх-него левого и правого нижнего углов прямоугольника. Прямоугольник рисуется текущим пером Реп и закрашивается цветом, определенным в свойстве Brush.

Примечание
Для рисования прямоугольника без рамки используйте метод FillRect. Для рисования прямоугольника со скругленными углами используйте метод RoundRect. Чтобы нарисовать незакрашенный прямоугольник, используйте Метод FrameRect.

Метод Refresh служит для немедленной перерисовки изображения компонента. Данный метод вызывает метод Repaint.

Метод Remove предназначен для удаления элемента со значением, равным параметру Item из списка типа TList. Данный метод удобно приме-нять, когда неизвестен индекс удаляемого элемента, а известно лишь его значение. В противном случае можно применять метод Delete.

Метод Repaint применяется для перерисовки изображения компонента. Данный метод можно применять вместо метода Refresh. Метод Repaint вызывает сначала метод Invalidate, а затем - Update.

Метод RoundRect применяется для рисования прямоугольника со скругленными углами. Прямоугольник закрашивается цветом, установленным в свойстве Brush. Два параметра (x1, y1) и (х2, y2) задают координаты прямоугольника (как в методе Rectangle). Два других параметра х3 и y3 задают эллипс с шириной х3 и высотой y3. Углы прямоугольника скругляются с помощью данного эллипса.

Метод SaveToClipboardFormat применяется для создания копии изображения и передачи его в буфер обмена. Однако записать изображение в буфер обмена можно гораздо проще: воспользовавшись методом Assign.

Метод SaveToFile сохраняет графическое изображение в файл, задаваемый параметром FileName.

Метод SaveTostream сохраняет графическое изображение в поток, задаваемый параметром stream.

Метод ScreenToclient служит для преобразования координат экранной в координаты клиентской части данного компонента.

Метод ScrollBy предназначен для сдвига содержимого данного оконного компонента, включая все его дочерние компоненты. Два параметра DeltaX DeltaY задают, соответственно, сдвиг по горизонтали и по вертикали. Положительные значения задают сдвиг вправо и вниз, отрицательные - влево и вверх. Например, нижеприведенный код сдвигает содержимое формы Form1 на 10 пикселов влево:

Form1. ScrollBy (-10, 0);

Метод SelectFirst предназначен для передачи фокуса компоненту, наодящемуся первым в последовательности табуляции. Например, код

Form1. SelectFirst;

выберет первый находящийся в последовательности табуляции компонент для формы Form1.

Метод SelectNext передает фокус следующему компоненту, расположен-в последовательности табуляции после указанного в параметре CurControl. Второй параметр GoForward определяет направление поиска компонента: если он равен true - то вперед, иначе - назад. Последний парпметр ChekTabStop определяет, должен ли следующий компонент иметь значение true свойства TabStop.

Метод SendCancelMode предназначен для прекращения модального состояния данного компонента. Модальным состоянием называется такое состояние компонента, когда он ожидает от пользователя какого-либо действия, причем ни один другой компонент приложения не доступен. Вызов данного метода прекращает ожидание действия со стороны пользователя.

Метод SendToBack перемещает указанный компонент в самый конец Z-последовательности. Таким образом, компонент может стать невидимым из-за его перекрытия другими компонентами. Если данный компонент до вызова метода имел фокус, он его потеряет после выполнения метода.

Метод SetBounds предназначен для одновременного изменений "тырех свойств компонента: Left, тор, width и Height. Параметры, соответственно, Left, Top, Width и Height. Вызов данного метода позволяет сделать код приложения более компактным. Кроме того, перерисовка компонента произойдет здесь всего один раз, а не четыре, как если бы вы изменяли последовательно эти четыре свойства.

Метод SetChlldorder применяется для изменения позиции компонента, задаваемого параметром child, в списке дочерних компонентов данного оконного компонента. Компоненту присваивается новый индекс, задаваемый параметром order. Пример:

Form1.SetChildOrder (Buttonl, 5);

Таким образом, кнопка Button1 будет расположена в последовательности дочерних элементов формы Form1на шестом месте (нумерация начинается с нуля).

Метод SetFocus предназначен для передачи фокуса данному компоненту. Например:

Memo1.SetFocus;

Метод SetZOrder предназначен для перемещения данного компонента в начало или конец Z-последовательности. Если параметр TopMost имеет значение true, то компонент перемещается в начало Z-прсдедовательности, иначе - в конец.

Метод Show предназначен для того, .чтобы сделать видимым невидимый коиронент. То есть метод равносилен установке свойства Visible данного компонента в true.

Метод Sort предназначен для быстрой сортировки элементов списка типа TList.

Метод StretchDraw применяется для рисования графического изображения, содержащегося в компоненте, указанным параметром Graphic в прямоугольную область канвы, заданную параметром Rect, путем растягивания или сжимания изображения под размер данной области. Например, нижеприведенный код уменьшает изображение, находящееся в KdfcfridhtHte Image2 и имеющее размер больше чем 20x20 точек, до размера 20x20 точек и помещает его в компонент Image1:

Iinage1. Canvas.StretchDraw ( Rect (0,0,19,19), Image2.Picture.Bitmap);

Метод TextExtent применяется для получения и длины, и ширины текста Text, который предполагается вывести на канву данного компонента, используя текущий шрифт. Возвращаемое методом значение имеет тип TSize.

Метод TextHeight возвращает значение, равное высоте текста Text, который предполагается вывести на канву с использованием текущего шрифта.

Метод TехtOut предназначен для вывода строки текста, задаваемой параметром Text, на канву в позицию с координатами (х, y). Например:

Image1. Canvas.TextOut (10, 100, 'Мне нравится Kylix1);

выведет строку 'Мне нравится Kylix' на канву компонента Image1, начиная с координаты (10, 100).

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

Метод TextWidth предназначен для определения в пикселах длины текста Text, который предполагается вывести на канву компонента текущим шрифтом,

Метод TryLock блокирует канву компонента, не позволяя другим потокам I многопоточного приложения рисовать на ней. Данный метод возвращает значение true и устанавливает свойство LockCount в единицу, если канва не была ранее блокирована. Если канва была ранее блокирована, метод возвращает false и не увеличивает значение свойства LockCount.

Метод Unlock предназначен для разблокирования канвы компонента. Каждый вызов метода Unlock уменьшает значение свойства LockCount на единицу.

Метод Update предназначен для немедленной перерисовки компонента, без ожидания завершения каких-либо других процессов.

к 4GL - визуальному программированию   Kylix   RUNTU   ОС  

Знаете ли Вы, в чем ложность понятия "физический вакуум"?

Физический вакуум - понятие релятивистской квантовой физики, под ним там понимают низшее (основное) энергетическое состояние квантованного поля, обладающее нулевыми импульсом, моментом импульса и другими квантовыми числами. Физическим вакуумом релятивистские теоретики называют полностью лишённое вещества пространство, заполненное неизмеряемым, а значит, лишь воображаемым полем. Такое состояние по мнению релятивистов не является абсолютной пустотой, но пространством, заполненным некими фантомными (виртуальными) частицами. Релятивистская квантовая теория поля утверждает, что, в согласии с принципом неопределённости Гейзенберга, в физическом вакууме постоянно рождаются и исчезают виртуальные, то есть кажущиеся (кому кажущиеся?), частицы: происходят так называемые нулевые колебания полей. Виртуальные частицы физического вакуума, а следовательно, он сам, по определению не имеют системы отсчета, так как в противном случае нарушался бы принцип относительности Эйнштейна, на котором основывается теория относительности (то есть стала бы возможной абсолютная система измерения с отсчетом от частиц физического вакуума, что в свою очередь однозначно опровергло бы принцип относительности, на котором постороена СТО). Таким образом, физический вакуум и его частицы не есть элементы физического мира, но лишь элементы теории относительности, которые существуют не в реальном мире, но лишь в релятивистских формулах, нарушая при этом принцип причинности (возникают и исчезают беспричинно), принцип объективности (виртуальные частицы можно считать в зависимсоти от желания теоретика либо существующими, либо не существующими), принцип фактической измеримости (не наблюдаемы, не имеют своей ИСО).

Когда тот или иной физик использует понятие "физический вакуум", он либо не понимает абсурдности этого термина, либо лукавит, являясь скрытым или явным приверженцем релятивистской идеологии.

Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.

Для защиты релятивизма Поль Дирак ввел афизическое и алогичное понятие отрицательной энергии, а затем и существование "моря" двух компенсирующих друг друга энергий в вакууме - положительной и отрицательной, а также "моря" компенсирующих друг друга частиц - виртуальных (то есть кажущихся) электронов и позитронов в вакууме.

Однако такая постановка является внутренне противоречивой (виртуальные частицы ненаблюдаемы и их по произволу можно считать в одном случае отсутствующими, а в другом - присутствующими) и противоречащей релятивизму (то есть отрицанию эфира, так как при наличии таких частиц в вакууме релятивизм уже просто невозможен). Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution