Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

События в Delphi 2 страница

Объектно-ориентированное программирование | Достоинства ООП | События в Delphi 4 страница |


Читайте также:
  1. 1 страница
  2. 1 страница
  3. 1 страница
  4. 1 страница
  5. 1 страница
  6. 1 страница
  7. 1 страница

ступ к системе.

Data Access — компоненты доступа к базам данных.

Data Controls — компоненты для работы с базами данных.

dbExpress — компоненты доступа к базам данных, которые пришли на

смену BDE.

BDE — старые компоненты доступа к базам данных.

ADO — это тоже компоненты для доступа к базам данных, только по

технологии Active Data Object (ADO). Данные компоненты удобны при

работе с базами данных от Microsoft.

InterBase — компоненты доступа к базе данных InterBase.

WebServices — компоненты доступа к сети Internet.

InternetExpress — компоненты доступа к сети Internet.

FastNet — сетевые компоненты. Мы будем мало их использовать.

Qreport — компоненты для создания отчетности.

Dialogs — компоненты, облегчающие доступ к стандартным диалогам.

Win3.ll — компоненты доступа к компонентам Win 3.1.

Samples — различные примеры компонентов. Некоторые из этих компо

нентов доступны в исходных кодах и поставляются вместе с Delphi.

В общем случае компоненты предназначены для размещения на форме.

 

Окно формы представляет собой проект Windows-окна будущей программы. Вначале это окно пусто. Точнее, оно содержит стандартные для Windows интерфейсные элементы - кнопки вызова системного меню, максимизации, минимизации и закрытия окна, полосу заголовка и очерчивающую рамку. Вся рабочая область окна обычно заполнена точками координатной сетки, служащей для упорядочения размещаемых на форме компонентов.

 

Программист “достает” из палитры компонентов, как из коробки с деталями, нужный компонент и размещает его на “наборном поле” окна формы. Именно в этом процессе наполнения формы и заключается главная изюминка визуального программирования. Программист в любой момент времени контролирует содержание окна создаваемой программы и может внести в него необходимые изменения.

 

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

 

Каждая страница окна Инспектора объектов представляет собой двухколончатую таблицу, левая колонка которой содержит название свойства или события, а правая - конкретное значение свойства или имя подпрограммы, обрабатывающей соответствующее событие.

 

Окно кода программы предназначено для создания и редактирования текста программы. Этот текст составляется по специальным правилам и описывает алгоритм работы программы. Совокупность правил записи текста называется языком программирования. В системе Delphi используется язык программирования Object Pascal, который представляет собой расширенную и усовершенствованную версию широко распространенного языка.

 

Первоначально окно кода содержит минимальный исходный текст, обеспечивающий нормальное функционирование пустой формы в качестве полноценного Windows-окна. В ходе работы над проектом программист вносит в него необходимые дополнения, чтобы придать программе нужную функциональность.

 

12. Файл проекта. Модуль формы. Файл ресурсов. Файл параметров проекта. Модули. Связь между файлами проекта. (Среда DELPHI).

Начнем с файла проекта (dpr). Фактически он содержит собственно программу, в то время как связанные с проектом многочисленные файлы форм и dll представляют собой подпрограммы.

 

Модуль "Формы" предназначен для создания на сайте разнообразных форм обратной связи. С помощью модуля могут быть созданы как небольшие формы обратной связи, так и разнообразные анкеты с большим количеством полей для получения разнородной информации от посетителей сайта.

 

Файл ресурсов используется для отображения дополнительных сведений в шаблоне формы. Файлы ресурсов включаются в форму при сохранении и публикации шаблона формы.

 

Модуль в программировании представляет собой функционально законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом или поименованной непрерывной его части (например, Active Oberon), предназначенный для использования в других программах. Модули позволяют разбивать сложные задачи на более мелкие, в соответствии с принципом модульности. Обычно проектируются таким образом, чтобы предоставлять программистам удобный для многократного использования функционал (интерфейс) в виде набора функций, классов, констант. Модули могут объединяться в пакеты и, далее, в библиотеки.

 

Модули могут быть обычными, т.е. написанными на том же языке, что и программа, в которой они используются, либо модулями расширения, которые пишутся на отличном от языка основной программы языке. Модули расширения обычно пишутся на более низкоуровневом языке, что позволяет получить выигрыш в скорости выполнения (производительности) программы.

 

