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

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

Связывание и внедрение объектов, экспорт и импорт данных

В Visual FoxPro имеется возможность хранить в таблицах сами объекты или связь с объектами, которые созданы в приложении, поддерживающем механизм связывания и внедрения (OLE). Основное отличие между связыванием и внедрением состоит в том, каким образом данные запоминаются и обновляются после того, как их поместили в базу данных.

При связывании данные обновляются, когда изменяется исходный файл. Связанные данные запоминаются в исходном файле; в базе данных сохраняются только сведения о месте расположения исходного файла. Внедренные объекты сохраняются в базе данных. Если установить на внедренный объект указатель и дважды щелкнуть мышью, откроется приложение, в котором объект был создан. В нем можно редактировать внедренный объект, при этом измененные данные записываются в базу данных.

Объект, который внедряется или связывается, называется OLE-объектом. Исходное приложение, в котором был создан OLE-объект, называется приложением-сервером, а приложение, в которое внедряется или с которым связывается OLE-объект, — приложением-клиентом.

  Visual FoxPro и OLE-объекты

В Visual FoxPro OLE-объекты могут храниться и отображаться только в полях типа General (Общий). Для внедрения OLE-объекта в таблицу Visual FoxPro выполните следующие действия:

  1. Создайте в таблице, предназначенной для хранения OLE-объекта, поле типа General.
  2. Откройте таблицу в режиме Browse (Обзор) (рис. 21.1), выполнив команду Browse (Обзор) из меню View (Вид) или нажав кнопку Browse (Обзор) окна проекта. Откроется окно просмотра таблицы.

Замечание

Если поле типа General (Общий) пусто, то при просмотре таблицы в нем появляется пометка gen. Если поле содержит OLE-объект, то пометка принимает вид Gen.

gl21-1.jpg

Рис. 21.1. Просмотр в режиме Browse таблицы, содержащей поля типа General

  1. Для вставки OLE-объекта дважды щелкните на поле типа General (Общий), содержащем значение gen. Откроется окно редактирования этого поля (рис. 21.2).
  2. В меню Edit (Правка) выберите команду Insert Object (Вставить объект). Откроется диалоговое окно Вставка объекта (рис. 21.3).
  3. Это диалоговое окно содержит два переключателя, предоставляющих два варианта включения OLE-объекта:

При выборе переключателя Создать новый выберите из предложенного списка Тип объекта сервер, который хотите использовать для создания объекта, и нажмите кнопку ОК. Откроется приложение, в котором создайте объект, после чего вернитесь в Visual FoxPro.

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

Замечание

В Visual FoxPro для хранения сложных текстов можно использовать поле типа General (Общий), внедрив в него или связав с ним документ текстового процессора.

gl21-2.jpg

Рис. 21.2. Окно редактирования поля типа General

gl21-3.jpg

Рис. 21.3. Диалоговое окно Вставка объекта

  Внедрение нового OLE-объекта

Рассмотрим процедуру внедрения нового OLE-объекта на примере поля gimage таблицы Goods.

  1. В окне проекта установите курсор на таблицу Goods базы данных sales. Данная таблица содержит поле gimage типа General (Общий), в котором вы предполагаете разместить изображение товара.
  2. Чтобы открыть окно просмотра, выполните команду Browse (Обзор) из меню View (Вид) или нажмите кнопку Browse (Обзор) окна проекта.
  3. Для вставки OLE-объекта установите курсор на поле типа General (Общий) и дважды щелкните на нем. Откроется окно редактирования поля.
  4. Выполните команду Insert Object (Вставить объект) из меню Edit (Правка).
  5. В открывшемся диалоговом окне Вставка объекта в списке Тип объекта перечислены все OLE-серверы, установленные в вашей системе. В качестве примера выберите Рисунок Paintbrush.
  6. Нажмите кнопку ОК. Visual FoxPro откроет указанное вами приложение и разместит его меню и панели инструментов в своем главном окне.
  7. Создайте изображение товара, которое будет использовано в качестве нового OLE-объекта (рис. 21.4).
gl21-4.jpg

Рис. 21.4. Создание изображения товара

  1. Закройте сервер OLE. Для этого щелкните в любом месте окна вне области редактирования, после чего созданный вами объект будет размещен в поле типа General (Общий) (рис. 21.5).
gl21-5.jpg

Рис. 21.5. Размещение в поле таблицы нового OLE-объекта

Если вам потребуется внести изменения во встроенный OLE-объект, откройте таблицу в режиме Browse (Обзор) и дважды щелкните на требуемом значении. В результате откроется окно редактирования поля типа General (Общий). Для редактирования изображения используется команда Точечный рисунок Object (Объект) из меню Edit (Правка).

