Visual FoxPro   Обзор графических пакетов 3GL   Компьютерная графика к экономической информатике   к 4GL - визуальному программированию

Программирование в VisualFoxPro 7.0

Библиотеки классов и ActiveX-компоненты

В предыдущих главах мы рассмотрели использование стандартных элементов управления, которые представляют лишь небольшую часть доступных элементов управления. Множество разнообразных элементов управления находится в библиотеках классов, объединенных общим названием Visual FoxPro Foundation Classes, которые входят в комплект поставки Visual FoxPro. Кроме библиотеки Foundation Classes, вы можете также использовать библиотеки классов, которые разрабатывают сторонние фирмы.

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

В процессе разработки приложения вы можете создавать свои библиотеки классов и размещать в форме собственные элементы управления.

  Использование библиотек классов

Применение внешних библиотек классов не только облегчает разработку приложения, но и ускоряет процесс. Для размещения в форме объектов библиотек вы можете использовать панель инструментов Form Controls (Элементы управления формы), Галерею компонентов и Class Browser (Обзор классов).

  Панель инструментов Form Controls

Чтобы использовать панель инструментов Form Controls (Элементы управления формы), вы должны разместить на ней объекты внешней библиотеки. Для этого выполните следующие действия:

  1. Нажмите кнопку View Classes (Просмотр классов) на панели инструментов Form Controls (Элементы управления формы).
  2. Появившееся меню содержит команду Add (Добавить) и список библиотек классов. Для добавления внешней библиотеки нажмите кнопку Add (Добавить).
  3. На экране открывается диалоговое окно Open (Открыть) (рис. 16.1), позволяющее выбрать необходимую библиотеку классов.
  4. Используя раскрывающийся список Папка, найдите папку Classes (Классы), содержащую библиотеки классов Visual FoxPro.
  5. Выберите, например, библиотеку классов buttons (Кнопки), входящую в поставку Visual FoxPro, и нажмите кнопку Open (Открыть) диалогового окна.

Замечание

Файлы библиотек классов имеют расширение VCX.

gl16-1.jpg

Рис. 16.1. Диалоговое окно Open для присоединения внешней библиотеки

Замечание

После выбора библиотеки классов нажмите кнопку View Classes (Просмотр классов) на панели инструментов Form Controls (Элементы управления формы). Обратите внимание на то, что в ее меню добавился пункт с выбранной вами библиотекой классов (в данном примере Buttons (Кнопки)).

  1. Выберите пункт меню с наименованием добавленной вами библиотеки. На панели инструментов Form Controls (Элементы управления формы) будут размещены кнопки элементов управления выбранной библиотеки (рис. 16.2). Используя панель инструментов, вы теперь можете размещать эти объекты в форме так же, как и стандартные элементы управления.
gl16-2.jpg

Рис. 16.2. Меню кнопки View Classes и панель инструментов, содержащая элементы управления внешней библиотеки

Библиотека Buttons (Кнопки) содержит набор кнопок, назначение которых описано в табл. 16.1.

Таблица 16.1. Кнопки библиотеки Buttons

Кнопка Наименование Назначение
mailbtn Размещает в форме кнопку, позволяющую передать данные таблицы по электронной почте
vcr Размещает набор кнопок перемещения по записям таблицы
cmdok Размещает в форме кнопку ОК
cmdHelp Размещает в форме кнопку Help
cmdCancel Размещает в форме кнопку Cancel

Рассмотрим размещение этих кнопок в форме:

  1. В проекте sales выберите любую из созданных ранее форм и откройте ее в конструкторе.
  2. Удалите в нижней части формы кнопки перемещения по записям, созданные вами ранее.
  3. Выберите объект vcr на панели инструментов Form Controls (Элементы управления формы) и поместите его на месте удаленных кнопок (рис. 16.3).
gl16-3.jpg

Рис. 16.3. Размещение объекта vcr в форме

  1. Запустите форму на выполнение. Убедитесь в том, что, используя размещенные для управления таблицей кнопки, можно перемещаться по записям таблицы (рис. 16.4).