Для того чтобы компилятор знал, какие конкретно файлы входят в проект, необходимо какое-то организующее начало. И оно действительно есть. Это так называемый файл проекта, имеющий расширение DPR (сокр. от Delphi Project). Он представляет собой главный программный файл на языке Delphi, который подключает с помощью оператора uses все файлы модулей, входящих в проект. Для каждого проекта существует только один DPR-файл

13. Визуальные компоненты. Свойства компонентов, динамическое изменение свойств. События и делегирование.

Визуальные компоненты видимы при работе программы; они используются непосредственно пользователем: кнопки, метки, Картинка; блоки списков и др. Они выглядят одинаково и на стадии проектирования, и во время работы приложения.

Для создания интерфейса приложений Delphi предлагает обширный набор визуальных компонентов, основные из которых располагаются на страницах Standard (Стандартная), Additional (Дополнительная), Win32 (32-разрядный интерфейс Windows) Палитры компонентов.

примеры визуальных компонентов с панели Standart: Кнопка (TButton)., Надписи (TLabel)., Строки ввода (TEdit)., Многострочное поле ввода (TMemo)., CheckBox (куда галочки ставят), Панели (TPanel)., Кнопки выбора TRadioButton (куда точки ставят, в отличие от галок точка может быть одна), Списки выбора (TListBox)., Выпадающие списки (TComboBox)., Полосы прокрутки (TScrollBar).,

 

Вопрос: Почему, когда я навожу мышкой на компонент, например TLabel

выскакивает подсказка, в которой написано Label, а не TLabel? Куда девается буква «Т»?

 

Ответ: действительно, в подсказках всегда отсутствует буква «Т». Просто

компонент называется Label, а объект этого компонента называется TLabel. Так принято,

что имена всех объектов всегда начинаются с буквы «Т». Это не значит, что так

обязательно. Это значит, что так желательно. Просто взглянул на имя и видишь, что это

имя объекта. А в подсказках показывают имя компонента, к которому нет такого

соглашения, поэтому там нет никаких букв вначале.

Свойства позволяют управлять внешним видом и поведением компонентов при проектировании и при выполнении приложения. Свойства компонентов, доступные при проектировании приложения, также доступны при его выполнении. Вместе с тем, есть свойства времени выполнения, которые доступны только при выполнении приложения. Обычно установка значений большинства свойств компонентов выполняется на этапе проектирования с помощью Инспектора объектов.

 

Динамические свойства компонента могут быть простыми, как например изменение положения по касанию, так им многозадачными – изменение цвета, «интеллектуальное» масштабирование, движение в одной модели. Динамическим компонент можно образовать из любого компонента. В свою очередь, компонент может состоять из элементов, групп и других компонентов. Отличительной особенностью компонента является то, что любые изменения автоматически отображаются во всех копиях. Динамические компоненты анимируются, масштабируются, копируются. Работать с ними необычайно удобно.

 

Делегирование – операция передачи ответственности за часть дерева доменных имен другому лицу или организации. За счет делегирования в DNS обеспечивается распределенность администрирования и хранения. Технически делегирование выражается в выделении этой части дерева в отдельную зону, и размещении этой зоны на DNS-сервере (см. ниже), управляемом этим лицом или организацией. При этом в родительскую зону включаются «склеивающие» ресурсные записи (NS и А), содержащие указатели на DNS-сервера дочерней зоны, а вся остальная информация, относящаяся к дочерней зоне, хранится уже на DNS-серверах дочерней зоны.

 

про события, есть в 1 вопросе в конце

 

14. Компоненты ввода-вывода и редактирования при разработке приложений.

Для ввода данных можно использовать:

 

• реализующие диалоги функции InputBox и InputQuery;

 

• редакторы Edit, LabeledEdit, MaskEdit, Memo;

 

• компоненты для ввода целых чисел UpDown, SpinEdit;

 

• компоненты для работы со списками строк ListBox, ComboBox;

 

• компоненты-таблицы StringGrid;

 

• переключатели CheckBox, RadioGroup, RadioButton;

 

Данные можно вводить с клавиатуры, загружать из файла, формировать программно (случайным образом или по определённым правилам).

 

При вводе с клавиатуры необходимо учитывать, что многие компоненты, предназначенные для ввода данных, работают со строками. Поэтому при вводе чисел необходимо использовать функции для перевода строки в число.

 

Обязательное требование: к обработке данных приступать только после корректного ввода.

 

