Внесение
изменений
После нескольких запусков программы
Скорость бега возникает желание внести изменения в программу. Например,
было бы неплохо, чтобы после ввода дистанции и нажатия клавиши <Enter>
курсор переходил в поле Время. Или если бы в поля Дистанция и Время
пользователь мог ввести только цифры.
Чтобы внести изменения в программу,
нужно запустить Delphi и открыть соответствующий проект. Сделать это можно обычным
способом, выбрав из меню File команду Open Project. Можно также
воспользоваться командой Reopen из меню File. При выборе команды
Reopen открывается список проектов, над которыми программист работал
в последнее время.
В листинге В5 приведена программа
Скорость бега, в которую добавлены
Процедуры обработки событий OnKeyPress
Для компонентов Edit1 и Edit2.
Следует обратить внимание на то,
что для добавления в программу процедуры обработки события нужно в окне Object
Inspector выбрать компонент, для которого создается процедура, затем на
вкладке Events выбрать событие и сделать двойной щелчок в поле имени
процедуры. Delphi сформирует шаблон процедуры обработки события. После этого
можно вводить инструкции, реализующие процедуру обработки.
Листинг В5.
Модуль программы Скорость бега после внесения изменений unit vrun1;
interface
uses
Windows, Messages,
SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForml = class(TForm) Editl: TEdit;
Edit2: TEdit; Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Buttonl: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure EditlKeyPress(Sender:
TObject; var Key: Char);
private
{ Private declarations
} public
{ Public declarations
} end;
var
Form1: TForm1;
implementation
{$R *.dfm)
// нажатие
кнопки Вычислить
procedure TForm1.ButtonlClick(Sender:
TObject);
var
dist : integer;
// дистанция, метров
t: real; // время
как дробное число
min : integer; // время, минуты
sek : integer;
// время, секунды
v: real; // скорость
begin
// получить исходные данные из полей ввода
dist := StrToInt(Editl.Text);
t := StrToFloat(Edit2.Text);
// предварительные
преобразования
min := Trunc(t);
// кол-во минут — это целая часть числа t
sek := Trunc(t*100)
mod 100; // кол-во секунд — это дробная часть
// числа t
// вычисление
v := (dist/1000)
/ ( (min*60 + sek)/3600);
// вывод результата
label4.Caption := 'Дистанция: '+ Editl.Text +
' м' + #13 + 'Время: ' + IntToStr(min) +
' мин ' + IntToStr(sek)
+ ' сек ' + #13 +
'Скорость: ' +
FloatToStrF(v,ffFixed,4,2) + ' км/час';
end;
// нажатие
кнопки Завершить
procedure TForml.Button2Click(Sender:
TObject);
begin
Form1.Close; end;
// нажатие
клавиши в поле Дистанция
procedure TForm1.Edit1KeyPress(Sender:
TObject; var Key: Char);
begin
// Key — символ,
соответствующий нажатой клавише.
// Если символ
недопустимый, то процедура заменяет его
// на символ
с кодом 0. В результате этого символ в поле
// редактирования
не появляется, и у пользователя создается
// впечатление,
что программа не реагирует на нажатие некоторых
// клавиш.
case Key
of
'0'..'9': ; //
цифра
#8 : ; // клавиша
<Back Space>
#13 : Edit2.SetFocus ; // клавиша <Enter>
// остальные символы — запрещены
else Key :=Chr(0); // символ не отображать
end;
end;
end.
После внесения изменений проект следует сохранить. Для этого нужно из меню File выбрать команду Save all.
Релятивисты и позитивисты утверждают, что "мысленный эксперимент" весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.
Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").
Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.
Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.
Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.