Студопедия Главная Случайная страница Обратная связь

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

Система перестановок





unit Unit1;

interface

uses

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

Dialogs, StdCtrls, ComCtrls, Menus;

type

TForm1 = class(TForm)

real_str: TEdit;

Button1: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Button2: TButton;

smeshch: TEdit;

Label4: TLabel;

Memo1: TMemo;

decr_str: TEdit;

procedure Button1Click(Sender: TObject);

procedure smeshchChange(Sender: TObject; var knopka: Char);

procedure Button2Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

dlina: integer;

implementation

{$R *.dfm}

procedur TForm1.Button1Click(Sender: TObject); //telo procedury

var //obъyavlenie peremennyh

stroka: string;

massiv: array of integer;

i: integer;

begin

memo1.lines.Clear; //ochistka polya dlya zashifrovannoi stroki

stroka:= real_str.text; //poluchenie real'noi sroki

dlina:= length(stroka); //uznati dlinu stroki i zapisat' v dlina

setlength(stroka, dlina+1); //zadat' dlinu

setlength(massiv, dlina+1);

if real_str.text = '' then //proverka na pustotu polya. esli pusto, to soobshenie, focus na obъekte i vihod iz procedury

begin

ShowMessage('Введите шифруемую строку');

real_str.SetFocus;

exit; end;

if smeshch.text = '' then // to zhe samoe

begin

button2.Enabled:= false;

ShowMessage('Введите смещение');

smeshch.SetFocus;

exit; end;

if StrToInt(smeshch.text) > 256 then //potomu chto vsego byvaet 256 ASCII simvolov

begin

button2.Enabled:= false;

showmessage('Смещение не может быть больше 256');

smeshch.text:= '0';

smeshch.SetFocus;

end

else begin

for i:= 1 to dlina do

begin

massiv[i]:= ord(stroka[i]) + StrToInt(smeshch.text);

if massiv[i] > 255 then

massiv[i]:= massiv[i] mod 256 // ostatok ot deleniya na 256

end; end;

for i:= 1 to dlina do

begin

memo1.Lines[0]:= memo1.Lines[0] + chr(massiv[i]);

end;

button2.Enabled:= true;

button2.SetFocus;

decr_str.Text:= '';

end;

procedure TForm1.smeshchChange(Sender: TObject; var knopka: Char); //telo pocedury. zapreshaet vvod lyubyj simvolov, krome 0-9

begin

case knopka of

'0'..'9', #8:

else knopka:= #0;

end;end;

procedure TForm1.Button2Click(Sender: TObject);

var

decr_sym: char;

i: integer;

begin

button2.Enabled:= false;

decr_str.Text:= '';

for i:= 1 to dlina do

begin

if (ord(memo1.Lines[0][i]) - StrToInt(smeshch.text)) >= 0 then

begin

decr_sym:= chr(ord(memo1.Lines[0][i]) - StrToInt(smeshch.text));

decr_str.Text:= decr_str.Text + decr_sym;

end

else begin

decr_sym:= chr(256 - (StrToInt(smeshch.Text) - ord(memo1.Lines[0][i])));

decr_str.Text:= decr_str.Text + decr_sym;

end; end;end;

procedure TForm1.FormActivate(Sender: TObject);

begin

button2.Enabled:= false;

real_str.SetFocus;

end;end.







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




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


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


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


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

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Психолого-педагогическая характеристика студенческой группы   Характеристика группы составляется по 407 группе очного отделения зооинженерного факультета, бакалавриата по направлению «Биология» РГАУ-МСХА имени К...

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

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