Данная команда имеет собственное меню, которое содержит опции Изменить и Открыть, определяющие режим редактирования изображения (см. рис. 21.5). При выборе опции Изменить меню и панели инструментов OLEсервера внедряются непосредственно в Visual FoxPro (см. рис. 21.4). При выборе опции Открыть открывается приложение OLE-сервера (рис. 21.6), в котором вы можете редактировать изображение поля типа General (Общий).

gl21-6.jpg

Рис. 21.6. Открытое приложение OLE-сервера для редактирования изображения

  Внедрение OLE-объекта из файла

Для внедрения в поле таблицы OLE-объекта из файла выполните следующие действия.

  1. Откройте таблицу в режиме Browse (Обзор).
  2. Установите курсор на поле типа General (Общий) и дважды щелкните кнопкой мыши. Откроется окно редактирования поля.
  3. В меню Edit (Правка) выберите команду Insert Object (Вставить объект).
  4. В открывшемся диалоговом окне Вставка объекта выберите переключатель Создать из файла. Окно примет вид, представленный на рис. 21.7.
gl21-7.jpg

Рис. 21.7. Диалоговое окно Вставка объекта при выбранном переключателе Создать из файла

  1. Нажмите кнопку Обзор.
  2. В открывшемся диалоговом окне Обзор (рис. 21.8) выберите файл, содержащий необходимый объект. Для установки требуемого типа объекта необходимо использовать список Тип файлов, расположенный в нижней части диалогового окна. Выбрав файл, нажмите кнопку Открыть.
  3. Возвратившись в диалоговое окно Вставка объекта, нажмите кнопку ОК. OLE-объект будет размещен в поле типа General (Общий).
gl21-8.jpg

Рис. 21.8. Диалоговое окно Обзор

  Связывание OLE-объекта

Чтобы связать OLE-объект с основной копией объекта на сервере, можно воспользоваться командой Insert Object (Вставка объекта) или Paste Special (Специальная вставка) из меню Edit (Правка). Рассмотрим оба варианта.

  Команда Insert Object

Для размещения в поле таблицы Visual FoxPro OLE-объекта со связью с помощью команды Insert Object (Вставить объект) выполните следующие действия:

  1. Откройте таблицу Goods в режиме Browse (Обзор).
  2. Перейдите в поле типа General (Общий) и дважды щелкните на нем для его открытия.
  3. Выберите в меню Edit (Правка) команду Insert Object (Вставить объект).
  4. В диалоговом окне Вставка объекта выберите переключатель Создать из файла.
  5. Нажмите кнопку Обзор.
  6. В открывшемся диалоговом окне Обзор выберите необходимый файл и нажмите кнопку Открыть.
  7. В диалоговом окне Вставка объекта установите флажок Связь (рис. 21.9) и нажмите кнопку ОК.
gl21-9.jpg

Рис. 21.9. Установлен флажок Связь

gl21-10.jpg

Рис. 21.10. Связывание OLE-объекта

  1. В результате этих действий в окне просмотра поля типа General (Общий) появится значок файла (рис. 21.10).
  2. Чтобы изменить размещенный OLE-объект с использованием OLEсервера, откройте окно просмотра OLE-объекта и дважды щелкните кнопкой мыши на значке.

  Команда Paste Special

Для размещения в поле типа General (Общий) OLE-объекта со связью с помощью команды Paste Special (Специальная вставка) выполните следующие действия:

  1. Откройте приложение-сервер и запомните связываемый объект во временном буфере Windows.
  2. Откройте окно редактирования поля типа General (Общий).
  3. В меню Edit (Правка) выберите команду Paste Special (Специальная вставка). На экране открывается диалоговое окно Специальная вставка (рис. 21.11). Объект, находящийся во временном буфере Windows, описан в диалоговом окне как Источник. В списке Как перечислены допустимые форматы для этого объекта.
gl21-11.jpg

Рис. 21.11. Диалоговое окно Специальная вставка

  1. Чтобы связать объект с его оригиналом на сервере, выберите переключатель Вставить связь.
  2. Выберите из списка Как формат объекта. Ссылка на объект запоминается в поле типа General (Общий). При каждом изменении оригинала объекта на сервере объект, выводимый в приложении Visual FoxPro, будет автоматически обновляться. Если в момент изменения оригинала приложение Visual FoxPro не открыто, обновление произойдет при первом же открытии приложения Visual FoxPro.
  3. Нажмите кнопку ОК для закрытия диалогового окна Специальная вставка.