gl16-4.jpg

Рис. 16.4. Форма с размещенным объектом vcr для перемещения по записям

  Галерея компонентов

Галерея компонентов Visual FoxPro содержит библиотеки классов Foundation Classes (рис. 16.5), которые размещены в одноименном каталоге. Для размещения объекта выбранного класса в форме вы можете выполнить любое из следующих действий.

gl16-5.jpg

Рис. 16.5. Каталог Foundation Classes

gl16-6.jpg

Рис. 16.6. Использование контекстного меню для размещения объекта выбранного класса в форме

Замечание

Для некоторых классов определены построители, автоматически запускаемые при размещении их в форме.

  Class Browser

Еще одним способом размещения в форме объектов внешней библиотеки классов является применение окна Class Browser (Обзор классов) (рис. 16.7). Для его открытия выполните команду Class Browser (Обзор классов) из меню Tools (Сервис).

gl16-7.jpg

Рис. 16.7. Окно Class Browser

Для размещения в окне Class Browser (Обзор классов) библиотеки предназначены кнопки Open (Открыть) и View Additional File (Показать дополнительный файл) панели инструментов окна. При их нажатии открывается диалоговое окно Open (Открыть) (см. рис. 16.1), позволяющее открыть и разместить в Class Browser (Обзор классов) существующую библиотеку классов.

Чтобы добавить в форму элемент управления из окна Class Browser (Обзор классов), выполните следующие действия:

  1. Откройте в конструкторе форму, в которую хотите добавить объекты из библиотеки классов.
  2. В окне Class Browser (Обзор классов) откройте библиотеку, содержащую классы объектов, которые вы собираетесь разместить в форме.
  3. Выберите из списка требуемый класс. Значок Move (Переместить), расположенный в верхнем левом углу окна Class Browser (Обзор классов), изменит свой рисунок в соответствии со значком выбранного вами класса.
  4. Установите курсор на значок Move (Переместить).
  5. Нажмите кнопку мыши и, удерживая ее нажатой, перенесите объект в форму.
  6. Завершив перемещение, отпустите кнопку мыши. Результат перемещения класса кнопки в форму показан на рис. 16.8.
gl16-8.jpg

Рис. 16.8. Размещение в форме объектов из окна Class Browser

  Использование ActiveX-компонентов в форме

Компоненты ActiveX представляют собой 32-разрядные объекты, содержащие код и данные. В отличие от библиотек классов Visual FoxPro, ActiveX-компоненты могут создаваться с помощью различных средств разработки, например, Visual C++ или Visual Basic. Вы можете использовать ActiveX-компоненты аналогично базовым компонентам Visual FoxPro. Основным

Преимуществом данных компонентов является их огромное количество, т. к. их разработкой занимаются многие фирмы, а также отдельные программисты. Часть этих компонентов является коммерческой продукцией, часть распространяется бесплатно. Множество компонентов включено в поставку Visual Studio и в приложение Microsoft Office. Для поиска необходимых вам компонентов вы можете использовать Интернет.

Для формирования списка используемых при разработке ActiveX-компонентов необходимо воспользоваться диалоговым окном Options (Параметры), выполнив следующие действия:

  1. Выберите в меню Tools (Сервис) команду Options (Параметры).
  2. В диалоговом окне Options (Параметры) выберите вкладку Controls (Элементы управления) (рис. 16.9).
  3. Установите опцию ActiveX controls (Элементы управления ActiveX). При этом в списке Selected (Выбранные) будет отображен список всех доступных на вашем компьютере ActiveX-компонентов.
  4. Установите флажки рядом с теми объектами списка Selected (Выбранные), которые хотите разместить на панели инструментов Form Controls (Элементы управления формы) и использовать для размещения в форме.
  5. Нажмите кнопку ОК для закрытия диалогового окна Options (Параметры).
gl16-9.jpg

Рис. 16.9. Вкладка Controls диалогового окна Options

Замечание

