Структура программы на делфи

Разрабо- гка любого приложения должна пройти все стадии жизненного цикла, включая стадии анализа, формирования ТЗ, технического проектирования и т.п. В Delphi осуществляется непосредственно разработка программы, которая сводится к следующим проектным операциям [21]. ]. Создание и сохранение нового проекта.

2. Перенос на форму необходимых компонентов.

3. Размещение этих компонентов на площади формы.

4. Задание значений свойств компонентов.

5. Написание обработчиков событий.

6. В многооконных приложениях предыдущие четыре пункта повторяются для каждой вводимой в приложение формы.

7. Тестирование и отладка приложения.

8. Заключительная подготовка завершенного приложения к распространению. В основе разработки лежит проект. Проект в Delphi состоит из форм, модулей,

установок параметров проекта, ресурсов и т.д. Вся эта информация размещается в различных файлах, которые образуются на разных стадиях создания программы (разработка, компиляция, компоновка). В табл. 1.1 приведены -расширения файлов, создаваемых на этапе разработки программы.

Уроки Delphi (Делфи) для начинающих с нуля. Урок №1 «Визуальная среда разработки программ»

Расширение Тип файла и описание
.dpr Delphi Project file: файл проекта Delphi. Содержит исходный код
Резервная копия файла проекта (.dpr)
bpg Borland Project Group: файлы, используемые менеджером проектов
Окончание табл. 1.1
dof Delphi Option File: текстовый файл с опциями текущего проекта
.cfg Файл конфигурации с настройками проекта. Аналогичен файлу.dof
.dsk Файл рабочего стола (Desktop): содержит информацию о положении окон Delphi, об открытых в редакторе файлах и другие настройки —————————————————————————-
.dfm Файл формы Delphi: двоичный файл с описанием свойств формы (или модуля данных) и ее компонентов
,-df Резервная копия файла формы (.dfm)
.pas Файл Pascal: исходный код модуля Pascal, или связанного с формой, или отдельного
,~pa Резервная копия файла.pas
.bmp,.ico,.cur Файл, растрового рисунка, значка, или курсора; стандартные файлы, используемые Windows для хранения растровых изображений
.res,.rc Resource File (файл ресурсов): двоичный файл, связанный с проектом и обычно содержащий его значок. Можно добавлять в проект другие файлы данного типа. Также можно использовать текстовое описание ресурсов (файлы.гс)
.dci Шаблоны кода Delphi
.dro Репозиторий объектов Delphi (модифицировать его следует командойTools->Repository)
.dmt Шаблоны меню Delphi
.dbi Информация Database Explorer
.dem Delphi Edit Mask (файлы со специальными региональными масками для ввода чисел, дат и т.д.)
.dct Шаблоны компонентов Delphi
После окончания разработки проекта и формирования всех требуемых файлов, можно приступать к компиляции и компоновке программы. При этом создаются собственно исполняемые файлы программы, а также ряд вспомогательных файлов, основные расширения которых приведены в табл.1.2. Таблица1.2
Расширение Тип файла и описание
.ехе Исполняемый файл
.dcu Delphi Compiled Unit (откомпилированный модуль): результат компиляции модуля Pascal. Аналог obj-файла
.dll Динамически подгружаемая библиотека
.bpl Borland Project Library: динамическая библиотека (DLL) с компонентами, используется или средой во время разработки, или приложением во время выполнения
■OCX OLE Control eXtention: это специальная форма DLL, содержащая элементы и формы ActiveX •

Программирование в Delphi / Урок 1. Знакомство со средой разработки. Приложение «Привет, мир!»

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

Рис. 1.3. Структура модулей проекта Delphi

Файл проекта представляет собой программу, написанную на языке Object Pascal. Эта программа автоматически создается Delphi и начинается с ключевого слова program. Имя программы совпадает с именем файла, в котором сохранен проект. Это же имя присваивается выполняемому файлу приложения. Просмотр файла проекта вызывается по опции Project->View Source главного меню.

Файл проекта обычно состоит всего из нескольких строк. Пример 1.1. Пример фала проекта.

program Projectl;

Forms-, Unit! in ‘ Dnitl. pas ‘ ; f$R *.msj

Application.Initialise; Application. CreateForm(TFonol, FMaЈL-); Application.Run; end.

После заголовка в тексте программы располагается предложение uses. В этом предложении перечисляются модули, загружаемые программой — системные

Читайте также:
Как сделать презентацию без программы

и модули приложения. В приведенном примере подразумевается, что в проекте создана одна форма с именем Forml в модуле с именем Unitl.

Строка текста представляет собой директиву компилятора. После ключевого слова begin и до завершающего end. идет текст программы, состоящий из трех операторов. Первый оператор инициализирует приложение, следующий — создает объект главной формы Forml, последний — начинает выполнение приложения.

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

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