Основная проблема – контроль вводимых данных. Наиболее общее решение – это использование имеющихся в Delphi средств обработки исключительных ситуаций, то есть формирование защищённого блока и обработка возникающих исключений. Но этот универсальный подход не всегда удобен, так как предусматривает прерывание естественного хода обработки данных. В ряде случаев желательно контролировать данные непосредственно при вводе, то есть разрешать вводить только определённые символы.

 

При использовании нескольких полей ввода или больших объёмов данных необходимо так организовать их контроль, чтобы пользователю не пришлось полностью повторять ввод, если ошибка была сделана где-то в конце ввода.

 

Компоненты, обеспечивающие ввод данных (за исключением переключателей), прекрасно приспособлены для вывода информации. Кроме того, специально для отображения данных предназначены компоненты- таблицы StringGrid и компоненты для вывода строк Label и StaticText.

 

15. Меню. Создание главного и контекстного меню. Создание приложений с использованием меню.

В Delphi имеется два компонента, представляющие меню: MainMenu — главное меню, и PopupMenu — всплывающее меню. Оба компонента расположены на странице "Standard".

 

MainMenu - это невизуальный компонент, т.е. место его размещения на форме в процессе проектирования не имеет никакого значения для пользователя — он все равно увидит не сам компонент, а только меню, сгенерированное им.

 

Обычно на форму помещается один компонент MainMenu. В этом случае его имя автоматически заносится в свойство формы Menu. Но можно поместить на форму и несколько компонентов MainMenu с разными наборами разделов, соответствующими различным режимам работы приложения. В этом случае во время проектирования свойству Menu формы присваивается ссылка на один из этих компонентов. А в процессе выполнения в нужные моменты это свойство можно изменять, меняя соответственно состав главного меню приложения.

В Delphi имеется два компонента, представляющие меню: MainMenu — главное меню, и PopupMenu — всплывающее меню. Оба компонента расположены на странице "Standard".

 

MainMenu - это невизуальный компонент, т.е. место его размещения на форме в процессе проектирования не имеет никакого значения для пользователя — он все равно увидит не сам компонент, а только меню, сгенерированное им.

 

Обычно на форму помещается один компонент MainMenu. В этом случае его имя автоматически заносится в свойство формы Menu. Но можно поместить на форму и несколько компонентов MainMenu с разными наборами разделов, соответствующими различным режимам работы приложения. В этом случае во время проектирования свойству Menu формы присваивается ссылка на один из этих компонентов. А в процессе выполнения в нужные моменты это свойство можно изменять, меняя соответственно состав главного меню приложения.

 

16. Данные строкового типа. Стандартные подпрограммы для строкового типа.

Строковые типы Данные строкового типа – это последовательность символов переменной длины. Такой тип еще называют типом string. Он во многом похож на одномерный массив символов, однако, в отличие от последнего, количество символов в строке–переменной может меняться от 0 до N, где N – максимальное количество символов в строке.

 

Описание строкового типа состоит из ключевого слова string, после которого в квадратных скобках указано максимальное количество символов строки данного типа. Это количество может выражаться с помощью целой константы или имени целой константы. Если максимальный размер строки не указан, то он автоматически принимается равным 255 – максимально возможная длина строки. (Существуют еще ASCIIZ–строки, длина которых может достигать 65536 символов, но для работы с такими строками нужна особая директива компилятору). Длина переменной такого типа может динамически изменяться между 1 и значением константы. Символы в строке следует воспринимать как пронумерованные в интервале от 1 до значения константы.

 

Переменную типа STRING можно сравнивать с другой переменной или константой типа STRING, используя операторы =,<,>,<=,>=,<>. Строки сравниваются посимвольно от первого символа. Если все символы сравниваемых строк одинаковые, то такие строки считаются равными. Если в одинаковых позициях строк находятся разные символы, большей считается та строка, у которой в этой позиции находится символ с большим кодом.

 

Подпрограмма - это группа операторов, оформленных как самостоятельная программная единица. Подпрограмма записывается однократно в определенной части программы, а затем в нужных местах программы обеспечивается только обращение к ней. Таким образом, подпрограмма - это эффективное средство экономии памяти.

Стандартные функции обработки строк:

 

1) Функция Length(Str: String) - возвращает длину строки (количество символов). Пример:

 

var

Str: String; L: Integer;

{... }

Str:='Hello!';

L:=Length(Str); { L = 6 }

 

2) Функция SetLength(Str: String; NewLength: Integer) позволяет изменить длину строки. Если строка содержала большее количество символов, чем задано в функции, то "лишние" символы обрезаются. Пример:

 

