ЛАБОРАТОРНАЯ РАБОТА № 1.2
РАЗРАБОТКА и ИСПОЛЬЗОВАНИЕ ActiveX ФОРМ
Цель работы: Разработка компонента ActiveX на любом языке программирования и использование его в Windows Form C#.
ПРИМЕР СОЗДАНИЯ КОМПОНЕНТА ActiveX В СРЕДЕ DELPHI:
Создайте элемент ActiveX, в окне которого выводится движущаяся строка. Программа должна иметь возможность изменять скорость движения.
Разрабатываемая форма ActiveX изображена на рис.1.
Рисунок -1.
Для разработки приложения выполните следующие действия:
1. Создайте приложение AxtiveX Form. Для этого выполните команду File New | Other и на странице ActiveX Депозитария выберите пиктограмму ActiveX Form. Будет создан новый проект, который сохраните под каким-то именем, например, ActiveMoveX.
2. Перенесите на форму компоненты, приведенные в таблице 1.
Таблица 1
Компоненты, размещаемые на форме
Компонент | Класс | Описание |
Label1 | TLabel | Метка «Бегущая строка» |
Label2 | TLabel | Метка «Интервал движения» |
Edit1 | TEdit | Окно вывода бегущей строки |
Edit2 | TEdit | Окно ввода интервала времени |
Button1 | TButton | Кнопка «Пуск» |
Button2 | TButton | Кнопка «Стор» |
Timer1 | TTimer | Таймер, отсчитывающий интервал вывода очередного символа (Страница System палитры компонентов) |
3. Определение глобальных переменных. В начале программного модуля Создайте блок VAR и определите две глобальные переменные: s – бегущая строка, I – номер очередного символа бегущей строки.
uses ComObj, ComServ;
{$R *.DFM}
{ TActiveMoveX }
VAR s: String;
i:Integer;
4. Для события OnCreate форма запишите следующий программный код:
procedure TActiveMoveX. ActiveFormCreate(Sender: TObject);
begin
s:='Hello World!';
i:=1;
Timer1.Enabled:=False;
Edit1.Text:='';
end;
Данный код задает начальные условия.
5. Для события OnClick кнопки «Пуск» запишите следующий программный код:
procedure TActiveMoveX. Button1Click(Sender: TObject);
begin
Timer1.Enabled:=False;
Edit1.Text:='';
s:='Hello World!';
i:=1;
Timer1.Interval:=StrToInt(Edit2.Text);
Timer1.Enabled:=True;
end;
Данный программный код запускает таймер
6. Для события OnTimer таймера запишите следующий программный код:
procedure TActiveMoveX. Timer1Timer(Sender: TObject);
begin
If i<=Length(s) then Edit1.Text:=s[i]+Edit1.Text
else Edit1.Text:=' '+Edit1.Text;
i:=i+1;
end;
Данный программный код выводит на экран очередной символ бегущей строки.
7. Для события OnClick кнопки «Стор» запишите следующий программный код:
procedure TActiveMoveX. Button2Click(Sender: TObject);
begin
Timer1.Enabled:=False;
end;
Данный программный код останавливает работу таймера
8. Откомпилируйте разработанное приложение. Project | Build All Projects
9. Зарегистрируйте созданную форму ActiveX. Run | Register ActiveX Server.
10. Проверьте работу созданного приложения, вставив его в html-страницу (данный пункт задания выполнять не обязательно, можно перейти сразу в пункту 11). Для этого выполните следующие действия:
10.1. Запустите Microsoft FrontPage
10.2. Создайте новую страницу
10.3. Вставьте разработанную форму: Вставка | Веб компонент. В появившемся диалоговом окне выберите «Дополнительные элементы», «Элемент ActiveX» (см. рис.2.)

Рисунок -2.
10.4. Нажмите кнопку «Далее». В появившемся диалоговом окне (рис.3.) выберите кнопку «Настройка».

Рисунок -3.
10.5. В появившемся диалоговом окне выберите созданный вами компонент ActiveX. В данном случае ActiveMoveX Control (см. рис. 4)

Рисунок -4
10.6. Проверьте работу созданного компонента.
10.7. Добавьте к созданному компоненту возможность изменения цвета и размера выводимых символов. А также предоставьте пользователю возможность изменять выводимую строку.
11. Используйте разработанный компонент ActiveX в приложении, написанном на C#. Для этого выполните следующие действия:
11.1. Создайте в среде C# проект Windows Forms;
11.2. Добавьте созданный элемент управления ActiveX в панель инструментов, чтобы его можно было использовать также как элементы управления Windows (см. рисунок 5);

