Здрастуйте. Вопрос у меня. Мне нужно заполнить массив с помощю checkbox'ов(только 2 значения 1 0). Как зделать так чтоб было перепресваивание числа в масив тойсть: нажали примером на 1 а потом передумали и нажали на 0 как зделать чтоб 1 переприсвоилась на 0, и на оборот...... P.S массив на 16 значений.
type TForm1 = class(TForm) Memo1: TMemo; Test: TButton; procedure TestClick(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } procedure MyClick(Sender : TObject); end;
var Form1: TForm1;
const Size = 16; var Arr : array[1 .. Size] of 0 .. 1;
implementation
{$R *.dfm}
// Это просто тест, проверка, правильно ли работает procedure TForm1.TestClick(Sender: TObject); var i : Integer; begin Memo1.Clear; for i := 1 to Size do begin Memo1.Lines.Add(IntToStr(Arr[i])); end; end;
procedure TForm1.FormCreate(Sender: TObject); var i : Integer; begin for i := 1 to Size do begin with TCheckBox.Create(Form1) do begin Parent := Form1; Caption := IntToStr(i); Left := 20; Top := 20 + Pred(i) * 20; Tag := i; OnClick := MyClick; end; end; end;
procedure TForm1.MyClick(Sender : TObject); var Index : Integer; begin Index := (Sender as TCheckBox).Tag; Arr[Index] := 1 - Arr[Index]; end;