Файл ресурсов можно редактировать или создавать свой собственный, добавляя в него такие элементы как: битовые матрицы, курсоры, пиктограммы и строки. Добавление графики осуществляется встроенной в IDE программой Image Editor. Добавление строк осуществляется включением в модуль раздела resourcestring и описанием в нем нужных строк. Например: resourcestring

Nolnform = ‘Отсутствует требуемая информация’; NoPaxam = ‘Задано %d параметров из %d’

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

Файл с расширением *.DFM также является, по сути, ресурсным файлом, содержащим описание формы (или фрейма) и размещенных на ней компонентов. Начиная с Delphi 5 этот файл можно сохранять как в текстовом, так и в бинарном виде, по умолчанию он хранится как текст. Чтобы хранить файлы.dfm в бинарном виде, следует щелкнуть правой клавишей мыши на форме и убрать в локальном меню галочку Text DFM.

Убрав галочку New forms as text в закладке Designer окна Tools->Environment Options можно определить режим для сохранения форм в бинарном формате по умолчанию. В Delphi до версии 5 файл ресурсов DFM можно преобразовывать к текстовому виду с помощью утилиты командной строки converLexe. Работая в IDE, можно всегда просмотреть текстовое описание формы, щелкнув правой клавишей на форме и выбрав во всплывающем меню View As Text. Текстовое описание можно редактировать, при этом.асе изменения будут отображены на форме..

Источник: cyberpedia.su

Структура проекта Delphi

Программа Delphi — это несколько связанных между собой файлов.

Главный файл проекта, изначально называется PROJECT1. DPR. Если необходимо переименовать название проекта, нужно перезаписать этот файл, выбрав в меню File команду Save Project As… При задании имени следует придерживаться правил задания имен в Object Pascal. Имя не должно содержать пробелов (используйте в таком случае знак подчеркивания), должно начинаться с буквы (цифры допустимы, но со второй позиции), не должно содержать других символов, кроме букв и цифр. Под каким именем вы сохраняете проект, под таким именем и будет создаваться исполняемый EXE файл, который вы всегда сможете самостоятельно переименовать [7, С. 32].

Модуль программы, который автоматически появляется в начале работы Unit1. Файл называется UNIT1. PAS по умолчанию, но его можно назвать любым другим именем, вроде MAIN. PAS. Это делается аналогично переименованию названия проекта.

Необходимо выбрать в меню File команду Save As… Сохраняется активный модуль в редакторе кода. Файл главной формы, который по умолчанию называется UNIT1. DFM, используется для сохранения информации о внешнем виде формы (окна разрабатываемого приложения). При переименовании названия модуля автоматически меняет свое название.

Файл PROJECT1. RES изначально содержит иконку для проекта. Создается автоматически. Имеет одноименное название с названием проекта. Файл PROJECT1.

Читайте также:
Где записана программа тестирования компьютера в момент включения питания

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

После компиляции программы получаются файлы с расширениями: DCU — скомпилированные модули PAS для последующей быстрой компиляции некоторые файлы не перезаписываются. EXE исполняемый файл, ~PA, ~DP — backup файлы редактора. Автоматически создаются и содержат информацию, перед последним сохранением.

И так, любая программа всегда состоит из уже знакомого нам файла проекта (такой файл имеет расширение . dpr) и одного или нескольких модулей (файлы с расширением . pas) Файл проекта не предназначен для редактирования пользователем и создаётся автоматически самой системой программирования Delphi [7, С. 35]. .

Для того, чтобы увидеть содержимое файла проекта, необходимо выполнить команду Project View Source. Содержимое файла проекта может быть, например, следующим:

Unit1 in ‘Unit1. pas’ ;

Application. CreateForm(TForm1, Form1);

Файл проекта(главный модуль) начинается словом program, за которым следует имя программы, совпадающее с именем проекта. Далее за словом uses следуют имена используемых модулей: стандартного модуля Forms и модуля формы Unit1.

Похожая на комментарий директива указывает компилятору, что нужно использовать файл ресурсов, который содержит описание ресурсов приложения, например, пиктограммы. Звездочка указывает, что имя файла ресурсов такое же, как и у файла проекта, но с расширением . res.

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

В Delphi каждой форме соответствует свой модуль. Для переключения между формой и окном редактора кода, содержащего соответствующий модуль, следует нажать на клавишу F12. Модули — это программные единицы, служащие для размещения фрагментов программ. При помощи содержащихся в них текстов программ и реализуется решаемая пользователем задача.

2. СИНТАКСИС И СЕМАНТИКА ЯЗЫКА ПРОГРАММИРОВАНИЯ DELPHI

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

2.1 Алфавит языка

Алфавит — это совокупность допустимых в языке символов [2, С. 15]. Алфавит Турбо Паскаль включает следующий набор основных символов:

· строчные и прописные латинские буквы:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