Кнопка Add (Добавить) вкладки Controls (Элементы управления) диалогового окна Options (Параметры) предназначена для добавления новых объектов в список Selected (Выбранные). При нажатии на данную кнопку открывается диалоговое окно Open (Открыть), используя которое можно выбрать файл с ActiveX-компонентами.

  Отображение ActiveX-компонентов на панели инструментов Form Controls

Для отображения ActiveX-компонентов на панели инструментов Form Controls (Элементы управления формы) при создании форм выполните следующие действия:

  1. Нажмите кнопку View Classes (Просмотр классов) на панели инструментов Form Controls (Элементы управления формы), в результате чего на экране появится меню кнопки.
  2. Выберите команду ActiveX Controls (Элементы управления ActiveX) данного меню. На панели инструментов Form Controls (Элементы управления формы) будут размещены кнопки, содержащие значки выбранных вами ActiveX-компонентов в диалоговом окне Options (Параметры) (рис. 16.10). Теперь вы можете размещать данные объекты в форме обычным образом.
gl16-10.jpg

Рис. 16.10. Панель инструментов, содержащая ActiveX-компоненты

  Размещение ActiveX-компонентов в форме

Рассмотрим пример создания формы, содержащей две вкладки, на которых разместим такие ActiveX-компоненты, как электронная таблица и документ Microsoft Word. Для создания формы выполните следующие действия:

  1. Откройте проект Sales.
  2. Выберите вкладку Documents (Документы), перейдите в группу Forms (Формы), а затем нажмите кнопку New (Новый).
  3. В открывшемся диалоговом окне New Form (Новая форма) выберите опцию New Form (Новая форма). Откроется окно конструктора форм.
  4. Нажмите кнопку View Classes (Просмотр классов) на панели инструментов Form Controls (Элементы управления формы), в результате чего на экране появится меню данной кнопки, содержащее команды выбора библиотеки из ранее размещенных на панели инструментов ActiveXкомпонентов и добавления новой библиотеки.
  5. Выберите значение Standard (Стандартная). Это необходимо, чтобы на панели инструментов Form Controls (Элементы управления формы) были размещены стандартные элементы управления.
gl16-11.jpg

Рис. 16.11. Форма с размещенным в ней объектом Page Frame

  1. Разместите в форме объект Page Frame (Вкладка), используя кнопку Page Frame (Вкладка) на панели инструментов Form Controls (Элементы управления формы).
  2. Введите название формы, воспользовавшись свойством caption (Надпись).
  3. Задайте для объекта Page Frame (Вкладка) две вкладки, используя свойство Pagecount (Количество вкладок).
  4. Используя свойство caption (Надпись) каждой вкладки, присвойте им названия (рис. 16.11).
  5. Форма готова. Теперь можно разместить в ней ActiveX-компоненты. Для этого необходимо отобразить на панели инструментов элементов управления формы ActiveX-компоненты: нажмите кнопку View Classes (Просмотр классов) на панели инструментов Form Controls (Элементы управления формы).
  6. Выберите из появившегося меню пункт ActiveX Controls (Элементы управления ActiveX).

Электронная таблица

На первую вкладку формы поместим электронную таблицу Excel (рис. 16.12), используя кнопку Лист Microsoft Excel на панели инструментов Form Controls (Элементы управления формы).

gl16-12.jpg

Рис. 16.12. Электронная таблица, размещенная на первой вкладке формы

Для редактирования электронной таблицы используется конструктор. Чтобы его запустить, необходимо выполнить следующие действия:

  1. Выделите в форме электронную таблицу.
  2. Нажмите правую кнопку мыши.
  3. В контекстном меню выберите команду Лист Object, а затем опцию Изменить или Открыть.

После выбора пункта меню Изменить интерфейс Visual FoxPro изменяется. Вы переходите в режим редактирования по месту электронной таблицы (рис. 16.13), при котором в окно Visual FoxPro добавляются панели инструментов Microsoft Excel. Можете приступить к редактированию таблицы с помощью средств электронной таблицы.

