Не пойму в чем ошибка, пишет: "Expected END but VAR found "
unit
PIN;
interface
uses
Windows, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,
Buttons,math;
type
ttype=array[1..65] of
integer;
TForm1 = class(TForm)
LabeledEdit1: TLabeledEdit;
Button1: TButton;
BitBtn1: TBitBtn;
LabeledEdit10: TLabeledEdit;
RadioGroup1: TRadioGroup;
LabeledEdit2: TLabeledEdit;
procedure
Button1Click(Sender: TObject);
var
Form1: TForm1;
const constN=16;
Implementation
//процедура
перевода числа в двоичное представление
procedure BBI(ss:string; var
mas:ttype);
var i,j,N:integer;
begin
j:=1;
for i:=1 to constN do
begin
case ss[i] of
'0': begin
mas[j]:=0;mas[j+1]:=0;mas[j+2]:=0;mas[j+3]:=0; end;
'1': begin
mas[j]:=0;mas[j+1]:=0;mas[j+2]:=0;mas[j+3]:=1; end;
'2': begin
mas[j]:=0;mas[j+1]:=0;mas[j+2]:=1;mas[j+3]:=0; end;
'3': begin
mas[j]:=0;mas[j+1]:=0;mas[j+2]:=1;mas[j+3]:=1; end;
'4': begin
mas[j]:=0;mas[j+1]:=1;mas[j+2]:=0;mas[j+3]:=0; end;
'5': begin
mas[j]:=0;mas[j+1]:=1;mas[j+2]:=0;mas[j+3]:=1; end;
'6': begin
mas[j]:=0;mas[j+1]:=1;mas[j+2]:=1;mas[j+3]:=0; end;
'7': begin
mas[j]:=0;mas[j+1]:=1;mas[j+2]:=1;mas[j+3]:=1; end;
'8': begin
mas[j]:=1;mas[j+1]:=0;mas[j+2]:=0;mas[j+3]:=0; end;
'9': begin
mas[j]:=1;mas[j+1]:=0;mas[j+2]:=0;mas[j+3]:=1; end;
'A': begin
mas[j]:=1;mas[j+1]:=0;mas[j+2]:=1;mas[j+3]:=0; end;
'B': begin
mas[j]:=1;mas[j+1]:=0;mas[j+2]:=1;mas[j+3]:=1; end;
'C': begin
mas[j]:=1;mas[j+1]:=1;mas[j+2]:=0;mas[j+3]:=0; end;
'D': begin
mas[j]:=1;mas[j+1]:=1;mas[j+2]:=0;mas[j+3]:=1; end;
'E': begin
mas[j]:=1;mas[j+1]:=1;mas[j+2]:=1;mas[j+3]:=0; end;
'F': begin
mas[j]:=1;mas[j+1]:=1;mas[j+2]:=1;mas[j+3]:=1; end;
end;
j:=j+4;
end;
end;
procedure
TForm1.Button1Click(Sender: TObject);
var a1,a2:int64;
a116,a216,s,pin:string; i, N, k, Number : integer;
mas1,mas2,mas3:ttype;
mas4:array[1.. constN] of integer;
begin
// считывание длины PIN
case RadioGroup1.ItemIndex
of
0,-1: Number:=4;
1:
Number:=8;
2:
Number:=12;
end;
//формирование
первого шестнадцаричного числа
a1:=strtoint64(LabeledEdit1.Text);
a116:= inttohex(a1,14);
//Дополнение
числа до 16 знаков
while(Length(a116)< constN)
do
a116:=a116+'0';
//
генерируется второе случайное число
Randomize;
for i := 0 to constN-1 do
begin
s:=inttostr(Random(8)+1)+s;
end;
//Перевод
второго числа в 16 систему
a2:= strtoint64(s);
a216:=inttohex(a2,16);
//
перевод чисел в двоичную систему
BBI(a116,mas1);
BBI(a216,mas2);
//
сложение двоичных чисел
N:=64;
while(N>=0)do
begin
mas3[N+1]:=mas3[N+1]+mas2[N]+mas1[N];
if mas3[N+1]>=2 then
begin
while (mas3[N+1]>=2) do
begin
mas3[N+1]:=mas3[N+1]-2;
mas3[N]:=mas3[N]+1;
end;
end;
N:=N-1;
end;
//побитовое
разбиение
for i:=1 to constN do
begin
mas4[i]:=0;
end;
pin:='';
k:=0;
i:=1;
N:=65;
While ((k1)) do
begin
mas4[i]:=mas3[N]*1+
mas3[N-1]*2+mas3[N-2]*4+mas3[N-3]*8;
if mas4[i]