a b c d e f g h i j k l m n o p q r s t u v w x y z

Источник: kazedu.com

Процедуры и функции delphi

Процедуры и функции delphi

Если Вы пользуетесь операционной системой Windows, то все программы будут работать по принципу ожидания событий.

Запущенная программа, как правило, ожидает ваших действий. Осуществив действие, мы вызываем внутри программы событие.

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

Даже факт появления той или иной формы на экране тоже является событием. Всего обрабатывается 34 различных события, происходящих в процессе работы с формой.

В дальнейшем мы увидим (и будем использовать) также и события, исходящие от операционной системы. Например, событие срабатывания таймера, события сбоя в работе программы и многое другое.

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

Механизм связывания скрыт от разработчика. Среда предоставляет ему заготовку процедуры-обработчика, а программисту остается только наполнить её кодом. Именно это мы и делали, разрабатывая программу «калькулятор».

Понятие процедуры и функции

Познакомимся более полно с понятием «процедура» и «функция«.

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

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

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

Читайте также:
Программа считает точки на экране

В дальнейшем эти отрезки оформили как самостоятельные фрагменты программы. Каждый такой отрезок выполнял логически законченные действия.

Был разработан механизм обращения к таким отрезкам программы в виде двух возможностей — процедуры и функции.

Внутренняя структура процедуры

Внешне логика построения процедуры выглядит таким образом:

Procedure имя_процедуры (список передаваемых в процедуру значений); начало процедуры ВЫПОЛНЯЕМЫЕ ОПЕРАТОРЫ конец процедуры;

Выполняемый код называется телом процедуры.

procedure MyProc(a:double;b:string); begin ВЫПОЛНЯЕМЫЕ ОПЕРАТОРЫ конец процедуры;

Осталось выяснить, как заставить процедуру выполнить свой код.

Как выполнить процедуру

Чтобы заставить процедуру выполнить свой код, её надо «вызвать». Откуда можно вызвать процедуру? Это делается из другой процедуры или функции. Например, рассмотрим такой код. Есть поле ввода Edit1 и кнопка Button1.

interface var Form1:Tform; vr:string; implementation procedure MyProc(a:double;b:string); begin vr:=b; end; procedure AnotherMyProc(); begin MyProc(20.5,’слово’); end; procedure TForm1.Button1Click(Sender: TObject); begin AnotherMyProc(); form1.edit1.Text:=vr; end;

Здесь первая процедура — обработчик события клика по кнопке.

В теле процедуры первая строка является вызовом процедуры AnotherMyProc() . После вызова эта процедура начинает выполняться, то есть начинает выполняться записанный в ней код.

Единственная команда в этой процедуре — вызов ещё одной процедуры MyProc, в которую передаются два значения. Первое — вещественное число, а второе — строка символов.

После того, как эти процедуры завершат своё выполнение, будет сформировано значение глобальной (то есть видимой во всех процедурах) переменной vr.

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

Аргументы процедуры

В списке аргументов процедуры MyProc указано два аргумента. Это две переменных. Первая переменная «a» и её тип «double», а вторая — «b» и её тип «string«.

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

При любом несоответствии программа выдаст ошибку и остановит выполнение.

Таким образом, переменная «a» станет равной 20.5, а переменная «b» будет содержать набор символов «слово».

Обратите внимание! Десятичным знаком является точка, а не запятая!

В теле процедуры MyProc имеется тоже только одна команда. В переменную «vr» переписывается значение из переменной «b»

Глобальные и локальные переменные

Отметим, что переменная «vr» была объявлена в секции «var» модуля.

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

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

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

Но если есть глобальные переменные, значит должны быть и локальные. Переменные «a:double;» и «b:string», описанные в шапке процедуры, будут локальными переменными, то есть они работают только внутри той процедуры, где они описаны.

Значения этих переменных для других процедур и функций недоступны!

Отметим ещё два момента, на которые надо особо обратить внимание.

Если в секции объявления глобальных переменных объявить переменную с именем «b», сразу задав ей начальное значение, то возникнет следующая ситуация. Везде значение переменной «b» будет равно «другое слово»,

var Form1: TForm1; vr:string ; b_string=’другое слово’; implementation

и только в процедуре:

procedure MyProc(a:double;b:string);

значение переменной будет таким, какое будет передано из вызывающей команды. В нашем случае, переменная «b» будет равна «слово».

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

На это надо обращать внимание, так как может служить источником потенциальной ошибки, которую трудно выявить при большом объёме кода.

Объявление переменных внутри процедуры

Кроме переменных, задаваемых в шапке процедуры, мы можем объявлять локальные переменные в самой процедуре.

Изменим немного текст процедуры:

procedure MyProc(a:double;с:string); var b,d:string; begin d:=’новое слово’; b:=d; Form1.Edit1.Text:=b; vr:=c; end;

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru