Тема: Txt в Memo
Показать сообщение отдельно
  #11  
Старый 28.01.2011, 21:21
chelek chelek вне форума
Прохожий
 
Регистрация: 24.01.2011
Сообщения: 6
Репутация: 10
По умолчанию

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

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.
Ответить с цитированием