Delphi. Учимся на примерах | страница 32



> x: TLabel;

> znak1: TLabel;

> znak2: TLabel;

> procedure FormCreate(Sender: TObject);

> procedure compClick(Sender: TObject);

> procedure Button1Click(Sender: TObject);

> procedure Button2Click(Sender: TObject);

>private

> { Private declarations }

> procedure min();

> procedure max();

>public

> { Public declarations }

>end;


>var

> Form1: TForm1;

> num, j, i, kolvo, big, small: integer;

> maximum, minimum: array [1..100] of integer; {массивы максимальных и минимальных чисел}


>implementation

>{$R *.dfm}


>//процедура нахождения наименьшего числа

>procedure TForm1.min();

>begin

> for i:=1 to kolvo do begin

>  for j:=1 to kolvo do begin

>   {Если число меньше наименьшего, то оно становится наименьшим}

>   if minimum[j] > small then small:= minimum[j];

>  end;

> end;

>end;

>//процедура нахождения наибольшего числа

>procedure TForm1.max();

>var temp: integer;

>begin

> temp:= StrToInt(finish.Text);

> for i:=1 to kolvo do begin

>  for j:=1 to kolvo do begin

>   if temp > maximum[j] then

>    if maximum[j] > 0 then temp:= maximum[j]; {если число больше наибольшего…}

>  end;

> end;

> if ( (temp<>0) and (temp<>StrTolnt(finish.Text)) ) then

>  {… и если число входит в допустимый диапазон, то оно становится наибольшим}

>  big:= temp;

>end;


>procedure TForm1.compClick(Sender: TObject);

>begin

> if comp.Checked then begin //если флажок установлен

>  //блокируем ввод от второго игрока

>  ch2.Enabled:= False;

>  рl2.Enabled:= False;

>  //включаем ввод от первого игрока

>  ch1.Enabled:= True;

>  pl1.Enabled:= True;

> end

> else begin

>  //если игра идет с человеком, то

>  //включаем ввод для второго игрока

>  ch2.Enabled:= True;

>  рl2.Enabled:= True;

> end;

>end;


>procedure TForm1.Button1Click(Sender: TObject);

>begin

> if ((StrToInt(finish.Text) > StrToInt(start.Text)) and (StrToInt(start.Text) > 0) and (StrToInt(finish.Text) < 60000))

> then {проверяем, не выходит ли заданное пользователем число за допустимые пределы}

>  {загадаем случайное число в заданном диапазоне}

>  num:= Random(StrToInt(finish.Text) – StrToInt(start.Text)) + StrToInt(start.Text)

> else ShowMessage('Неверный диапазон!');

> //обнуляем все, и придаем программе начальный вид

> znak1.Caption:= '';

> znak2.Caption:= '';

> ch1.Enabled:= True;

> ch2.Enabled:= False;

> pl1.Enabled:= True;

> pl2.Enabled:= False;

> x.Caption:= 'X';

> ch1.Text:= '0';

> ch2.Text:= '0';

> //очистим массивы наибольших и наименьших чисел

> for i:= 1 to kolvo+1 do begin

>  minimum[i]:= 0;

>  maximum[i]:= 0;

>  big:= StrToInt(finish.Text); //наибольшее число

>  small:= StrToInt(start.Text); //наименьшее число