Ссылка на OLE-объект, запоминаемая в поле типа General (Общий), содержит имя файла (включая путь к нему) оригинала объекта на сервере. Если вы измените имя этого файла, перенесете или удалите его, связь разрывается. Для восстановления связи необходимо воспользоваться командой Links (Связи) из меню Edit.

Совет

Для изменения объекта в поле типа General (Общий) со связанного на внедренный необходимо удалить объект из поля с помощью команды Cut (Вырезать) из меню Edit (Правка), а после этого вставить объект обратно в поле, но без связывания.

Если OLE-объект был размещен со связью, диалоговое окно Связи позволяет изменить или удалить установленную связь (рис. 21.12). Для его просмотра откройте требуемую таблицу, перейдите в поле со связанным объектом и в меню Edit (Правка) выберите команду Links (Связи).

gl21-12.jpg

Рис. 21.12. Диалоговое окно Связи

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

В диалоговом окне размещены кнопки, имеющие назначение, описанное в табл. 21.1.

Таблица 21.1. Назначение кнопок диалогового окна Связи

Кнопка Назначение
Обновить сейчас Обновляет выделенную связь
Открыть источник Открывает исходный файл для выделенной связи
Сменить источник Заменяет исходный файл для выделенной связи с помощью диалогового окна Смена источника
Разорвать связь Разрывает указанную связь. В результате объект становится статическим, не допускающим изменения или обновления

Переключатель Обновление определяет режим обновления связи и содержит два переключателя: Автоматическое, Вручную. При установленной опции Автоматическое обновление связанных объектов осуществляется автоматически. Если установлена опция Вручную, тогда для обновления объектов необходимо нажать кнопку Обновить сейчас.

  Редактирование OLE-объекта

Большинство OLE-объектов можно редактировать. Для этого откройте окно редактирования поля типа General (Общий), содержащее, например, такие OLE-объекты, как электронная таблица Microsoft Excel, документ Word или рисунок Paint и дважды щелкните мышью. Откроется приложение-сервер для редактирования объекта.

Для редактирования точечных рисунков выберите команду Растровый рисунок Object (Объект) в меню Edit (Правка), а затем команду Изменить или Открыть, которые доступны в окне редактирования поля типа General (Общий). Для редактирования документа Word в меню Edit (Правка) появляется команда Документ Object, а для редактирования электронной таблицы — Лист Object (Объект).

  Удаление OLE-объекта

Чтобы удалить OLE-объект из поля типа General (Общий), выполните команду Clear (Очистить) из меню Edit (Правка).

  Использование объектно-ориентированного программирования

В Visual FoxPro для управления OLE-объектами можно использовать объектно-ориентированное программирование.

Замечание

Для создания OLE-объекта в Visual FoxPro предназначена команда CREATEOBJECT.

  Передача данных в Microsoft Excel с помощью OLE

В рассматриваемом примере используем данные из таблицы cntcust для построения диаграммы распределения клиентов по городам в программе Microsoft Excel с помощью OLE-объектов,

  1. В меню File (Файл) выберите команду New (Новый), установите опцию Program (Программа) и нажмите кнопку New file (Новый файл). Откроется новое окно редактирования программ.
  2. Для установления связи с Microsoft Excel, передачи в него данных и построения диаграммы введите следующие команды:

* Создание OLE-объекта

obj ExcelSheet=CreateObject("Excel.Sheet")

objExcelSheet.Application.Visible=.Т.

objExcelSheet = objExcelSheet.Sheets[1]

* Передача данных из таблицы CntCust в Excel

SELECT CNTCUST

nRow=0

SCAN

nRow=nRow+l

objExcelSheet.Cells(nRow,1).ValueCntCust.City

objExcelSheet.Cells(nRow,2).Value=CntCust.Quant

ENDSCAN

objChart = objExcelSheet.ChartObjects.Add{100, 100, 400, 200)

* Выделение данных и создание диаграммы

objExcelSheet.chartObjects(1).Chart.;

chartwizard(objExcelSheet.Range(objExcelSheet.Cells(1,1) ,;

objExcelSheet.Cells(nRow,2)),;

-4100,4,1,0,1,1,"","","","")

objExcelSheet.chartObjects(1).Select

objExcelSheet.chartObjects(1).Copy

* Закрытие сервера

objExcelSheet.application.quit

release objExcelSheet

  1. Проверьте синтаксис и запустите программу на выполнение. Результат выполнения программы представлен на рис. 21.13.

Замечание

Наиболее простым способом формирования команд для выполнения действий над OLE-объектами является запись соответствующего макроса на сервере приложении и использование текста этого макроса в Visual FoxPro.

