Главная » Просмотр файлов » Шупрута В.В. - Delphi 2005 - Учимся программировать

Шупрута В.В. - Delphi 2005 - Учимся программировать (1080891), страница 13

Файл №1080891 Шупрута В.В. - Delphi 2005 - Учимся программировать (Шупрута В.В. - Delphi 2005 - Учимся программировать) 13 страницаШупрута В.В. - Delphi 2005 - Учимся программировать (1080891) страница 132018-01-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 13)

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

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

2.23).Измененный текст программы, который учитывает возникновение подобнойошибки, приведен в листинге 2.4.Листинг 2.4 т Пример обработки исключенияprocedure TWinForml.Buttonl_Click(sender: System.Object;e:System.EventArgs);var A,B,C:single;D:real;XI,X2:real;begin// Ввод исходных данных.tryA:=System.Convert.ToSingle(TextBoxl.Text);B:=System.Convert.ToSingle(TextBox2.Text);С:=System.Convert.ToSingle(TextBox3.Text);excepton e:FormatException dobeginif (TextBoxl.Text='')or(TextBox2.Text='')or(TextBox3.Text='')thenMessageBox.Show('Необходимо ввести все коэффициенты.','Ошибка при вводе исходных данных!',MessageBoxButtons.OK,MessageBoxIcon.Information)Создаем первый проект для Microsoft .IUET FrameworkelseMessageBox.Show('При задании коэффициентов используйтечисла. ' ,'Ошибка при вводе исходных данных!',MessageBoxButtons.OK,MessageBoxIcon.Information);exit;end ;end;// Вычислениедискриминанта.D:=B*B-4*A*C;if D<0 then// Если дискриминантотрицателен,то выводим сообщение ,// о том, что уравнение не имеет корней.beginLabel5.Text:='Уравнение не имеет действительных корней';end// Если дискриминантбольше или рарен 0, то// вычисляем корниуравнения.elsebeginXl:=(-B-sqrt(D))/(2*A);X2:=(-B+sqrt(D))/(2*A);// Выводим рассчитанныезначениякорней.Label5.Text:='XI = '+Х1.ToString+' X2 = '+X2.ToString;Теперь при неправильном вводе данных пользователю будет выводитьсядиалоговое окно с сообщением об ошибке.

Окно с сообщением выводится спомощью функции MessageBox. Show. В общем случае инструкция, обеспечивающая вывод подобного окна, выглядит следующим образом:MessageBox.Show(<Сообщение>,<3аголовок>,<Кнопки>,<Иконка>);Параметр <Кнопки> задает перечень отображаемых в выводимом окнекнопок.

Перечень кнопок, которые возможно отобразить в данном окне,приведен в табл. 2.11.Таблица 2.11 т Константы, определяющие кнопки в окне сообщенияКонстанта, определяющая типКНОПКИВыводимые в окне сообщения кнопкиMessageBoxButtons.OkMes sageBoxBut tons.OkCancelOKOK, ОтменаГЛАВА 2 • Создаем первые проекты в Borland Delphi 2005Таблица 2.11 • Константы, определяющие кнопки в окне сообщения (окончание)Константа, определяющая тип кнопкиДа, НетMessageBoxB'uttons.YesNoMessageBoxButtons.YesNoCancelВыводимые в окне сообщения кнопки'Да, Нет, ОтменаMessageBoxButtons.AbortRetrylgnoreПрервать, Повторить, ПропуститьMessageBoxButtons.RetryCancelПовторить, ОтменаПараметр-иконка задает тип выводимого значка.

Всего возможно отображение четырех типов иконок, задающих общий тип выводимого окна:>• информационное окно - MessageBoxIcon.Information;>- вопросительное окно - MessageBoxIcon. Question;>• окно предупреждения - MessageBoxIcon .Warning;>• окно с сообщением об ошибке - MessageBoxIcon. E r r o r .Определить, каким образом завершился вывод окна (то есть какая кнопкабыла нажата пользователем), можно, воспользовавшись данными из табл.

2.12,в которой приведены данные о возвращаемых значениях функцииMessageBox.Show.Таблица 2.12 т Значения функции MessageBox. ShowЗначение функцииКнопка, с помощью которойбыл завершен диалогSystem.Windows.Forms.DialogResult.OkокSystem.Windows.Forms.DialogResult.YesДаSystem .Windows. Forms .DialogResult. NoНетSystern.Windows.Forms.DialogResult. CancelОтменаSystem.Windows.Forms.DialogResult. AbortПрерватьSystem.Windows.Forms.DialogResult.

RetryПовторитьПропуститьSystem.Windows.Forms.DialogResult. IgnoreОбработка таких ошибок очень полезна. Она говорит о качестве написанияпрограммы, то есть программист подумал о том, что пользователь можетошибиться. Однако еще лучшей стратегией будет сделать так, чтобы упользователя вообще не было возможности совершить ошибку. Как выпомните, возможная ошибка в нашей программе - это ввод исходных данныхнеправильного формата.

