08.01.2007, 16:30
общий
это ответ
Здравствуйте, Аленка!
см. приложение!
Каждый обрботчик в название содержит название метода, к которому он должен быть назначен. (Например: "procedure Button1Click(Sender:TObject);" должен быть назначен методу OnClick компонента Button1)
Теперь что касается массива.
допустим у тебя есть массив:
var
Ar:array [0..15, 0..15] of Byte;
алгоритм будет выглядеть так (предполагается что массив инициализирован)
procedure Sort;
var
i, j, k, l, n, m:Byte;//Çà÷åì òðàòèòü ïàìÿòü!
begin
for j:=0 to 15 do
for i:=15 downto 0 do //ïåðåáîð ìàññèâà íà÷èíàÿ ñ ïðàâîãî âåðõíåãî óãëà è çàêàí÷èâàÿ ëåâûì íèæíèì
begin
for l:=j to 15 do
begin
if l=j then n:=i-1 else n:=15;
if n=$FF then n:=0;
for k:=n downto 0 do
begin
if Ar[i, j]>Ar[k, l] then
begin
m:=Ar[i, j];
Ar[i, j]:=Ar[k ,l];
Ar[k, l]:=m;
end
end;
end;
end;
end;
Приложение:
{Код первой кнопки}procedure TForm1.Button1Click(Sender: TObject);begin if (Button2.Visible)and(Button3.Visible) then begin Button3.Visible:=False; Exit; end; if (not Button2.Visible)and(Button3.Visible) then begin Button3.Visible:=True; Button3.Visible:=False; Exit; end; if (Button2.Visible)and(not Button3.Visible) then begin Button2.Visible:=False; Button3.Visible:=True; Exit; end;end;{Код второй кнопки}procedure TForm1.Button2Click(Sender: TObject);begin if (Button1.Top+Button1.Height+10)<ClientHeight then Button1.Top:=Button1.Top+10 else Button1.Top:=ClientHeight-Button1.Height;end;{Код третьей кнопки}procedure TForm1.Button3Click(Sender: TObject);begin if Form1.Cursor-1>-22 then Form1.Cursor:=Form1.Cursor-1 else Form1.Cursor:=0; Button1.Cursor:=Form1.Cursor; Button2.Cursor:=Form1.Cursor; Button3.Cursor:=Form1.Cursor;end;{Динамическое определение Hint‘ов}procedure TForm1.FormCreate(Sender: TObject);begin Button1.Hint:=‘Кнопка 1‘; Button2.Hint:=‘Кнопка 2‘; Button3.Hint:=‘Кнопка 3‘;end;{Код для реагирования на Alt+I и Alt+X}procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);begin case Key of ‘I‘:if GetAsyncKeyState(VK_MENU)<>0 then Tag:=1; ‘X‘:if GetAsyncKeyState(VK_MENU)<>0 then Tag:=2; else Tag:=0; end;end;procedure TForm1.FormClick(Sender: TObject);begin if Tag=1 then begin Button1.Top:=8; Button2.Visible:=True; Button3.Visible:=False; end;end;procedure TForm1.FormDblClick(Sender: TObject);begin if Tag=2 then Close;end;