Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Algus0309.DOC
Скачиваний:
12
Добавлен:
31.03.2015
Размер:
629.76 Кб
Скачать

I :byte;

ptr6 :TForm2;

begin

for i:=0 to Aknad.Count-1 do

{Aknad.Count – количество элементов, в нашем случае окон, в списке}

begin

ptr6:=Aknad.Items[i]; {Доступ к окнам по их порядковым номерам }

ptr6.Top:=17+i*25;

ptr6.Left:=310+i*8;

ptr6.Caption:='Форма № '+IntToStr(i);

{Изменение координат и заглавия }

end;

kolwin:=Aknad.Count; {Изменение числа окон }

end;

Управление окнами – Закрыть все

procedure TForm1.N6Click(Sender: TObject);

var

I :byte;

ptr6 :TForm2;

begin

for i:=Aknad.Count-1 downto 0 do

begin

ptr6:=Aknad.Items[i];

ptr6.Close;

end;

kolwin:=0;

end;

Управление окнами – Минимизировать все

procedure TForm1.N7Click(Sender: TObject);

Var

I :byte;

ptr6 :TForm2;

begin

for i:=0 to Aknad.Count-1 do

begin

ptr6:=Aknad.Items[i];

ptr6.WindowState:=wsMinimized;

end;

end;

Выход

procedure TForm1.N3Click(Sender: TObject);

begin

Close;

end;

Delphi позволяет задавать условие закрытия окна (любого): окно может быть закрыто лишь при условии, что переменная CanClose :boolean имеет значение true. По умолчанию так оно и есть. Перед закрытием окна формируется событие CloseQuery и можно по традиционным правилам писать выполняемую при этом событии процедуру; реализация которой приведена ниже:

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

if kolwin<>0 then

begin

ShowMessage('Закройте все окна и потом выходите из программы');

canClose:=false;

end

else

canClose:=true;

end;

Требуется и реакция на событие закрытия динамически созданного окна:

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Aknad.Delete(Aknad.IndexОf(self));

{Исключим закрываемое окно из списка окон}

end;

  1. Реализация алгоритмов решаемых задач на Delphi

    1. Традиционный подход реализации алгоритмов на Delphi

До сих пор рассматривались генерируемые Delphi процедуры. При решении больших задач возникает необходимость написания процедур и функций, реализующих алгоритмы разработчика. Напомним, что использование в программах процедур и функций целесообразно в двух случаях:

  • Имеются алгоритмы, которые необходимо выполнять многократно, но с разными исходными данными.

  • Объем программы большой и процедуры и функции используются как средство структурирования программы: каждая процедура (функция) решает какую-то подзадачу, но все они вместе обеспечивают решение всей задачи. Рекомендация: объем одной процедуры (функции) не более двух-трех экранов или одной страницы текста.

- 44-