gl21-13.jpg

Рис. 21.13. Создание диаграммы с помощью OLE

  Передача данных из Visual FoxPro в другие приложения

Используя команды Export (Экспорт) и Import (Импорт) из меню File (Файл), можно осуществлять обмен данными между Visual FoxPro и текстовыми файлами, а также наиболее популярными базами данных и электронными таблицами.

Для экспорта данных из таблицы Visual FoxPro выполните команду Export (Экспорт) из меню File (Файл). Открывается диалоговое окно Export (Экспорт) (рис. 21.14), в котором из списка Туре (Тип) вам необходимо выбрать тип экспортируемого формата. Допустимые типы форматов приведены в табл. 21.2.

gl21-14.jpg

Рис. 21.14. Диалоговое окно Export

Таблица 21.2. Типы экспортируемых форматов

Тип Кодовое обозначение Назначение
Visual FoxPro 3.0 (DBF) Копирование одной таблицы в другую
FoxPro для Windows 2.x (DBF) FOX2X Экспорт в формат FoxPro для Windows 2.x
FoxBASE+ (DBF) FOXPLUS Экспорт в формат FoxBASE+
dBASE IV (DBF) Экспорт в формат dBASE IV
Delimited Text Экспорт в текстовый файл с разделителями
Microsoft Excel 5.0 (XLS) XLS Экспорт в формат электронной таблицы Microsoft Excel 5.0
Microsoft Excel 2.0, 3.0 и 4.0 (XLS) XLS Экспорт в формат электронных таблиц Microsoft 2.0, 3.0 и 4.0
Lotus 1-2-3 2.x (WK1) WK1 Экспорт в формат электронной таблицы Lotus 1-2-3 2.x
Lotu s 1-2-31 -A (WKS) WKS Экспорт в формат электронной таблицы Lotus 1-2-3 1-А
Symphony 1.10 (WR1) WR1 Экспорт в формат электронной таблицы Symphony 1.10
Symphony 1.01 (WRK) WRK Экспорт в формат электронной таблицы Symphony 1.01
MultiPlan 4.01 (MOD) MOD Экспорт в формат электронной таблицы MultiPlan 4.01
Data Interchange Format (DIF) DIF Экспорт в текстовый файл, используемый приложением VisiCalc
System Data Format (SDF) SDF Экспорт в стандартный текстовый файл
Symbolic Link Format SYLK Экспорт в текстовый файл, используемый электронной таблицей MultiPlan

В поле ввода From (Форма) диалогового окно Export (Экспорт) необходимо указать имя экспортируемой таблицы, а в поле То (В) — имя файла, в который будет записываться результат экспорта.

После того как вы указали имя исходной таблицы, становится доступной кнопка Options (Параметры), при нажатии на которую открывается диалоговое окно Export Options (Параметры экспорта) (рис. 21.15). В этом диалоговом окне для выбора записей таблицы, экспортируемых в выходной файл, вы можете использовать кнопки Scope (Граница), For (Для), While (Пока).

gl21-15.jpg

Рис. 21.15. Диалоговое окно Export Options

С помощью кнопки Fields (Поля) можно открыть диалоговое окно Field Picker (Выбор поля), в котором выбрать поля исходной таблицы для экспорта (рис. 21.16).

gl21-16.jpg

Рис. 21.16. Диалоговое окно Field Picker

  Импорт данных

В настоящем разделе мы обсудим импорт данных из форматов других приложений в таблицу Visual FoxPro. Для импорта данных воспользуемся услугами мастера.

  1. Чтобы запустить мастера импорта данных в таблицу Visual FoxPro, в меню Tools (Сервис) выберите команду Wizards (Мастера), а затем Import (Импорт).

Совет

Для запуска мастера импорта вы также можете воспользоваться командой Import (Импорт) из меню File (Файл). В этом случае на экране открывается диалоговое окно Import (Импорт), в котором необходимо нажать кнопку Import Wizard (Мастер импорта).

  1. На первом шаге импорта данных с помощью мастера (рис. 21.17) вы указываете формат импортируемого файла, используя список File Type (Тип файла). С помощью кнопки Locate (Определить) вы задаете в поле Source File (Файл источника) имя исходного файла. Затем установкой соответствующей опции вам необходимо указать, в новую таблицу вы импортируете файл или в существующую, и задать имя таблицы.

Завершив установку параметров, нажмите кнопку Next (Далее).

gl21-17.jpg