gl16-13.jpg

Рис. 16.13. Редактирование электронной таблицы в Visual FoxPro

В том случае, если вы выбираете пункт меню Открыть, запускается приложение Microsoft Excel и в нем открывается созданный вами лист электронной таблицы (рис. 16.14).

gl16-14.jpg

Рис. 16.14. Редактирование электронной таблицы в отдельном приложении

Документ Microsoft Word

На вторую вкладку формы поместим объект для работы с документом Microsoft Word (рис. 16.15), используя кнопку Документ Microsoft Word на панели инструментов Form Controls (Элементы управления формы).

Для редактирования объекта типа Документ Microsoft Word вы также можете использовать команды Изменить и Открыть контекстного меню. На рис. 16.16 приведен режим редактирования по месту.

Работа с ActiveX-компонентами после запуска формы на выполнение

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

gl16-15.jpg

Рис. 16.15. Объект для работы с документом Microsoft Word

gl16-16.jpg

Рис. 16.16. Редактирование документа Microsoft Word

gl16-17.jpg

Рис. 16.17. Редактирование электронной таблицы

  Связь ActiveX-компонентов с базой данных

В предыдущем разделе мы рассмотрели размещение в форме ActiveX-компонентов. Но форма предназначена, в основном, для работы с базой данных. Возникает вопрос, а как же использовать ActiveX-компоненты для работы с таблицами базы данных? Связь ActiveX-компонентов с базой данных рассмотрим на примере RTF-объекта, который используется для ввода в Memo-поля таблицы форматированного текста. Чтобы создать форму с размещенным в ней RTF-объектом, будем использовать таблицу customer, содержащую Memo-поле mnotes с дополнительной информацией о клиенте:

  1. Добавьте на панель инструментов Form Controls (Элементы управления формы) кнопку Microsoft Rich TextBox Control (Элемент управления для редактирования текста в формате RTF). Для этого на вкладке Controls (Элементы управления) диалогового окна Options (Параметры) в списке Selected (Выбранные) установите флажок рядом со значением Microsoft Rich TextBox Control (Элемент управления для редактирования текста в формате RTF) и нажмите кнопку ОК.
  2. Для управления RTF-объектом нам понадобятся элементы управления, которые содержатся в библиотеке классов Samples (Образцы), содержащейся в поставке Visual FoxPro. Присоедините данную библиотеку. После этого при нажатии кнопки View Classes (Просмотр классов) появляется меню, содержащее команды для размещения на панели инструментов Form Controls (Элементы управления формы) ActiveX-компонентов и объектов из библиотеки Samples (Образцы).

Замечание

Присоединение внешних библиотек мы рассмотрели в начале этой главы.

  1. Откройте проект Sales.
  2. Откройте в конструкторе форму, позволяющую вводить информацию в таблицу Customer.
  3. Удалите из формы поле, которое использовалось вами ранее для ввода информации в поле таблицы mnotes.
  4. Чтобы отобразить на панели инструментов Form Controls (Элементы управления формы) кнопки для размещения в форме ActiveXкомпонентов, нажмите кнопку View Classes (Просмотр классов) и в появившемся меню выберите команду ActiveX Controls (Элементы управления ActiveX).
  5. Выберите на панели инструментов Form Controls (Элементы управления формы) кнопку Microsoft Rich TextBox Control (Элемент управления для редактирования текста в формате RTF) и разместите в форме поле, предназначенное для ввода примечания.
  6. Чтобы можно было управлять созданным полем, необходимо поместить в форму элементы управления RTF-объектом. Для этого на панели инструментов Form Controls (Элементы управления формы) нажмите кнопку View Classes (Просмотр классов) и в появившемся меню кнопки выберите команду Samples (Образцы).
  7. Нажмите на панели инструментов Form Controls (Элементы управления формы) кнопку rtfcontrols (Элементы управления RTF) из библиотеки samples (Образцы) и разместите в форме элементы управления. В результате форма примет вид, представленный на рис. 16.18.
  8. Чтобы связать размещенное в форме поле с полем таблицы Customer, откройте окно Properties (Свойства) и для свойства controisource (Источник данных) задайте поле mnotes.
  9. Для элементов управления RTF-объектом задайте методы, устанавливающие значения свойств объекта.

