Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОА Delphi формата А4.doc
Скачиваний:
7
Добавлен:
29.08.2019
Размер:
1.58 Mб
Скачать

Image1.Canvas.LineTo(X,y);

start:=false;

end;

if (k=3) and (start=false) then

begin

Image1.Canvas.MoveTo(X,y);

start:=true;

end;

  1. Обрабатываем кнопку PEN. Создаем логическую переменную Down=false, которая будет хранить состояния кнопки мыши false – отпущена, true – нажата. Создаем логическую переменную stertpen=false, которая будет хранить два состояния карандаша: false – начало линии, true – продолжение линии. В событии Image1.mouseMove – рисуем линию, в событии Image1.mouseUp очищаем переменные: down:=false; startpen:=false;

  2. Аналогично карандашу создаем обработчик для ЛАСТИКа. Он должен рисовать маленькими прямоугольниками при нажатой кнопке мыши.

  3. Обрабатываем кнопку ЗАЛИВКА. K:=5; В событии OnMouseDown выполняем заливку.

//Заливка if k=5 then begin Image1.canvas.Brush.color:=z; Image1.canvas.FloodFill(x,y,q,fsBorder); end;

ВОПРОСЫ: Основные компоненты для работы с графикой, диалогами, меню и их свойства

  1. Создание приложение для шифрования данных методами Цезаря и Аффинной системой

Цель занятия: научиться создавать собственный класс и применять его для решения задач.

Метод Цезаря – это преобразование буквы, соответствующей числу n на букву, соответствующую числовому значению n+сдвиг на выбранное целое число.

Аффинная система – это преобразование буквы, соответствующей числу t на букву, соответствующему числовому значению (a*t+b) по модулю m.

Например: Дано слово математика

Метод Цезаря со сдвигом =2, результат - овфзовфкмв

Аффинная система - со сдвигом 2,2 – ъвжмъвжтцв

Задание: Создайте приложение ШИФРОВАНИЕ для шифрования текса, на русском языке.

1. Создание собственного класса.

Класс содержит три поля: массив букв, исходный и кодированный текст. Над элементами класса выполнимы две функции: взятие кода буквы и буквы по коду, а также две процедуры: constructor для создания класса, destructor для уничтожения (освобождения памяти после объекта).

Поле al – это массив, состоящий из 31 букв русского алфавита. Поля исходный и кодированный текст являются элементами класса TStringList.

Для выполнения задания необходимо:

  1. Добавьте в проект модуль (выберите в меню File – команду New – unit).

  2. Опишите класс в разделе Type TAlf_rus=class(TObject)

  3. В разделе описания типов данных в разделе public опишите класс:

al : array[0..31] of char; // русский алфавит Ish_text, Shifr_text : TStringList; // списки для исходного и шифрованного текста

  1. Добавьте в раздел public стандартную процедуру для создания объекта класса constructor Create();

  2. В разделе implementation добавьте описание данной процедуры:

constructor TAlf_rus.Create;

Var I : integer;

begin

al[0] := 'а'; … al[31] := 'я'; // допишите остальные значения элементов массива от 2 до 30

Ish_text := TStringList.Create;

Shifr_text := TStringList.Create;

end;

  1. Добавьте в раздел public стандартную процедуру для удаления объекта класса destructor destroy();

  2. В разделе implementation добавьте описание данной процедуры:

destructor TAlf_rus.destroy;

begin