Студопедия — Приложение 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; просмотров: 342. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Подкожное введение сывороток по методу Безредки. С целью предупреждения развития анафилактического шока и других аллергических реак­ций при введении иммунных сывороток используют метод Безредки для определения реакции больного на введение сыворотки...

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

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

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