Студопедия — Приложение 3. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Приложение 3. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,






unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DES, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Memo1: TMemo;

Button1: TButton;

Label3: TLabel;

Memo2: TMemo;

Button2: TButton;

Memo3: TMemo;

Label4: TLabel;

Memo4: TMemo;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject); // вызывается при клике на кнопку

procedure Memo1Change(Sender: TObject); // вызывается при изменении многострочного текстового поля

procedure FormCreate(Sender: TObject); // вызывается при создании формы когда запускаем прогу

procedure Edit1Change(Sender: TObject); // вызывается при изменении текстового поля

procedure Memo2Change(Sender: TObject);

private

{ Private declarations }

public

Data:TBitString;

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); // процедура для зашифровки

Var

I:Integer;

S:String;

begin

IF ((Length(Memo1.Text)mod 8 <> 0) OR (Length(Edit1.Text)mod 8 <> 0)) Then // если длина строк в соответствующих полях не равна 8, то выдать сообщение

Begin

MessageBox(Handle,

‘Количество букв в сообщении должно быть кратно 8 (перевод строки считается за 2 символа) ’ + #10#13 ‘ключ должен состоять из 8 символов',

Nil,MB_ICONSTOP);

Exit; //прерывает исполнение процедуры

End;

SetLength(Data,0);

I:=1;

While I<=Length(Memo1.Text) Do // пока I меньше длины введённого текста делать

Begin

S:=Copy(Memo1.Text,I,8); //копировать подстроку из memo1 длиной 8 символов начиная с позиции I

Data:=ConcatBits([Data,DESEncode(S,Edit1.Text)]); //объединить две строки побитно

I:=I+8;

End;

Memo2.Text:=BinToAnsiStr(Data); //переводим полученную битовую комбинацию в читабельную строку и выводим в текстовое поле

end;

procedure TForm1.Button2Click(Sender: TObject); // процедура для декодирования. Работает также, как и для кодирования, только входным текстом является ранее закодированный текст

var

I:Integer;

begin

IF ((Length(Memo2.Text)mod 8 <> 0) OR (Length(Edit1.Text)mod 8 <> 0)) Then

Begin

MessageBox(Handle,

‘Количество букв в сообщении должно быть кратно 8 (перевод строки считается за 2 символа) ’ + #10#13 ‘ключ должен состоять из 8 символов',

Nil,MB_ICONSTOP);

Exit;

End;

SetLength(Data,0);

I:=1;

While I<=Length(Memo2.Text) Do

Begin

Data:=ConcatBits([Data,DESDecode(Copy(Memo2.Text,I,8),Edit1.Text)]);

I:=I+8;

End;

Memo1.Text:=BinToAnsiStr(Data);

end;

procedure TForm1.Memo1Change(Sender: TObject); //выводит на экран число – количество символов, которое было ведено в текстовое поле

begin

IF Memo1.Text<>'' Then

Memo3.Text:=BinToStr(AnsiStrToBin(Memo1.Text))

Else Memo3.Clear;

Label2.Caption:='Message - ('+IntToStr(Length(Memo1.Text))+' characters)';

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Memo1.OnChange(Self);

Edit1.OnChange(Self);

end;

procedure TForm1.Edit1Change(Sender: TObject); // аналогично

begin

Label4.Caption:=IntToStr(Length(Edit1.Text))+' characters';

end;

procedure TForm1.Memo2Change(Sender: TObject); // аналогично

begin

IF Memo2.Text<>'' Then

Memo4.Text:=BinToStr(AnsiStrToBin(Memo2.Text))

Else Memo4.Clear;

Label3.Caption:='Encoded message - ('+IntToStr(Length(Memo2.Text))+' characters)';

end;end.

 

 

 







Дата добавления: 2015-06-15; просмотров: 340. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия