Ну и собственно сам обмен:
Код:
procedure TForm36.ButtonClick(Sender: TObject);
Var
i: Integer;
C: String;
begin
for i := 0 to Length(Buttons) - 1
do if Buttons[i] = Sender
then begin
if i Mod Cols = 0
then ShowMessage('Не меняюсь!')
else begin
C := TSpeedButton(Buttons[i-1]).Caption;
TSpeedButton(Buttons[i-1]).Caption := TSpeedButton(Buttons[i]).Caption;
TSpeedButton(Buttons[i]).Caption := C;
end;
Break;
end;
end;