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

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

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

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

B u t t o n l C l i c k . После того как заготовка для процедуры будетсоздана, необходимо написать исходный код, подобный тому, что былприведен в листинге 2.1..В листинге 2.7 приведен текст функции обработки события Click на кнопкеВычислить (Buttonl).Листинг 2.7т Процедура обработки события c l i c kprocedure TForml.ButtonlClick(Sender:var А,В,С:single;TObject);ГЛАВА 2 V Создаем первые проекты в Borland Delphi 2005Drreal;XI,Х2:real;begin// Ввод исходных данных.A :=Str-ToFloat( Editl. Text) ;В:= StrToFloat(Edit2.Text);C:= StrToFloat(Edit3.Text);// Вычисление дискриминанта.D:=B*B-4*A*C;if D<0 then// Если дискриминант отрицателен, то выводим сообщение// о том, что уравнение не имеет корней.beginLabel5.Caption:='Уравнение не имеет действительных корней 1 ;end// Если дискриминант больше или равен 0, тоII вычисляем корни уравнения.elsebeginXl:=(-B-sqrt(D))/(2*A);X2:=(-B+sqrt(D))/(2*A);// Выводим рассчитанные значения корней.Label5.Caption:='Xl = •+FloatToStr(XI)+Chr(13)+ // Перевод на следующую строку.'Х2 = '+FloatToStr(X2);end;end;Как видно из листинга 2.7, структура программы не претерпела существенныхизменений, тем не менее синтаксис отдельных элементов изменился.

Разберемприведенный в листинге исходный код.Функция обработки TForml. B u t t o n l C l i c k выполняет вычисление корнейквадратного уравнения и выводит результат в метку Label5. Исходные данныео коэффициентах при неизвестном вводятся из полей редактирования E d i t l ,E d i t 2 и E d i t 3 . После ввода данных пользователем значение свойств Textэтих компонентов меняется на те, что ввел пользователь. Для преобразования введенных пользователем строк в числа используется функция StrToFl o a t . В качестве параметра этой функции передается текстовое изображениечисла. Результатом этой функции является число, полученное из введеннойпользователем строки. Поэтому если пользователь введет какой-либо текст,который невозможно перевести в число, то будет выдано сообщение об ошибке(функция работает аналогично рассмотренной нами ранее функции ToSingleСоздаем первый проект для Win3 2при разработке проекта для .NET). Таким образом, функция S t r T o F l o a tсработает только в том случае, если передаваемое число записано в верномформате.Вычисленные значения корней выводятся в поле Label 5 путемприсваивания значения свойству C a p t i o n .

Для обратного преобразованиячисла в строку используется обратная функция F l o a t T o S t r .Изучаем структуру проекта для Win32Теперь разберем особенности структуры созданного проекта. Далееприведен список файлов, который формируется при создании любого проектапод Win32 (после выполнения операции сохранения). Реально проект впростейшем случае представляет собой совокупность следующих файлов:>• файл описания проекта (bdsproj-файл);>• главный модуль (dpr-файл);> файл ресурсов (res-файл);>• файл конфигурации (cfg-файл);>• модуль формы (dfm-файл);> модуль реализации (pas-файл).Файл описания проектаФайл описания проекта (bdsproj-файл) имеет ту же функцию, что и в проектах .NET.Он представляет собой файл специального формата, в котором записана общаяинформация о проекте.

Изменять этот файл вручную также не рекомендуется.Главный модульВ главном модуле (dpr-файле) содержатся инструкции, обеспечивающие запускнашей программы. В качестве примера в листинге 2.8 приведен главный текстфайла главного модуля нашей программы (файл будет создан, как только мывыполним сохранение проекта).Листинг 2.8 т Главный модуль программыprogram Projectl;usesForms,Unitl in ' U n i t l . p a s ' {Forrnl};{$R *.res}beginApplication.Initialize;ГЛАВА 2 T Создаем первые проекты в Borland Delphi 2005Application.CreateForm(TForml, Form!);Application.Run;end.В заголовке модуля указано имя программы, далее следуют команды,которые содержат информацию о том, что именно (какие модули) понадобитсякомпилятору Delphi для создания конечного ехе-файла. Как видите, в отличиеот .NET-проектов здесь не требуется наличия специальных библиотек - всяинформация будет храниться в формируемом ехе-файле.Модуль формыМодуль формы содержит только информацию о ее настройках и компонентах, которые на ней присутствуют.

