siba121
1

Пожалуйста найдите ошибку в коде приложения "шифратор"(шифр Гронсфельда)

19.12.2013, 01:58. Показов 1513. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишет: [DCC Error] Unit3.pas(77): E2035 Not enough actual parameters,
[DCC Error] Unit3.pas(85): E2035 Not enough actual parameters.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
unit Unit3;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm3 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form3: TForm3;
implementation
 
{$R *.dfm}
type
  Tfirst = '1' .. '8';
  Tsecond = '1' .. '8';
const
  n = 3;
  function GronsfeldEncipher(toCode, K: string): string;
var i, T, _T: integer;
 s: string;
begin
  for i := 1 to length(toCode) do begin
    _T := ord(toCode[ i ]);
 
    T := (Ord(toCode[ i ])
 
      +
      (Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0'))
 
         );
 
    if T >= 256 then dec(T, 256);
    toCode[ i ] := Chr(T);
  end;
  GronsfeldEncipher := toCode;
end;
 
function GronsfeldDecipher(toDecode, K: string): string;
var i, T: integer;
 s: string;
begin
  for i := 1 to length(toDecode) do begin
    T := (Ord(toDecode[i])
 
      -
      (Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0'))
 
         );
    if T < 0 then Inc(T, 256);
    toDecode[ i ] := Chr(T);
  end;
  GronsfeldDecipher := toDecode;
end;
 
{ применение: }
 
procedure TForm3.Button1Click(Sender: TObject);
var s: string;
begin
s:=GronsfeldEncipher(Edit1.Text);
Edit2.Text:=s;
end;
 
procedure TForm3.Button2Click(Sender: TObject);
var
s:string;
begin
s:=GronsfeldDecipher(Edit2.Text);
Edit1.Text:=s;
end;
end.
Добавлено через 1 час 31 минуту
Ошибка в этих строчках:
s:=GronsfeldEncipher(Edit1.Text);

s:=GronsfeldDecipher(Edit2.Text);
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2013, 01:58
Ответы с готовыми решениями:

Найдите пожалуйста ошибку в коде
uses crt; var x:arrayof integer; S,T,U,i,n:integer; y:real; begin n:=0; write('Введите...

Найдите ошибку в коде, пожалуйста!
Встретился с такой проблемой: #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &lt;iostream&gt;...

Найдите пожалуйста ошибку в коде
program EMV_RZ_1; uses crt; var eps,x,a,b:real; function f(x:real):real; begin ...

Пожалуйста найдите ошибку в коде
var s,srez:string; i,tmp:integer; begin srez:=''; writeln('Введите слово:'); readln(s);...

1
394 / 122 / 48
Регистрация: 26.10.2013
Сообщений: 734
19.12.2013, 03:46 2
мда... функция
Delphi
1
function GronsfeldEncipher(toCode, K: string): string;
сколько в нее параметров нужно передать при вызове?) я, думаю, два, ни больше, ни меньше) ты как считаешь?

Добавлено через 10 минут
ща я тебе скажу как бы я сделал)

Добавлено через 11 минут
вот так, примерно

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    RichEdit1: TRichEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
implementation
 
{$R *.dfm}
type
  Tfirst = '1' .. '8';
  Tsecond = '1' .. '8';
const
  n = 3;
  function GronsfeldEncipher(toCode, K: string): string;
var i, T, _T: integer;
 s: string;
begin
  for i := 1 to length(toCode) do begin
    _T := ord(toCode[ i ]);
 
    T := (Ord(toCode[ i ])
 
      +
      (Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0'))
 
         );
 
    if T >= 256 then dec(T, 256);
    toCode[ i ] := Chr(T);
  end;
  GronsfeldEncipher := toCode;
end;
 
function GronsfeldDecipher(toDecode, K: string): string;
var i, T: integer;
 s: string;
begin
  for i := 1 to length(toDecode) do begin
    T := (Ord(toDecode[i])
 
      -
      (Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0'))
 
         );
    if T < 0 then Inc(T, 256);
    toDecode[ i ] := Chr(T);
  end;
  GronsfeldDecipher := toDecode;
end;
 
{ применение: }
 
procedure TForm1.Button1Click(Sender: TObject);
var
 s: string;
begin
if Length(Edit1.Text) > 5 then
 begin
  s:=GronsfeldEncipher(RichEdit1.Text, Edit1.Text);
  RichEdit1.Text:=s;
 end
 else
  ShowMessage('Пароль должен содержать минимум 6 символов');
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var
 s:string;
begin
if Length(Edit1.Text) > 5 then
 begin
  s:=GronsfeldDecipher(RichEdit1.Text, Edit1.Text);
  RichEdit1.Text:=s;
 end
 else
  ShowMessage('Пароль должен содержать минимум 6 символов');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Caption:= 'Кодировать';
  Button2.Caption:= 'Декодировать';
  Label1.Caption:= 'Пароль';
  with Edit1 do
  begin
   NumbersOnly:= True;
   MaxLength:= 10;
  end;
end;
 
end.
Добавлено через 8 минут
вот что я бы еще добавил

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button1Click(Sender: TObject);
var
 s: string;
begin
if Length(Edit1.Text) > 5 then
 begin
  s:=GronsfeldEncipher(RichEdit1.Text, Edit1.Text);
  RichEdit1.Text:=s;
  Clipboard.SetTextBuf(PChar(RichEdit1.Text)); //копируем в буфер обмена
 end
 else
  ShowMessage('Пароль должен содержать минимум 6 символов');
end;
0
19.12.2013, 03:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2013, 03:46
Помогаю со студенческими работами здесь

Задание по строкам, найдите ошибку в коде пожалуйста
В S1, длина которой кратна n , отсортировать по возрастанию группы символов, в каждой из которых по...

Пожалуйста найдите ошибку в коде,буду благодарен
Добрый день!Задание:&quot;Найдите произведение первых 10 элементов одномерного массива и сумму последних...

Пожалуйста найдите в моем коде ошибку и как ее справить: неиспользуемая переменная, С++ не показывает где она
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { int a, b, c, min;...

Найдите пожалуйста ошибку в коде программы "Вопрос-ответ"
Здравствуйте уважаемые форумчане! Я решил изучить C#, и вот начал с основ. Написал простую...

Найдите ошибку в коде и укажите потенциальные проблемы, которые содержатся в коде
Дорогие программисты помогите с решением задачи по C#, не успеваю :( Найдите ошибку в коде и...

найдите ошибку пожалуйста си (Запросить у пользователя строку, найдите и удалите в ней повторяющиеся подряд двух буквенные слоги)
Запросить у пользователя строку, найдите и удалите в ней повторяющиеся подряд двух буквенные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru