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

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

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





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




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


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


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


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

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

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

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

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

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