Шифр Цезаря. Подключение функции

vvafree

Добрый день. Прошу вас помочь с исполнительной кнопкой В программе два memo в memo1 вводится предложение которое нужно зашифровать в memo2 выводится уже зашифрованное сообщение Использую вот эту функцию
function cEcezar(s:string;key:byte):string;
var i:integer; c,d:char;rez:string;
begin
rez:='';
for i:=1 to length(s) do
begin
c:=s[i];
d:=chr((ord(c)+ key)mod 255);
rez:=rez+d;
end;
cEcezar:=rez;
end;
Помогите сделать кнопку выполнить Просто я новичок в delfi key:=3;Были попытки её написания
procedure TForm1.ECezarExecute(Sender: TObject);
var i:integer;key:byte;
begin
key:=3;
for i:=0 to memo1.Lines.Count do
memo2.Lines.Add(cEcezar(memo1.Lines[i],key));
Но программа не реагирует на эту кнопкуВот полный код программы
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ActnList, StdCtrls, Buttons, ExtCtrls, StdActns;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure ECezarExecute(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1; 
 
implementation
 
{$R *.dfm}
 
 
function cEcezar(s:string;key:byte):string;
var i:integer; c,d:char;rez:string;
begin
rez:='';
for i:=1 to length(s) do
begin
c:=s[i];
d:=chr((ord(c)+ key)mod 255);
rez:=rez+d;
end;
cEcezar:=rez;
end;
 
 
 
 
procedure TForm1.ECezarExecute(Sender: TObject);
var i:integer;key:byte;
begin
key:=3;
for i:=0 to memo1.Lines.Count do
memo2.Lines.Add(cEcezar(memo1.Lines[i],key));
 
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
 
end.
В button1 в events в oneclick выбираю ECezarExecuteПомогите пожалуйсто
6 ответов

vvafree

Спасибо что откликнулись.. Но к сожалению программа отказывается работать


vvafree

Спасибо что откликнулись.. Но к сожалению программа отказывается работать
Что именно не работает? Ты обработчики событий Button1Click, Button2Click в инспекторе добавил?


vvafree

Да всё добавлено. Батон2 работает а Батон1 нет


vvafree

Что уж там может не работать...


vvafree

Спасибо большое за помощь


vvafree

unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
function cEcezar(s:string;key:byte):string;
var i:integer; c,d:char;
begin
  for i:=1 to length(s) do
  begin
    c:=s[i];
    if not (c in [#10, #13]) then
      d:=chr((ord(c)+ key)mod 255)
    else d := c;
    Result:=Result+d;
  end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo2.Text := cEcezar(Memo1.Text, 3);
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  Close;
end;
 
end.