информатик задал программу
по русски это в квадрате по диагонали крестики и нолики и при нажатии х и о должны меняться по диагоналям
вот часть кода .. как бы так изменить чтоб на работала
P.S. больно не понятны обработчики
Код:
procedure btShowMasClick(Sender: TObject);
procedure btClearMemoClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btChangeClick(Sender: TObject);
программа
Код:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
procedure btShowMasClick(Sender: TObject);
procedure btClearMemoClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btChangeClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
size = 10;
var
Form2: TForm2;
matrix: array[1..size,1..size] of char;
implementation
{$R *.dfm}
procedure TForm2.btShowMasClick(Sender: TObject);
//процедура "распечатки" массива в TMemo
var
col,row:byte;
s:string;
begin
for row:=1 to size do
begin
s:='';
for col:=1 to size do s:=s+matrix[row,col]+' ';
Memo1.Lines.Add(s);
end;
end;
procedure TForm2.FormCreate(Sender: TObject);
// заполнение массива
var
col,row,i: byte;
begin
//заполнение массива дефисами
for row:=1 to size do
for col:=1 to size do
matrix[row,col]:='-';
//заполнение главной диагонали
for i:=1 to size do
matrix[i,i]:='O';
//заполнение побочной диагонали
for i:=1 to size do
matrix[i,size-(i-1)]:='X';
end;
procedure TForm2.btChangeClick(Sender: TObject);
// обмен значениями
var
i:integer;
buffer:char;
begin
for i:=1 to size do
begin
buffer:= matrix[i,i];
matrix[i,i]:= matrix[i,size-(i-1)];
matrix[i,size-(i-1)]:=buffer;
end;
end;
procedure TForm2.btClearMemoClick(Sender: TObject);
// очистка редактора TMemo
begin
Memo1.Lines.Clear;
end;
end.