Результат размещения в форме RTF-объекта приведен на рис. 16.19.

gl16-18.jpg

Рис. 16.18. Форма с размещенным ActiveX-компонентом и объектом из библиотеки Samples

gl16-19.jpg

Рис. 16.19. Использование в форме ActiveX-компонента для ввода форматированной информации в Memo-поле таблицы

  Использование календаря в форме

Календарь также является одним из ActiveX-компонентов. Вы можете использовать его для ввода информации в поля дат.

Сначала разместим календарь в форме, чтобы посмотреть свойства, которыми обладает данный объект, и возможности их настройки. Затем рассмотрим пример программного использования календаря для ввода даты.

Настройка свойств календаря

Чтобы разместить в форме календарь, который на панели инструментов Form Controls (Элементы управления формы), содержащей ActiveX-компоненты, отображается в виде кнопки Calendar Control (Элемент управления календарь), нажмите данную кнопку, установите указатель мыши в форму и нарисуйте курсором рамку требуемого размера. Календарь размещен в форме (рис. 16.20).

gl16-20.jpg

Рис. 16.20. Форма с размещенным в ней календарем

С целью настройки свойств календаря выделите размещенный объект и нажмите правую кнопку мыши. В контекстном меню выберите команду Календарь Свойства. На экране откроется диалоговое окно Свойства: Календарь созданного объекта, содержащее набор параметров, позволяющих настроить календарь (рис. 16.21).

gl16-21.jpg

Рис. 16.21. Диалоговое окно Свойства: Календарь

Диалоговое окно Свойства: Календарь содержит три вкладки: Общие (General), Шрифт (Font), Цвет (Color).

Вкладка Общие содержит поля, позволяющие настроить параметры, описанные в табл. 16.2.

Таблица 16.2. Назначение полей окна Свойства: Календарь

Поле Назначение
Значение (Value) Текущая дата
Первый день недели

(First Day)

День, принимаемый за первый день недели
Формат дня {Day Length) Формат отображения наименования дня недели; может принимать одно из трех значений: короткий, средний, длинный
Формат месяца (Month Length) Формат отображения наименования месяца; может принимать одно из двух значений: короткий и длинный
Оформление (Grid Cell Effect) Стиль отображения ячеек таблицы

Область Отображение (Show) вкладки Общие (General) содержит флажки, описанные в табл. 16.3.

Таблица 16.3. Назначение флажков области Отображение вкладки Общие

Флажок Назначение
Заголовок месяца и года

(Month/Year Title)

Указывает на необходимость отображения заголовка месяца и года
Выбор месяца и года

(Month/Year Selectors)

Указывает на необходимость размещения в заголовке полей для выбора месяца и года
Дни недели (Days of Week) Указывает на необходимость отображения в заголовке таблицы дней недели
Сетка по горизонтали

(Horizontal Grid)

Указывает на необходимость отображения в таблице горизонтальных линий сетки
Сетка по вертикали

(Vertical Grid)

Указывает на необходимость отображения в таблице вертикальных линий сетки

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

Вкладка Шрифт (Font) окна свойств календаря (рис. 16.22) позволяет настроить шрифты объекта. Список Свойства (Properties) вкладки содержит объекты оформления календаря, для которых можно настроить шрифты:

Списки Шрифт (Font) и Размер (Size) позволяют задать наименование и размер шрифта, выбранного из списка Свойства (Properties) объекта, а флажки области Атрибуты (Effects) — стиль оформления.

Вкладка Цвет (Color) окна свойств календаря (рис. 16.23) позволяет изменить цветовое оформление календаря. Список Свойства (Properties) содержит элементы календаря, для которых можно настроить цвета:

С помощью списка Набор цветов (Color Set) можно установить используемую цветовую схему, а списка Цветовая палитра (Color Palette) — цвет выбранного из списка Свойства (Properties) элемента.

