Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 9
Всего онлайн: 9
Зарегистрировано юзеров: 7879
Комментариев на сайте: 690
Новый юзер: Egen_M



Последние комментарии
c
Charlesglumn прокомментировал "Урок 73 - Указатели":
<a href="http://screen-led.ru">светодиодный экран</a> <a href="http://screen-led.ru">аренда светодиодного экрана</a> <a href="http://screen-led.ru">светодиодный экран купить</a> <a href="http://screen-led.ru">светодиодный экран цена</a> <a href="http://screen-led.ru">светодиодный экран led</a> <a href="http://screen-led.ru">разрешение светодиодных экранов</a> <a href="http://screen-led.ru">уличный светодиодный экран</a> <a href="http://screen-led.ru">светодиодные экраны москва</a> <a href="http://screen-led.ru">светодиодные экраны типы</a> <a href="http://screen-led.ru">светодиодный экран чтобы помещений</a> <a href="http://screen-led.ru">светодиодные экраны размеры</a> <a href="http://screen-led.ru">hd светодиодные экраны</a> светодиодный экран купить 8-800-550-2316 info@screen-led.ru 150003, РФ, г. ЯРОСЛАВЛЬ, ул. ПОЛУШКИНА РОЩА, д. 9, оф. 4
Arthurneime прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
[img]https://avatars.mds.yandex.net/get-pdb/1708639/cc1462cd-ed78-4920-b735-46dd5c06d89d/s375[/img] [b]Как обыграть Казино??? Миф или трудная реальность?[/b] Если и есть что-то, что все знают об азартных играх, так это то, что дом всегда выигрывает. И хотя это правда, что казино всегда приносят прибыль, есть несколько способов обмануть систему – некоторые из которых на самом деле совершенно законны. Полвека назад математик Эдвард Торп опубликовал новаторскую книгу, в которой описал, как игрок может использовать “подсчет карт”, чтобы получить преимущество в игре Блэкджек, отслеживая карты, оставшиеся в колоде. С тех пор казино пытаются искоренить подсчет карт, а счетчики карт становятся все более искусными в том, чтобы не попасться. Так можно ли сегодня переиграть казино? И каково же будет в будущем? Выигрышная Рука В Блэкджеке. Викисклад Казино - это бизнес, и они работают, создавая маржу-часто называемую краем дома. Если вы играете в рулетку и делаете ставку на один номер, то вам будут платить с коэффициентом 35-1, когда истинные шансы составляют 36-1 в Европе и 37-1 в США. Тот факт, что вы получаете меньше, чем истинные шансы, является преимуществом дома и объясняет, почему казино зарабатывают деньги в долгосрочной перспективе. Конечно, некоторые люди должны выигрывать, иначе казино перестанут существовать. Source: https://vk.com/video-195820899_456239021 https://zen.yandex.ru/media/id/5ce017f600ad2100b3939f53/sluchai-v-kazino-5ed8b67b5db2e716a6031ac2 Tags: бит казино играть казино вулкан сайт казино фортуна плей

Урок 52 - Исключительные ситуации

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

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

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

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

  Вот как выглядит оператор контроля исключительных ситуаций:

	try
		//основные операторы фрагмента;
	except
		//альтернативный вариант фрагмента;
	end;
  Вначале производится попытка выполнить операторы секции try/except, содержащие основной вариант программы. При возникновении в каком-либо операторе этой секции исключительной ситуации остальные операторы секции пропускаются, и выполняется секция except/end. Если всё "проходит штатно", то секция except/end пропускается.

  Ещё один вариант оператора контроля исключительных ситуаций применяется, когда необходимо, чтобы определённый фрагмент кода выполнился в любом случае, возникла исключительная ситуация или нет:

	try
		//операторы;
	finally
		//заключительные действия;
	end;
  Основные операторы, находящиеся в секции try, могут пройти штатно, или вызвать исключительную ситуацию. Операторы заключительных действий, находящиеся в секции finally, будут выполнены в любом случае.

  Есть ещё один способ контроля исключительных ситуаций, касающийся ошибок операций ввода-вывода.
Перед участком программы, где возможны ошибки ввода-вывода (а это, по сути, все операторы ввода-вывода), ставится директива {$I-}, заставляющая компилятор не включать в код автоконтроль ошибок ввода-вывода. Таким образом, в случае ошибки ввода или вывода программа не прерывается. В конце участка с операторами ввода-вывода ставится директива, включающая автоконтроль: {$I+}. Затем анализируется результат вызова функции IOResult. Если функция IOResult (вызывается без параметров) возвращает 0, значит ошибок ввода-вывода на данном участке не было.

Вот какой пример использования директив {$I} и функции IOResult содержит справка системы Delphi:

var
	F: file of Byte;
begin
	if OpenDialog1.Execute then //Открываем диалог выбора файла
	begin
		AssignFile(F, OpenDialog1.FileName); // Открываем файл
		{$I-} //Выключаем контроль ошибок
		Reset(F);
		{$I+} //Включаем контроль ошибок
		if IOResult = 0 then //Если ошибок нет
		begin
			//Сообщение с количеством байтов
			MessageDlg(?File size in bytes: ? + IntToStr(FileSize(F)), mtInformation, [mbOk], 0);  
			CloseFile(F); // Закрываем файл
		end
			else //Иначе
				MessageDlg(?File access error?, mtWarning, [mbOk], 0); // Сообщение об ошибке
	end;
end;
Функция IOResult досталась Delphi в наследство от Turbo Pascal. Тот же самый фрагмент можно составить и с использованием оператора try. На мой взгляд, это удобнее и проще.

При работе программы под управлением Delphi, система будет сама реагировать на исключительные ситуации, мешая работе операторов обработки исключений. Чтобы проверить их действие, можно запускать программу непосредственно, сворачивая Delphi и пользуясь ярлыком, установленном на Рабочем столе. Или можно отключить реакцию системы на исключительные ситуации, тем самым давая возможность отработать специально для этого написанным фрагментам программы - нашим операторам try/except/end. Для этого откроем пункт системного меню Delphi Tools -> Debugger Options.... В появившемся окошке нужно снять галку в чекбоксе Stop on Delphi Exceptions, расположенном на вкладке Language Exceptions. Теперь система Delphi будет предоставлять вашей программе возможность самостоятельно обрабатывать исключительные ситуации, среди которых могут быть и ситуации, возникновение которых прописано специально как удобный инструмент достижения необходимых результатов.

Удачи!
Встретимся в следующем уроке!


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 16 Июня 2013
Просмотров: 8174

Урок 51 - Динамическое создание компонентов, часть (2/2) Урок 53 - Потоки в Delphi, (часть 1/3)

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



аватар Добавил(а): Joker1999obp [Новичок] Дата: 2013-10-23
спасибо за эту статью очень помогла в калькуляторе все ошибки убрал