Читать курсовая по Отсутствует: "Создание компонента для шифрования-дешифрования текста" Страница 2
- 1
- 2
помещается 4 символа, а длина палочки позволяет записать 6 символов, исходный текст: «это шифр древней спарты» превратится в шифрограмму: «эфвптрнао ер дйтшр ыиес».
1. Постановка задачи
Создать компонент для шифрования - дешифрования текста тремя алгоритмами (алгоритм «Цезаря», алгоритм «Модифицированного Цезаря», алгоритм «Скитала») и применить его в программе.
. Алгоритм создания компонента
Для создания компонента нужно сначала определить визуальный он будет или нет.
Теперь нужно выбрать предка. Как правило, используются в виде предков TComponent, TControl, TWinControl, TGraphicControl, TCustomXXXXXX, а также все компоненты палитры компонентов. Для своего компонента я взял предка TOpenDialog.
В Borland Delphi в меню Component мы выбираем пункт New Component.
Далее выводится небольшая таблица для нового компонента:
type - выбираем предка для компонента;Name - имя класса для компонента;Page - выбираем вкладку на которой будет наш компонент. В данном случае мы создали новую вкладку с названием My Component.
Поля Unit file name и Search path определяются автоматически и в них ничего вводить не нужно.
При нажатии кнопки ОК появляется шаблон нашего будущего компонента.
Переопределяем конструктор у этого компонента:
В директиве public вставляем строку Create(AOwner: TComponent); override;
нажатие на этой строке Ctrl + Shift + C создает шаблон для этого метода, внутри которого мы вставляем такие строки:Create(AOwner); {Вызываем унаследованный конструктор}Options := Options + [ofFileMustExist, ofPathMustExist]; {Выполняем необходимые нам действия}
Теперь нужно сохранить и установить созданный компонент.
В меню Component выбираем пункт Install Component…
В поле Unit file name указываем имя нашего сохранённого модуля и нажимаем ОК.
Тут появиться сообщение «Такой то пакет будет изменён. Продолжить?», на это сообщение мы нажимаем кнопку ОК.
Теперь на в новой вкладе My component появился наш собственный компонент ShifText.
. Исходный текст компонента
ShifText;
interface, Classes, Dialogs;= class(TOpenDialog)
{ Private declarations }
{ Protected declarations }AlgCez(S,Cl:string):string;DeAlgCez(S,Cl:string):string;AlgVijen(S,Cl:string):string;DeAlgVijen(S,Cl:string):string;AlgSkit(S,Cl:string):string;DeAlgSkit(S,Cl:string):string;Create(AOwner: TComponent); override;
{ Public declarations }
{ Published declarations };Register;Register;('My Component', [TShifText]);;
{ TShifText }TShifText.Create(AOwner: TComponent);
beginCreate(AOwner); {Вызываем унаследованный конструктор}:= Options + [ofFileMustExist, ofPathMustExist]; {Выполняем необходимые нам действия}
end;TShifText.AlgCez(S,Cl:string):string;i,k,k1,a,Cluch:Integer;:=StrToInt(Cl);i:=1 to Length(S) do:=Ord(S[i]);:=k+Cluch;(k1>=255) then:=k1-255;:=a+1;;[i]:=Chr(k1);;:=S;;TShifText.DeAlgCez(S,Cl:string):string;i,k,k1,a,Cluch:integer;:=StrToInt(Cl);i:=1 to Length(S) do:=Ord(S[i]);:=k-Cluch;(k1=255 then:=k1-255;:=a+1;;:=1;:=k+Cl1;k1>=255 then:=k1-255;:=a+1;;;;[i]:=Chr(k1);:=Cl1+1;;:=S;;TShifText.DeAlgVijen(S,Cl:string):string;i,k,k1,a,Cluch,Cl1:integer;:=StrToInt(Cl);:=1;i:=1 to Length(S) do:=Ord(S[i]);:=k-1;Cl1
- 1
- 2
Похожие работы
Интересная статья: Быстрое написание курсовой работы

(Назад)
(Cкачать работу)