var Str: String;

{... }

Str:='Hello, world!';

SetLength(Str, 5); { Str = "Hello" }

 

3) Функция Pos(SubStr, Str: String) - возвращает позицию подстроки в строке. Нумерация символов начинается с единицы (1). В случае отсутствия подстроки в строке возращается 0. Пример:

 

var Str1, Str2: String; P: Integer;

{... }

Str1:='Hi! How do you do?';

Str2:='do';

P:=Pos(Str2, Str1); { P = 9 }

 

4) Функция Copy(Str: String; Start, Length: Integer) - возвращает часть строки Str, начиная с символа Start длиной Length. Ограничений на Length нет - если оно превышает количество символов от Start до конца строки, то строка будет скопирована до конца. Пример:

 

var Str1, Str2: String;

{... }

Str1:='This is a test for Copy() function.';

Str2:=Copy(Str1, 11, 4); { Str2 = "test" }

 

5) Процедура Delete(Str: String; Start, Length: Integer) - удаляет из строки Str символы, начиная с позиции Start длиной Length. Пример:

 

var Str1: String;

{... }

Str1:='Hello, world!';

Delete(Str1, 6, 7); { Str1 = "Hello!" }

 

6) Процедура Insert(SubStr: String; Str: String; Pos: Integer) - вставляет в строку Str подстроку SubStr в позицию Pos. Пример:

 

var Str: String;

{... }

Str:='Hello, world!';

Insert('my ',Str, 8); { Str1 = "Hello, my world!" }

 

7) Функции UpperCase(Str: String) и LowerCase(Str: String) преобразуют строку соответственно в верхний и нижний регистры:

 

var Str1, Str2, Str3: String;

{... }

Str1:='hELLo';

Str2:=UpperCase(Str1); { Str2 = "HELLO" }

Str3:=LowerCase(Str1); { Str3 = "hello" }

 

Строки можно сравнивать друг с другом стандартным способом:

 

var Str1, Str2, Str3: String; B1, B2: Boolean;

{... }

Str1:='123';

Str2:='456';

Str3:='123';

B1:=(Str1 = Str2); { B1 = False }

B2:=(Str1 = Str3); { B2 = True }

 

Если строки полностью идентичны, логическое выражение станет равным True.

 

17. Иерархия объектов. Характеристики объектов. Абстрактный класс. Визуальные компоненты.

Иерархии объектов, вероятно, наиболее знакомы каждому, кто использовал компьютерную программу анимации. Используя инструменты для связи объектов, можно создать иерархию, в которой трансформации, примененные к одному объекту, наследуются объектами, связанными с ним и расположенными ниже его.

 

Терминология для иерархии объектов:

- Верхний уровень иерархии называется корнем. Технически корнем всегда является World, но большинство людей считает корень наивысшим уровнем иерархии.

- Объект, связанный с объектами, расположенными ниже его, называется объектом предка. Все объекты ниже предка являются потомками.

- Объект, связанный с объектом, расположенным выше его, называется дочерним объектом. Все объекты, которые можно проследить от дочернего объекта обратно к корню, называются родителями.

 

Абстрактным классом называется класс, который содержит один или несколько абстрактных методов.

Абстрактный класс не может использоваться для создания объектов.

Как правило, абстрактный класс описывает некий интерфейс, который должен быть реализован всеми его производными классами.

Абстрактный класс можно использовать только как базовый для других классов. При этом если производный класс не содержит реализации абстрактного метода, то он также является абстрактным классом.

 

Визуальные компоненты видимы при работе программы; они используются непосредственно пользователем: кнопки, метки, Картинка; блоки списков и др. Они выглядят одинаково и на стадии проектирования, и во время работы приложения.

Для создания интерфейса приложений Delphi предлагает обширный набор визуальных компонентов, основные из которых располагаются на страницах Standard (Стандартная), Additional (Дополнительная), Win32 (32-разрядный интерфейс Windows) Палитры компонентов.

примеры визуальных компонентов с панели Standart: Кнопка (TButton)., Надписи (TLabel)., Строки ввода (TEdit)., Многострочное поле ввода (TMemo)., CheckBox (куда галочки ставят), Панели (TPanel)., Кнопки выбора TRadioButton (куда точки ставят, в отличие от галок точка может быть одна), Списки выбора (TListBox)., Выпадающие списки (TComboBox)., Полосы прокрутки (TScrollBar).,

 