Можно контролировать процесс ввода значенийкоэффициентов в соответствующие поля.Создаем первый проект для Microsoft .MET FrameworkНапомню, что у нас три поля ввода -TextBoxl, TextBox2 HTextBox3. Ониработают совершенно одинаково - их задача дать возможность пользователюввести значения коэффициентов квадратного уравнения, которые являютсячислами. При этом мы помним, что разделителем целой и дробной частейвыступает запятая.Для контроля ввода значений коэффициентов создайте обработчиксобытия KeyPress и назначьте его для обработки события всех трехкомпонентов. Обработчик нажатия клавиш, контролирующий ввод исходныхданных, приведен в листинге 2.5.Листинг 2.5 • Контроль ввода данных. procedure TWinForm.Checklnput(sender: System.Object;e: System.Windows.Forms.KeyPressEventArgs);begin// Контроль вводимых символов.i f n o t ( e .

K e y C h a r i n [ # 8 , • , •', ' 0 ' . . • 9 ' ] )thene.Handled := true;end;Кратко поясню код. При возникновении события нажатия клавиши вобработчик передается символ, который должен быть добавлен к ужевведенным. Передается он в свойстве параметра обработчика событияе . KeyChar. Соответственно, нам надо проверить, входит ли этот символ вдиапазон допустимых символов для ввода. Напомню, что допустимымисимволами являются цифры от 0 до 9 и запятая, являющаяся разделителем целойи дробной частей. Если вы внимательно посмотрите на диапазон,представленный в условии в листинге, то увидите, что в самом начале стоитстранная конструкция #8.

Эта запись обозначает символ с кодом 8, то естьклавишу Backspace. Служебное слово n o t перед оператором сравнения i nговорит о том, что секция then оператора i f будет выполняться только в томслучае, если результат сравнения будет неверным, то есть введенный символ неявляется разрешенным. В этом случае нам надо запретить ввод этого символа.Для того чтобы в данном случае отменить добавление введенного символа,мы присваиваем свойству Handled переданного в обработчик событиязначение t r u e , которое говорит, что событие уже обработано. В этом случаевыполнение обработки события прерывается и не доходит до компонента, вкотором и происходит добавление нового символа к уже введенным. Такимобразом, мы решили задачу контроля ввода.ГЛАВА 2 7 Создаем первые проекты в Borland Delphi 2005Дополнительные возможностипо выявлению ошибок в тексте программыПеред тем как окончательно настроить нашу программу, сделаем небольшоеотступление.

Зачастую случается так, что выявить ошибку временивыполнения достаточно сложно. В нашем случае это было просто - после вводанеправильных данных возникала соответствующая ошибка. Но бываютситуации, когда причина возникновения ошибки непонятна. В этом случае мыможем воспользоваться дополнительными возможностями среды разработкипо выявлению ошибок в исходном коде. Далее я коротко остановлюсь наосновных способах выявления ошибок (средствах отладки программы).Итак, основные способы выявления ошибок:V использование контрольных точек останова;>- просмотр списка текущих значений переменных (Watches list).Точки останова (Breakpoints) используются в случае, когда необходимовыявить место, где происходит ошибка. Введение таких точек позволяетостанавливать процесс выполнения программы и выполнять ее пошагово, отточки к точке.Для того чтобы добавить точку останова, достаточно щелкнуть по номерустроки программы.

В' результате будет добавлена точка останова, котораяпомечается красным кружком (рис. 2.24).220221222end;end;// Вычисление22422522 6227228229230231232233if D<0 then// Если дискриминант отрицателен, то выводим сообщение// о том, что уравнение не имеет корнейbeginЬе|эе15.Text :•'Уравнение не имеет действительных корней 1 ;end// Если дискриминант больше или равен 0, то// Вычисляем корни уравненияelsebegin2362?-7238239// Выводим рассчитанные значения корнейLabels.Text:-1XI " '+Xl.To5tring+' X2 - '+Х2.ToSccirig;end;хискрихинантаend;...:............ aРис.

2.24 т Добавление точек останова•. . .:Создаем первый проект для Microsoft .MET FrameworkАналогичного результата можно добиться, если в окне редактора коданажать клавишу F5 или использовать контекстное меню. Для добавления точкиостанова с помощью контекстного меню (рис. 2.25) в нем необходимо выбратьпункт Debug >• Toggle Breakpoint.Close PageCW+F4Show DesignerOpen File at CursorCtrl+EnterNew Edit WindowFile FormatTopic Search•FlCompete class at cursor Shift+Ctrl+CAdd To-Do Item...tЖShift+Ctrl+TCytСЫтлCop-lСЫ+СF-жеCtri+v•Toggle Bookmarks•goto Bookmarks•C3earEoolJftwfes•-Read Qrjy§Message View•••••••.•:j|Fold•UnfoldToggle Commert1•Ctrl+/4»^),E2A,I}J|3dnG•aldsov•vp•uWetowic;aatet.Av•tc'.dC,/dP••.-.,••'••MohdaiftyC..u..r•••sorCtAress..••:•••.r!lt++F5FS.UProperties*Refactorjng•Find•Рис.

Характеристики

Тип файла
PDF-файл
Размер
37,94 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6274
Авторов
на СтудИзбе
316
Средний доход
с одного платного файла
Обучение Подробнее