Рис. 21.17. Первый шаг работы мастера: выбор типа импортируемого файла

  1. На втором шаге работы мастера вам необходимо указать, создается свободная таблица или таблица, входящая в базу данных. Установите соответствующую опцию. Если импортируемая таблица будет размещена в базе данных, то укажите ее название и расположение.
  2. На следующих двух шагах вы можете просмотреть содержимое импортируемого файла, определить заголовки и типы создаваемых полей (рис. 21.18 и 21.19).
gl21-18.jpg

Рис. 21.18. Определение формата данных

gl21-19.jpg

Рис. 21.19. Определение заголовков и типов полей

  1. На пятом шаге работы мастера импорта задаются форматы отображения дат, кодовых страниц, денежных единиц и чисел (рис. 21.20).
  2. После завершения установок на последнем шаге работы мастера нажмите кнопку Finish (Готово), и на основе данных импортируемого файла будет создана таблица Visual FoxPro.
gl21-20.jpg

Рис. 21.20. Задание форматов отображения данных

  Использование данных из Visual FoxPro в Microsoft Word

Данные, содержащиеся в таблицах Visual FoxPro, можно использовать в других приложениях Windows. Например, в Microsoft Word вы можете подготовить этикетки для наклейки на конверты для рассылки своим клиентам, используя для этого данные, размещенные в таблице Customer.

Для слияния данных из Visual FoxPro и Microsoft Word необходимо использовать мастер. Чтобы его запустить, в меню Tools (Сервис) выберите команду Wizards (Мастера) и в появившемся подменю — Mail Merge (Составление писем). Слияние данных осуществляется с помощью мастера за несколько шагов.

  1. На первом шаге мастер предлагает выбрать таблицу и поля, используемые для слияния (рис. 21.21). Перенесите необходимые поля в список Selected fields (Выбранные поля) и нажмите кнопку Next (Далее).

Совет

Перед запуском мастера закройте базу данных.

  1. На втором шаге необходимо указать, с каким редактором вы будете работать далее. По умолчанию установлена опция Microsoft Word. Нажмите кнопку Next (Далее) для перехода к следующему шагу (рис. 21.22).
gl21-21.jpg

Рис. 21.21. Выбор таблицы и полей

gl21-22.jpg

Рис. 21.22. Выбор текстового редактора

  1. На третьем шаге мастер предлагает поместить данные в новый или уже существующий документ (рис. 21.23). При выборе переключателя Use existing document (Существующий документ) становится доступной кнопка File (Файл), открывающая диалоговое окно Open (Открыть) для выбора ранее подготовленного документа.
  2. Если вы хотите разместить данные во вновь создаваемом документе, то на четвертом шаге мастера необходимо определить тип создаваемого файла (рис. 21.24), выбрав один из переключателей группы Select a document type (Выбор типа документа). В табл. 21.3 описаны переключатели группы Select a document type (Выбор типа документа) и типы создаваемых файлов.
gl21-23.jpg

Рис. 21.23. На данном шаге вы можете выбрать созданный ранее документ

Таблица 21.3. Переключатели группы Select a document type

Переключатель Тип создаваемого документа
Form Letter Письмо
Label Этикетка
Envelope Конверт
Catalog Каталог

Выбрав необходимую опцию, нажмите кнопку Next (Далее) для перехода к последнему шагу мастера.

  1. На последнем шаге работы мастера следует нажать кнопку Finish (Готово). Если установлен драйвер ODBC, то все завершится успешно. Запустится Microsoft Word и откроется документ Word, в котором будет установлена связь с выбранными данными.
  2. Разместите текст в документе. Для вставки полей установите курсор в требуемое место, нажмите кнопку Добавить поле слияния и выберите из раскрывающегося списка то поле, которое нужно. Поясняющий текст вставляется непосредственно в область ввода.
gl21-24.jpg

Рис. 21.24. Выбор типа создаваемого документа

  1. Нажмите кнопку Объединить. Откроется окно Слияние, в котором вы можете указать параметры слияния. В нашем примере выберите из списка Назначение опцию Новый документ и оставьте остальные параметры без изменения. Возможность отбора записей не представляет большого интереса, т. к. средства создания запроса в Visual FoxPro намного богаче. Для окончательного объединения данных нажмите кнопку Объединить.

Результат слияния данных приведен на рис. 21.25.

gl21-26.jpg

Рис. 21.25. Документ, полученный в результате слияния

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

Знаете ли Вы, что только в 1990-х доплеровские измерения радиотелескопами показали скорость Маринова для CMB (космического микроволнового излучения), которую он открыл в 1974. Естественно, о Маринове никто не хотел вспоминать. Подробнее читайте в 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