ВУЗ:
Составители:
Рубрика:
- 72 -
Panel1.Left := (Form_1.Width - Panel1.Width) div 2;
Panel1.Top := (Form_1.Height - Panel1.Helght) div 2;
end;
Второй пример демонстрирует ограничение размеров окна (окно не может
превысить размеров экрана текущего дисплея)
procedure TForm_1.FormReslze(Sender: TObject);
begin
if Form_1.Width > Screen.Width then
Form_1.Width := Screen.Width;
if Form_1.Height > Screen.Height then
Form_1.Height := Screen.Height;
end;
Среди компонентов третьих фирм-разработчиков встречаются компонен-
ты, автоматически масштабирующиеся при изменении размеров формы (на-
пример, известен близкий к TPanel компонент, масштабирующий все свои
дочерние компоненты).
В последних версиях систем Delphi / C++Builder практически каждый ви-
зуальный компонент имеет свойство BiDiMode, позволяющее ‘привязать’
данный Control относительно левой, правой, верхней, нижней (или несколь-
ким) сторонам
родительского компонента.
9.4. ОБРАБОТКА ОШИБОК И ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ
При функционировании реальных приложений часто возникают пробле-
мы обработки ошибок (например, ошибок ввода, обработки файлов etc). Тра-
диционный (включающий десятки/сотни блоков if... then... else) способ весь-
ма неэффективен в сложных программах. В Delphi / С++Builder введены
специальные расширения языка, позволяющие обрабатывать любые исклю-
чительные (как
с точки зрения ЭВМ, так и пользователя) ситуации.
Слежение за исключительными ситуациями (ИСС) достигается использо-
ванием блоков try/except и try/finally (для стандарта языка Object Pascal
8.0).
Например, 'ловушка' ошибки преобразования при вводе в компоненте
TEdit вещественного числа в виде строки реализуется следующим образом
var
Speed: real;
. . . . . . . . . . . .
try { начало блока слежения за ИСС }
Speed:=StrToReal(SpeedEdit.Text);
except { выполняется при любой ошибке в блоке }
МеssаgeDlg('0шибка ввода значения скорости...',
- 72 -
Panel1.Left := (Form_1.Width - Panel1.Width) div 2;
Panel1.Top := (Form_1.Height - Panel1.Helght) div 2;
end;
Второй пример демонстрирует ограничение размеров окна (окно не может
превысить размеров экрана текущего дисплея)
procedure TForm_1.FormReslze(Sender: TObject);
begin
if Form_1.Width > Screen.Width then
Form_1.Width := Screen.Width;
if Form_1.Height > Screen.Height then
Form_1.Height := Screen.Height;
end;
Среди компонентов третьих фирм-разработчиков встречаются компонен-
ты, автоматически масштабирующиеся при изменении размеров формы (на-
пример, известен близкий к TPanel компонент, масштабирующий все свои
дочерние компоненты).
В последних версиях систем Delphi / C++Builder практически каждый ви-
зуальный компонент имеет свойство BiDiMode, позволяющее ‘привязать’
данный Control относительно левой, правой, верхней, нижней (или несколь-
ким) сторонам родительского компонента.
9.4. ОБРАБОТКА ОШИБОК И ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ
При функционировании реальных приложений часто возникают пробле-
мы обработки ошибок (например, ошибок ввода, обработки файлов etc). Тра-
диционный (включающий десятки/сотни блоков if... then... else) способ весь-
ма неэффективен в сложных программах. В Delphi / С++Builder введены
специальные расширения языка, позволяющие обрабатывать любые исклю-
чительные (как с точки зрения ЭВМ, так и пользователя) ситуации.
Слежение за исключительными ситуациями (ИСС) достигается использо-
ванием блоков try/except и try/finally (для стандарта языка Object Pascal
8.0).
Например, 'ловушка' ошибки преобразования при вводе в компоненте
TEdit вещественного числа в виде строки реализуется следующим образом
var
Speed: real;
............
try { начало блока слежения за ИСС }
Speed:=StrToReal(SpeedEdit.Text);
except { выполняется при любой ошибке в блоке }
МеssаgeDlg('0шибка ввода значения скорости...',
Страницы
- « первая
- ‹ предыдущая
- …
- 70
- 71
- 72
- 73
- 74
- …
- следующая ›
- последняя »