Вопрос: Почему, когда я навожу мышкой на компонент, например TLabel

выскакивает подсказка, в которой написано Label, а не TLabel? Куда девается буква «Т»?

 

Ответ: действительно, в подсказках всегда отсутствует буква «Т». Просто

компонент называется Label, а объект этого компонента называется TLabel. Так принято,

что имена всех объектов всегда начинаются с буквы «Т». Это не значит, что так

обязательно. Это значит, что так желательно. Просто взглянул на имя и видишь, что это

имя объекта. А в подсказках показывают имя компонента, к которому нет такого

соглашения, поэтому там нет никаких букв вначале.

 

18. Создание списков и таблиц. Кнопочные компоненты, переключатели Формы. Модальные формы SDI и MDI приложения.

 

Списки выбора (TListBox).

Выпадающие списки (TComboBox).

Компоненты ListBox и ComboBox отображают списки строк. Они отличаются друг от друга прежде всего тем, что ListBox только отображает данные и позволяет пользователю выбрать из них то, что ему надо, a ComboBox позволяет также редактировать данные. Кроме того различается форма отображения списков. ListBox отображает список в раскрытом виде и автоматически добавляет в список полосы прокрутки, если все строки не помещаются в окне компонента. ComboBox позволяет отображать список как в развернутом виде, так и в виде выпадающего списка, что обычно удобнее, так как экономит площадь окна приложения.

Основное свойство обоих компонентов, содержащее список строк, — Items

 

Таблица строк — компонент StringGrid

Компонент StringGrid представляет собой таблицу, содержащую строки. Данные таблицы могут быть только для чтения или редактируемыми. Таблица может иметь полосы прокрутки, причем заданное число первых строк и столбцов может быть фиксированным и не прокручиваться. Таким образом, можно задать заголовки столбцов и строк, постоянно присутствующие в окне компонента. Каждой ячейке таблицы может быть поставлен в соответствие некоторый объект.

 

Кнопочные компоненты. TButton. и BitBtn

Простейшей и, пожалуй, наиболее часто используемой кнопкой является кнопка Button, расположенная на странице библиотеки "Standard". Реже используется кнопка BitBtn, отличающаяся, прежде всего, возможностью отобразить на ее поверхности изображение. Большинство свойств, методов и событий у этих видов кнопок одинаковы.

 

Переключатели. CheckBox и CheckListBox, RadioGroup, RadioButton и GroupBox

CheckBox и CheckListBox

используются в приложениях в основном для того, чтобы пользователь мог включать и выключать какие-то опции, или для индикации состояния

RadioGroup, RadioButton и GroupBox

Радиокнопки образуют группы взаимосвязанных индикаторов, из которых обычно может быть выбран только один

 

В Windows есть два основных типа приложений: однодокументные SDI, и многодокументные MDI (пример таких окон реализован в 1С7.7). Однодокументные приложения состоят из одного или нескольких независимых друг от друга форм.

Управлять видимостью форм на экране можно с помощью методов Show и Hide. Процедура Show отображает форму в немодальном режиме (ShowModal – модальный режим), при этом свойство Visible устанавливается в значение true, а сама форма переводится на передний план. Процедура Hide скрывает форму, устанавливая ее свойство Visible в значении False.

Для закрытия формы используется метод Close. Данный метод не уничтожает созданный экземпляр формы, и форма может быть снова вызваны на экран.

Уничтожение формы происходит с помощью методов Release, Free, Destroy.

 

19. Использование файла ресурсов.

Файлы ресурсов — это полезный механизм для отделения локализуемой информации от кода. Строковые ресурсы ссылаются на текст, применяемый в таких элементах пользовательского интерфейса приложения, как меню, диалоговые окна, информационные и предупреждающие сообщения и сообщения об ошибках. Если приложение предназначено для пользователей региона, отличающегося от места разработки приложения, эти ресурсы должны быть локализованы.

 

Файл ресурсов используется для отображения дополнительных сведений в шаблоне формы. Файлы ресурсов включаются в форму при сохранении и публикации шаблона формы.

 

В шаблон формы можно добавить следующие типы файлов ресурсов.

 

- Файлы HTML Файлы формата HTML можно использовать для отображения сведений в пользовательской области задач.

 

- Файлы XML Файлы формата XML можно использовать для заполнения элементов управления «Список», «Поле со списком» или «Раскрывающийся список». При использовании файла ресурсов формы, основанные на шаблоне формы, открываются быстрее, чем формы, использующие подключение данных для заполнения этих элементов.

 

