![]() |
![]() |
![]() |
После того как компонент
будет добавлен в пакет, необходимо проверить поведение компонента во время разработки
приложения, использующего этот компонент (работоспособность компонента была
проверена раньше, когда он добавлялся в форму приложения динамически, во время
работы программы).
Можно считать, что
компонент работает правильно, если во время разработки приложения удалось поместить
этот компонент в форму разрабатываемого приложения и, используя окно Object
Inspector, установить, значения свойств компонента, причем как новых, так
и унаследованных от родительского класса.
Работоспособность компонента
NkEdit можно проверить, использовав его, например, в приложении Поездка на
дачу, вид формы которого приведен на рис. 16.9.
Рис. 16.9. Форма
приложения Поездка на дачу (поля ввода-редактирования компонента
NkEdit)
Внешне форма разрабатываемого
приложения почти ничем не отличается от формы приложения Поездка на дачу,
рассмотренного в гл. 6. Однако если выбранным компонентом будет поле ввода,
то в окне Object Inspector указано, что текущим компонентом является
компонент класса TNkEdit, a в списке свойств можно увидеть новое (по сравнению
со списком свойств стандартного компонента Edit) свойство — Numb (рис. 16.10).
Рис. 16.10. Свойство
компонента NkEdit отражено в окне Object Inspector
В листинге 16.4 приведен
модуль приложения Поездка на дачу. Очевидно, что текст программы значительно
меньше первоначального варианта, в котором для ввода данных использовался компонент
Edit.
Листинг 16.4.
Приложение "Поездка на дачу" тест компонента
unit fazenda
;
interface
uses
Windows, Messages, SysUtils,
Variants,
Classes, Graphics, Controls,
Forms,
Dialogs, StdCtrls,
NkEdit;
// ссылка на модуль компонента
type
TForm1
= class(TForm)
NkEdit
1: TNkEdit; //расстояние
NkEdit2:
TNkEdit; // цена литра бензина
NkEditS:
TNkEdit; // потребление бензина на 100 км
CheckBox1:
TCheckBox; // True — поездка туда и обратно
Button1: TButton; Label4: TLabel;
Label1: TLabel; Label2: TLabel;
Label3:
TLabel;
//
кнопка Вычислить
//
поле вывода результата расчета
procedure
ButtonlClick(Sender: TObject);
procedure NkEditlKeyPress
(Sender:
TObject; var Key: Char);
procedure NkEdit2KeyPress
(Sender:
TObject; var Key: Char);
procedure NkEditSKeyPress
(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1:
TForm1;
implementation
{$R
*.dfm}
//
нажатие клавиши в поле Расстояние
procedure TForm1.NkEdit1KeyPress
(Sender:
TObject; var Key: Char);
begin
if
Key = Char(VK_RETURN)
then NkEdit2.SetFocus; // переместить курсор в поле Цена
end;
//
нажатие клавиши в поле Цена
procedure TForm1.NkEdit2KeyPress
(Sender:
TObject; var Key: Char);
begin
if
Key = Char(VK_RETURN)
then NkEdit3.SetFocus;
// переместить курсор в поле Потребление
end;
//
нажатие клавиши в поле Потребление
procedure TForm1.NkEdit3KeyPress
(Sender:
TObject; var Key: Char);
begin
if
Key = Char(VK_RETURN)
then Buttonl.SetFocus; //
// сделать активной кнопку Вычислить
end;
//
щелчок на кнопке Вычислить
procedure
TForml.ButtonlClick(Sender: TObject);
var
rast
: real; // расстояние
cena
: real; // цена
potr
: real; // потребление на 100 км
summ
: real; // сумма
mes:
string; begin
rast
:= StrToFloat(NkEdit1.Text);
cena
:= StrToFloat(NkEdit2.Text);
potr
:= StrToFloat(NkEdit3.Text) ;
summ
:= rast / 100 * potr * cena;
if
CheckBoxl.Checked then sunnm := summ * 2;
mes
:= 'Поездка на дачу';
if
CheckBoxl.Checked then mes := mes + ' и обратно';
mes := mes + 'обойдется в '
+
FloatToStrF(summ,ffGeneral,4,2) + ' руб.';
Label4.Caption := mes;
end;
end.
![]() |
![]() |
![]() |
1. Электромагнитная волна (в религиозной терминологии релятивизма - "свет") имеет строго постоянную скорость 300 тыс.км/с, абсурдно не отсчитываемую ни от чего. Реально ЭМ-волны имеют разную скорость в веществе (например, ~200 тыс км/с в стекле и ~3 млн. км/с в поверхностных слоях металлов, разную скорость в эфире (см. статью "Температура эфира и красные смещения"), разную скорость для разных частот (см. статью "О скорости ЭМ-волн")
2. В релятивизме "свет" есть мифическое явление само по себе, а не физическая волна, являющаяся волнением определенной физической среды. Релятивистский "свет" - это волнение ничего в ничем. У него нет среды-носителя колебаний.
3. В релятивизме возможны манипуляции со временем (замедление), поэтому там нарушаются основополагающие для любой науки принцип причинности и принцип строгой логичности. В релятивизме при скорости света время останавливается (поэтому в нем абсурдно говорить о частоте фотона). В релятивизме возможны такие насилия над разумом, как утверждение о взаимном превышении возраста близнецов, движущихся с субсветовой скоростью, и прочие издевательства над логикой, присущие любой религии.
4. В гравитационном релятивизме (ОТО) вопреки наблюдаемым фактам утверждается об угловом отклонении ЭМ-волн в пустом пространстве под действием гравитации. Однако астрономам известно, что свет от затменных двойных звезд не подвержен такому отклонению, а те "подтверждающие теорию Эйнштейна факты", которые якобы наблюдались А. Эддингтоном в 1919 году в отношении Солнца, являются фальсификацией. Подробнее читайте в FAQ по эфирной физике.
|
![]() |