- •Введение
- •Интегрированная среда Delphi. Принципы работы
- •Интегрированная среда Delphi
- •Принципы визуального программирования
- •Val(Edit1.Text,k1,sign);
- •Val(Edit2.Text,k2,sign);
- •Val(MaskEdit1.Text,r1,sig);
- •Val(МaskEdit2.Text,r2,sig);
- •Событийно-управляемые программы
- •Составление программ обработки массивов
- •I :integer;
- •I, j :integer;
- •Вывод на печать
- •Многодокументный и однодокументный интерфейсы (mdi и sdi)
- •Mdi и sdi: сравнение
- •Разработка mdi—приложений
- •Разработка главного и информационного окон
- •Использование стандартных диалоговых окон
- •If OpenDialog1.Execute then
- •Разработка диалогового окна
- •X1,x2,x3:String;
- •If b1 or b2 then
- •Управление окнами
- •I:integer;
- •I:integer;
- •Работа с меню
- •Var tf5:tForm2;
- •Разработка sdi–приложения
- •Простое sdi–приложение
- •I:byte;
- •I,j :byte;
- •I,j :byte;
- •I,j :byte;
- •Управление окнами в sdi–приложениях
- •I :byte;
- •I :byte;
- •I :byte;
- •Реализация алгоритмов решаемых задач на Delphi
- •Традиционный подход реализации алгоритмов на Delphi
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;
Реализация алгоритмов решаемых задач на Delphi
Традиционный подход реализации алгоритмов на Delphi
До сих пор рассматривались генерируемые Delphi процедуры. При решении больших задач возникает необходимость написания процедур и функций, реализующих алгоритмы разработчика. Напомним, что использование в программах процедур и функций целесообразно в двух случаях:
Имеются алгоритмы, которые необходимо выполнять многократно, но с разными исходными данными.
Объем программы большой и процедуры и функции используются как средство структурирования программы: каждая процедура (функция) решает какую-то подзадачу, но все они вместе обеспечивают решение всей задачи. Рекомендация: объем одной процедуры (функции) не более двух-трех экранов или одной страницы текста.
-