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

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

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






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



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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

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

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Тема: Изучение фенотипов местных сортов растений Цель: расширить знания о задачах современной селекции. Оборудование:пакетики семян различных сортов томатов...

Тема: Составление цепи питания Цель: расширить знания о биотических факторах среды. Оборудование:гербарные растения...

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

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