20. Обработка исключительных ситуаций. Стандартные классы исключений.

Обработка исключительных ситуаций (англ. exception handling) — механизм языков программирования, предназначенный для описания реакции программы на ошибки времени выполнения и другие возможные проблемы (исключения), которые могут возникнуть при выполнении программы и приводят к невозможности (бессмысленности) дальнейшей отработки программой её базового алгоритма.

 

Условно классы исключения можно разделить на три типа:

 

- Контролируемые исключения могут происходить при нормальном выполнении системы и в большинстве своем характеризуют такие ситуации, как ошибки соединения с внешним сервисом, неверный пользовательский ввод и т.д.

 

- Некотролируемые исключения – это исключения, которые возникают вследствие выполнения некорректного кода. Эти исключения, как правило, могут быть перехвачены, но исправлению подлежат лишь в единичных случаях. К таким исключениям относят исключения возникающие при обращении по нулевому указателю, вызове несуществующего или защищенного метода, в результате неверного приведения типов и т.д.

 

- Фатальные исключения описывают ошибки, большую часть которых приложение не должно перехватывать. К ним относятся такие ситуации, как нехватка памяти, переполнение стека, попытка оперирования уже уничтоженным потоком приложения, внутренняя ошибка виртуальной машины или интерпретатора и многие другие.

 

Допустим, что у вас есть участок кода, где может произойти ошибка. Как сделать так, чтобы программа не зависла при ее возникновении? Очень просто. Надо заключить этот код в блок проверки исключений, и тогда ваша программа выдержит даже "цунами".

 

Итак, простейший блок исключений выглядит следующим образом:

tru

//Здесь ты пишешь код, в котором может произойти ошибка

except

//Если ошибка произошла, то выполнится этот код

end;

Рассмотрим простейший пример.

tru

х:=у/0;

except

//Здесь можно вывести сообщение об ошибке.

end;

х:=0;

Между tru и except у нас стоит маленькое действие— деление на ноль. Компьютер не умеет делать такие вещи (на ноль делить нельзя), поэтому произойдет ошибка и выполнится код между except и end. Если бы не было блока tru, то после возникновения ошибки процедура закончила бы выполнение, и все остальные операторы не были бы выполнены, как, например, в нашем случае — х:=о. При использовании tru... except не будут выполнены только операторы между строкой, которая стала причиной ошибки, и except. После оператора except... end все будет выполняться, как будто ничего не произошло. Если бы мы поменяли 0 на любое другое число, то ошибки бы не было, и код между except и end никогда не выполнился бы. Такой блок можно использовать не только для вывода сообщения о про изошедшей ошибке, он и исправить ситуацию. Например, в нашем случае, если между tru и except произошла ошибка, то между except и end можно присвоить переменной х значение по умолчанию на случай ошибки и продолжить выполнять процедуру с этим значением.

 

Теперь давайте разберемся с еще одним типом исключительных ситуаций — tru... finally.

 

tru

//Здесь пишется код, в котором может произойти ошибка

finally

//Этот код выполнится в любом случае

end;

Между tru и finally вы пишете свой сомнительный код, в котором может произойти ошибка. А между finally и end пишется код, который должен выполниться вне зависимости от результата кода между tru и finally. В этом случае мы не можем информировать пользователя об ошибке, потому что в разделе finally мы не знаем, произошла ошибка или нет. Зато работа с памятью упрощается

 

21. Способы хранения и обработки данных. Связанные списки Использование строковых массивов.

Поток - объект внутри процесса, отвечающий за выполнение кода и получающий для этого процессорное время

Для того чтобы программа заработала, в нём создаётся поток. Любой процесс содержит в себе хотя бы один поток, и именно он отвечает за выполнение кода и получает на это процессорное время. Этим и достигается мнимая параллельность работы программ, или, как её еще называют, псевдопараллельность. Мнимая потому, что реально процессор в каждый момент времени может выполнять только один участок кода. Windows раздаёт процессорное время всем потокам в системе по очереди, тем самым создаётся впечатление, что они работают одновременно. Реально работающие параллельно потоки могут быть только на машинах с двумя и более процессорами.


Дата добавления: 2015-07-25; просмотров: 152 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
События в Delphi 1 страница| События в Delphi 3 страница

mybiblioteka.su - 2015-2024 год. (0.045 сек.)