Ошибка в коде delphi

Что то не увеличивается переменная ban
procedure TForm1.Button1Click(Sender: TObject);
var pass,vhpass:string;
ban:integer;
begin
ban:=0;
pass:=('123');
vhpass:=Edit1.Text;

if (ban>=3) then
begin
Form1.Color:=$0000ff;
showmessage(' !');
close;
end
else
if (ban<3) then
begin

if vhpass=pass then
begin
Form1.Color:=$00ff00;
Showmessage(' !');
form1.Visible:=false;
form3.Show;
end
else
if vhpass<>pass then
begin
Form1.Color:=$0000ff;
showmessage(' !');
ban:=ban+1;
end

end

end;

end.

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

Твоя переменная ban перестает существовать, как только процедура Button1Click завершается.

задавай ее глобально.

ban:=0; - тут ты ее инициализируешь каждый раз.
Используй метод формы или глобальную переменную для хранения текущего значения счетчика.

ban введи в глобальную это в самом начале шаблона