Модуль формы формируетсяавтоматически при выполнении настроек формы, перенесении на нее инастройки компонентов. А где же хранятся процедуры обработки событийдля этих компонентов? Процедуры обработки событий хранятся в файлереализации (см. ниже). В листинге 2.9 приведен текст модуля формы нашейпрограммы.Листинг 2.9 т Модуль формы программыobject Forml: TFormlLeft = ОTop = ОBorderlcons = [biSystemMenu, biMinimize]BorderStyle = bsSingleCaption = #1042#1099#1095#1080#1089#1083#1077#1085#1080#1077''#1082#1086#1088#1085#1077#1081'•#1082#1074#1072#1076#1088#1072#1090#1085#1086#1075#1086'•#1091#1088#1072#1074#1085#1077#1085#1080#1103ClientHeight = 152ClientWidth = 386Color = clBtnFace• Font.Charset = RUSSIAN_CHARSETFont.Color = clWindowTextFont.Height = -11Font.Name = 'MS Sans SerifFont.Style = []OldCreateOrder = FalsePosition = poScreenCenterPixelsPerlnch = 96TextHeight = 13object Labell: TLabelСоздаем первый проект для Win32-•Left = 24Тор = 16Width = 299Height = 13Caption = #1042#1074#1077#1076#1080#1090#10771'#1079#1085#1072#1095#1077#1085#1080#1103''#1082#1086#1101#1092#1092#1080#1094#1080#1077#1085#1090#1086#107.4'1#1082#1074#1072#1076#1088#1072 #1090 #1085 #1086 # 107 5#1086''#1091#1088#1072#1074#1085#1077#1085#1080#1103endobject Label2: TLabelLeft = 24Top = 55Width = 10Height = 13Caption = 'A:'endobject Label3:.TLabelLeft = 24Top = 83Width = 1 0iHeight = 13Caption = 'B:'endobject Label4: TLabel' Left = 24Top = 111Width = 10Height = 1 3Caption = 'C:'endobject Label5: TLabelLeft = 104Top = 48Width = 120•,Height = 80AutoSize = FalseWordwrap = Trueendobject Editl: TEditLeft = 40Top = 48Width = 4 8ГЛАВА 2 • Создаем первые проекты в Borland Delphi 2005Height = 21TabOrder = Оendobject Edit2: TEditLeft = 40Top = 7 6Width = 48Height = 2 1TabOrder = 1endobject Edit3: TEditLeft = 40Top = 104•• Width = 48Height = 21TabOrder = 2endobject Buttonl: TButtonLeft = 240Top = 4 8Width = 120Height = 32Caption = #1042#1099#1095#1080#1089#1083#1080#1090#1100TabOrder = 3OnClick = ButtonlClickendobject Button2: TButtonLeft = 240Top = 96Width = 120Height = 3 2Caption = #1047#1072#1074#1077#1088#1096#1077#1085#1080#1077'•#1088#1072#1073#1086#1090#1099TabOrder = 4endendМодуль реализацииВ модуле реализации содержится информация только о присутствующих наформе компонентах и процедурах обработки событий на этих компонентах.Модуль формы можно условно разделить на две части - секцию описания исобственно раздел реализации.Создаем первый проект для Win3 2Секция описания (начинается с служебного слова i n t e r f a c e ) содержитавтоматически сформированное Delphi-объявление типа формы.

Этот разделтакже содержит перечень компонентов, которые находятся на форме.Секция реализации начинается со служебного слова implementation. Онасодержит объявление локальных процедур и функций, в том числе и процедуробработки событий.Как и в случае проекта для .Net, могут существовать еще и секцииинициализации и финализации. Но в нашем случае они не используются.Теперь необходимо отметить некоторые особенности проекта для Win32.Посмотрите на текст модуля реализации проекта для Win32 (листинг 2.10).Листинг 2.10 т Текст модуля реализацииunit Unitl;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls,Forms, Dialogs, StdCtrls;typeTForml = class(TForm)Editl: TEdit;Edit2: TEdit;Edit3: TEdit;Label1: TLabel;Label2: TLabel;Label3: TLabel;Label4: TLabel;Label5: TLabel;Buttonl: TButton;Button2: TButton;procedure ButtonlClick(Sender: TObject);procedure Button2Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForml: TForml;implementation{$R *.dfm}procedure TForml.ButtonlClick(Sender: TObject);4-3166ГЛАВА 2 • Создаем первые проекты в Borland Delphi 2005var А,В,С:single;D:real;XI,Х2:real;begin// Ввод исходных данных.A: =StrToInt(Editl.Text);B:=StrToInt(Edit2.Text);C:FStrToInt(Edit3.Text);// Вычисление дискриминанта.D:=B*B-4*A*C;if D<0 then// Если дискриминант отрицателен, то выводим сообщениеII о том, что уравнение не имеет корней.beginLabel5.Caption:='Уравнение не имеет действительных корней';end// Если дискриминант больше или равен 0, тоII вычисляем корни уравнения.elsebeginXl:=(-B-sgrt(D))/(2*A);X2:=(-B+sqrt(D))/(2*А);// Выводим рассчитанные значения корней.Label5.Caption:='Xl = '+FloatToStr(XI)+Chr(13)+ // Перевод на следующую строку.•Х2 = '+FloatToStr(X2);end;end;procedure TForml.Button2Click(Sender: TObject);beginClose;end;.

.Уend.В модуле формы проекта для .NET присутствовало все - и описаниекомпонентов (значения их свойств), и соответствующие им процедурыобработки событий. В проектах для Win32 эта информация разделена на модульформы и модуль реализации. Модуль реализации содержит перечень (условноговоря, ссылки) компонентов и соответствующие им процедуры обработки.Каким же образом компилятор узнает описание компонентов в проекте Win32,на что осуществляется ссылка в модуле реализации? Ответ прост - посмотритевнимательно на начало секции implementation.

Сразу в начале этого разделаСоздаем первый проект для Win3 2вы увидите директиву (не путайте с комментариями) {$R * .dfm}. Даннаядиректива означает, что описание компонентов (значения их свойств) находятсяв файле unitl.pas. Звездочка (*) в данном случае означает, что имя файла модуляформы совпадает с именем файла модуля реализации.Преобразуем исходный текстпрограммы в исполняемый файлПосле сохранения проекта приступайте к компиляции с помощью пункта Compile меню Project. Результатом компиляции будет ехе-файл, совпадающий с именем проекта.

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

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

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

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