Рисунок 5- Добавление элемента управления ActiveX в панель инструментов.
11.3. В открывшемся диалоговом окне следует выбрать в категории COM-Components элемент управления ActiveMoveX Control (рисунок 6). В итоге на панели инструментов появится новая пиктограмма.
11.4. Перетащить новую пиктограмму на поле визуального конструктора Windows Forms для создания сборки-оболочки для элемента управления ActiveX/
Рисунок 6 – Выбор элемента управления ActiveMoveX Control
12. Самостоятельно разработайте компонент ActiveX, выполняющий следующие действия:
Создание элемента ActiveX, в окне которого отображается строка, бегущая изнутри (например, пусть введена строка "АБВГ....ЭЮЯ", тогда последовательность отображения ее символов следующая: "АЯ", "АБЮЯ", "АБВЭЮЯ" и т. д.). Программа должна содержать меню, которое позволяет осуществлять выбор шрифта для отображения текста и вызывать диалоговое окно для ввода пользователем текста отображаемой строки и скорости вывода символов (задержка в миллисекундах).
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
Составить приложение ActiveX для шифрования/дешифрирования по следующим методам:
1. Шифр перестановки «Скитала»
2. Шифрующих таблиц.
3. Шифрующих таблиц с ключевым словом.
4. Шифрующих таблиц. Двойная перестановка.
5. Магических квадратов
6. Полибианский квадрат (Только, пожалуйста, не используйте греческий алфавит)
7. Системы шифрования Цезаря (кому-то повезло!)
8. Аффинной системы подстановок Цезаря
9. Системы Цезаря с ключевым словом
10. Шифрующих таблиц Трисемуса
11. Биграммного шифра Плейфейра
12. Шифра Гронсфельда
13. Двойного квадрата Уитстона
14. Шифрование методом гаммирования
15. Программной реализации роторной машины.
ОПИСАНИЕ МЕТОДОВ ШИФРОВАНИЯ
Шифр перестановки «Скитала»
В V веке до нашей эры правители Спарты, наиболее воинственного их греческих государств, имели хорошо отработанную систему секретной военной связи и шифровали свои послания с помощью скитала, первого простейшего криптографического устройства, реализующего метод простой перестановки.
Шифрование выполнялось следующим образом. На стержень цилиндрической формы, который назывался скитала, наматывали спиралью (виток к витку) полоску пергамента и писали на ней вдоль стержня несколько строк текста сообщения. Затем снимали со стержня полоску пергамента с написанным текстом. Буквы на этой полоске оказывались расположенными хаотично. Такой же результат можно получить, если буквы сообщения писать по кольцу не подряд, а через определенное число позиций до тех пор, пока не будет исчерпан весь текст.
Н | А | С | Т | ||
У | П | А | Й | ||
Т | Е | ||||
Рис.1.
Сообщение НАСТУПАЙТЕ при размещении его по окружности стержня по три буквы дает шифртекст НУТАПЕСА_ТЙ
Для расшифрования такого шифртекста нужно не только знать правило шифрования, но и обладать ключом в виде стержня определенного диаметра. Зная только вид шифра, но не имея ключа, расшифровать сообщение было непросто. Шифр скитала многократно совершенствовался в последующие времена
Шифрующие таблицы
С начала эпохи Возрождения (конец XIV столетия) начала возрождаться и криптография. Наряду с традиционными применениями криптографии в политике, дипломатии и военном деле появляются и другие задачи - защита интеллектуальной собственности от преследований инквизиции или заимствований злоумышленников. В разработанных шифрах перестановки того времени применяются шифрующие таблицы, которые в сущности задают правила перестановки букв в сообщении
В качестве ключа в шифрующих таблицах используются'
• размер таблицы;
• слово или фраза, задающие перестановку,
• особенности структуры таблицы.
Одним из самых примитивных табличных шифров перестановки является простая перестановка, для которой ключом служит размер таблицы. Этот метод шифрования сходен с шифром скитала Например, сообщение
ТЕРМИНАТОР ПРИБЫВАЕТ СЕДЬМОГО В ПОЛНОЧЬ
записывается в таблицу поочередно по столбцам.
Результат заполнения таблицы из 5 строк и 7 столбцов показан на рис. 2.
Т | Н | П | В | Е | Г | Л |
Е | А | Р | А | д | О | Н |
Р | Т | И | Е | Ь | В | О |
М | О | Б | Т | М | П | Ч |
И | Р | Ы | С | О | О | Ь |
Рис 2. Заполнение таблицы из 5 строк и 7 столбцов
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 |