gl16-22.jpg

Рис. 16.22. Вкладка Шрифт диалогового окна Свойства: Календарь

gl16-23.jpg

Рис. 16.23. Вкладка Цвет диалогового окна Свойства: Календарь

При нажатии на кнопку Справка (Help) открывается окно справочной системы, содержащее список всех методов, свойств и событий ActiveXкомпонента (рис. 16.24).

gl16-24.jpg

Рис. 16.24. Список всех методов, свойств и событий ActiveX-компонента

Использование календаря для ввода информации в поля дат

Мы описали свойства календаря. Теперь посмотрим, как можно использовать данный ActiveX-компонент для ввода информации в поля таблицы, содержащие даты. В качестве примера создадим форму для ввода информации о сотрудниках фирмы. Исходная таблица Manager содержит поле ddatebirth с информацией о дате рождения сотрудника. Информацию в это поле будем вводить с помощью программно формируемого ActiveX-компонента календарь.

Чтобы создать форму, выполните следующие действия:

  1. В проекте sales откройте окно конструктора.
  2. В окружение формы добавьте таблицу, содержащую список сотрудников.
  3. Разместите в форме необходимые для ввода информации поля таблицы.
  4. Откройте окно свойств Properties (Свойства) поля, предназначенного для ввода даты рождения сотрудника.
  5. Используя свойство Name (Имя), присвойте объекту наименование txtbirthday.
  6. Используя свойство control sour се (Источник данных), задайте в качестве источника данных поля для ввода даты рождения поле ddatebirth таблицы.
  1. Рядом с полем, предназначенным для ввода даты рождения, расположите кнопку.
  2. Используя свойство caption (Надпись), присвойте кнопке название Календарь
  3. Откройте окно свойств Properties (Свойства) кнопки Календарь.
  4. В окне процедур свойства click (Нажатие) введите команды, которые программно формируют и задают свойства ActiveX-компонента календарь:

#DEFINE C_CALCAPTION_LOC "Календарь"

oCalForm = Create('form')

oCalForm.NewObject("oleCalendar","_olecalendar", "_datetime")

WITH oCalForm.oleCalendar

.date_cclumn = "manager.ddatebirth"

.RefreshDisplay{)

.BackColor = THISFORM.BackColor

.Visible = .T.

ENDWITH

WITH OCalForm

.BorderStyle = 2

.MaxButton = .F.

.MinButton = .F.

.Height = oCalForm.oleCalendar.Height

.Width = oCalForm. oleCalendar.Width

.Caption = C_CALCAPTION_LOC

ENDWITH

oCalForm.Show(l)

THISFORM.Refresh

  1. Закройте окно процедур.

Создание формы завершено. Запустите ее на выполнение. Для ввода информации в поле дата рождения нажмите кнопку Календарь. На экране откроется календарь. Выберите необходимое число, месяц и год и закройте календарь. Указанная вами дата будет перенесена в поле день рождения.

  Использование браузера объектов

В Visual FoxPro 7 появилось новое средство для просмотра списка классов, свойств, методов, событий и констант библиотек СОМ-объектов или ActiveX-компонентов — Object Browser (Браузер объектов). В окне браузера можно выполнять поиск заданного значения в пределах всей библиотеки.

Дня запуска браузера можно воспользоваться одним из следующих способов.

Для открытия библиотеки и просмотра ее структуры в окне браузера объектов предназначена кнопка Open Type Library (Открыть библиотеку) При нажатии этой кнопки открывается диалоговое окно Open (Открыть), которое содержит три вкладки следующего назначения:

При нажатии кнопки Find (Найти) в верхней части окна Object Browser (Браузер объектов) появляется поле Look for (Значение для поиска) и кнопка Go (Начать поиск), предназначенные для текстового поиска.

Visual FoxPro   Обзор графических пакетов 3GL   Компьютерная графика к экономической информатике   к 4GL - визуальному программированию

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

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

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

Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 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