Вот исправленный код:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Edit1: TEdit;
Edit2: TEdit;
Memo1: TMemo;
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
BitBtn1: TBitBtn;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
//type
// A=array[0..100] of integer;
// B=array[0..100] of integer;
var
A:array[0..100] of integer;
B:array[0..100] of integer;
Form1: TForm1;
N1,N2:String;
N11,N22,minA,minB:integer;
implementation
{$R *.dfm}
//label restart;
procedure TForm1.FormCreate(Sender: TObject);
begin
Button2.Enabled:=False;
Button3.Enabled:=False;
Button4.Enabled:=False;
end;
procedure TForm1.Button1Click(Sender: TObject);
var a1,b1:Integer;
begin
N1:=Edit1.Text;
N2:=Edit2.Text;
N11:=StrToInt(N1);
N22:=StrToInt(N2);
if N11<=0 then
N11:=1
Else if N11>99 then
N11:=99;
{else
ShowMessage('Длина массива X: Введите число');}
if N22<=0 then
N22:=1
Else if N22>99 then
N22:=99;
{else
ShowMessage('Длина массива Y: Введите число');}
randomize;
for a1:=0 to N11-1 do
A[a1]:=(-99+random(198));;
for b1:=0 to N22-1 do
B[b1]:=-99+random(198);
Button2.Enabled:=True;
end;
procedure TForm1.Button2Click(Sender: TObject);
var a1,b1:Integer;
begin
N1:=Edit1.Text;
N2:=Edit2.Text;
N11:=StrToInt(N1);
N22:=StrToInt(N2);
minA:=100;
minB:=100;
for a1:=1 to N11-1 do
if A[a1]<minA then
minA:=A[a1];
for b1:=1 to N22-1 do
if B[b1]<minB then
minB:=B[b1];
Button3.Enabled:=True;
end;
procedure TForm1.Button3Click(Sender: TObject);
var t:Integer;
begin
if minA<=minB then
t:=minA
else t:=minB;
Memo1.Lines.Clear;
Memo1.Lines.Add('t='+IntToStr(t)+' | '+'min of A='+
IntToStr(minA)+' | '+'min of B'+IntToStr(minB));
Button4.Enabled:=True;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Edit1.Text:='Длина массива X';
Edit2.Text:='Длина массива Y';
Memo1.Lines.Clear;
Memo1.Lines.Add('Здесь будет результат программы (значение t) и'');
Memo1.Lines.Add('минимальные значения матриц X и Y.');
end;
//goto restart;
end.
В целом всё работает, но хочу, чтобы
а) после нажатия 4-й кнопки 2,3 и 4-я кнопки отключались как при создании формы
б) при нажатии 4-й кнопки в поле Memo1