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

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

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






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



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

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

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

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

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

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

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

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

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