|
Основы программирования в среде Delphi 7.0 |
b>Головной файл приложения Delphi имеет следующую структуру:Program < имя >;{объявление подключаемых модулей, а также локальных типов, классов, констант, переменных, описание локальных функций и переменных}Begin{операторы тела программы}End.Типичная головная программа приложения имеет следующий вид:Program Project 1;UsesForms,Unit 1 in `Unit 1.pas' {Form 1}, Unit 2 in `Unit 2.pas' {Form 2};{$R *. res}{можно поместить описание констант, переменных, функций, процедур, доступных для использования только в пределах данного файла}BeginApplication. Initialize;Application. CreateForm (TForm 1, Form 1);Application. CreateForm (TForm 2, Form 2);Application. Run;End.1) Программа начинается с ключевого слова program, после которого указывается имя программы (оно совпадает с именем файла, в котором был сохранен проект). Это же имя присваивается исполняемому файлу приложения. По умолчанию используется имя Project1.2) После заголовка в тексте программы располагается предложение:UsesForms,Unit 1 in `Unit 1.pas' {Form 1}, Unit 2 in `Unit 2.pas' {Form 2};В этом предложении перечисляются модули, загружаемые программой. Первый модуль Forms является системным, а следующие - модулями разработанными самостоятельно форм. Данный пример подразумевает, что в проекте были созданы две формы с именами Form1, Form2 в модулях Unit1, Unit2. Заключенные в фигурные скобки название форм представляют собой комментарии.3) Следующая строка текста - {$R *. res} - представляет собой директиву компилятора, связанную с использованием файлов ресурсов. Указанный файл должен быть файлом ресурсов Windows. По умолчанию используется расширение.RES для файлов ресурсов.4) Первый оператор в теле программы Application. Initialize; - инициализирует приложение, следующий за ним оператор Application. CreateForm (TForm 1, Form 1); и Application. CreateForm (TForm 2, Form 2); - создают объекты формы1 и формы2, последний оператор Application. Run; - начинает выполнение приложения.Общая структура файла модуля:Unit < имя модуля >;Interface // Открытый интерфейс модуля (могут помещаться списки подключаемых модулей, объявление типов, констант, переменных, функций и процедур, к которым будет доступ из других модулей)Implementation // Реализация модуля (могут помещаться списки подключаемых модулей, объявление типов, констант, переменных, функций и процедур, к которым не будет доступа из других модулей)Initialization // (Необязательный раздел - операторы выполняются один раз при первом обращении к модулю)Finalization // (Необязательный раздел - операторы выполняются при любом завершении работы модуля)End.Рассмотрим теперь текст модуля с пустой формой:Unit Unit1;Interface // Открытый интерфейс модуляUses {Список подключаемых модулей}Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;Type {Объявление класса формы}TForm1 = class (TForm)Private // закрытый раздел классаPublic // открытый раздел классаEnd;VarForm 1: TForm1;Implementation // Реализация модуля{$R *. dfm}End.1) Модуль начинается с ключевого слова UNIT, после которого указывается имя модуля. Оно совпадает с именем файла, в котором был сохранен модуль. Текс модуля состоит из двух основных разделов: открытый интерфейс модуля и реализация модуля. Внешние модули не могут видеть типы, переменные, константы, функции и процедуры, размещенные в разделе реализации.2) После предложения USES, содержащего список подключаемых модулей, располагается заготовка объявления класса формы. Имя класса формы - TForml. Класс содержит два раздела: открытый раздел класса (PUBLIC) - то, что объявлено в этом разделе доступно для других классов и модулей, закрытый раздел класса (PRIVATE) - то, что объявлено в этом разделе доступно в пределах данного модуля.3) За объявлением класса формы следуют строки:VarForm 1: TForm1;Таким образом, объявляется переменная Form1 класса TForm1.4) Затем следует пустой раздел реализации INPLEMENTATION, в котором содержится только директива компилятора {$R *. dfm}, обеспечивающая компоновку файлов ресурсов форм.4. Некоторые справочные сведения для работы в среде DelphiФайлы проекта Delphi. Проект состоит из форм, модулей, установок параметров проекта, ресурсов и т.д. Вся эта информация размещается в файлах. Многие из этих файлов автоматически создаются Delphi. Ниже приведена характеристика основных файлов, используемых при создании выполняемого файла приложения.Файлы проекта в Delphi, представлены в таблице:|
Головной файл проекта (.drp) | Этот текстовый файл используется для хранения информации о формах и модулях. В нем содержатся операторы инициализации и запуска программы на выполнение. | | Файл модуля (.pas) | Каждой создаваемой форме соответствует текстовый файл модуля, используемый для хранения кода. Многие из функций и процедур Delphi хранятся в модулях. | | Файл формы (.dfm) | Это двоичный или текстовый файл, который создается для хранения информации о собственных формах. | | Файл параметров проекта (.dfo) | В этом файле хранятся установки параметров проекта. | | Файл ресурсов (.res) | Этот бинарный файл содержит используемую проектом пиктограмму и прочие ресурсы. | | Файл группы файлов (.bpg) | Этот файл создается, если работать с группой проектов. | | Файл пакета (.dpk) | Это двоичный файл пакета. | | Файлы резервных копий (.dp, df, pa) | Это соответственно файлы резервных копий для файлов проекта, формы и модуля. Можно соответственно изменить расширения этих файлов и таким образом вернуться к предыдущему не испорченному варианту. | | Исполняемый файл (.exe) | Это исполняемый файл приложения. Он является автономным, для которого ничего не требуется, если не использовать поддержку пакетов времени выполнения. | | Объектный файл модуля (.dcu) | Это откомпилированный объектный файл модуля (.pas), который компонуется в окончательный исполняемый файл. | | | Некоторые встроенные функции и процедуры Delphi.1) для строковых типов:|
Типы строк | Максимальная длина | Используется для | Нулевой символ в конце | | Short String | 255 | Обратной совместимости | Нет | | Ansi String | 2^31 (2 Гб) | Символ ANSI | Есть | | String | Или 255, или 2 Гб | Символ ANSI или Unicode | Есть или нет | | Wide String | 2^30 (1 Гб) | Символ Unicode, в серверах COM и интерфейсах | Есть | | | Родовым является тип String, который имеет разный смысл в зависимости от директивы компилятора. Если включена директива {$H+} (она включена по умолчанию), то String интерпретируется компилятором как тип Ansi String - длинная строка с нулевым символом в конце. Если же включена директива {$H-}, то String интерпретируется компилятором как тип Short String - короткая строка без нулевого символа в конце. Если в объявлении типа после ключевого слова String следует число символов в квадратных скобках (например, String[4]), то независимо от директив компилятора, тип трактуется как строка без нулевого символа в конце с указанным числом символов. Стандартная функция LENGTH возвращает число символов в строке, переданной ей в качестве параметра. Процедура SetLength устанавливает длину строки.Процедуры и функции обработки строк:|
FloadToStr (Value: Extended): string Преобразует Value в строку с точностью 15 цифр. | | IntToStr (Value: integer): string Возвращает строку, содержащую преобразованное целое значение Value. | | StrToFload (const S: string): Extended Преобразует строку S в действительное число. | | StrToInt (const S: string): Integer Преобразует строку S в целое число. | | Val (S; var V; var Code: Integer) Преобразует строку S в целое число Code. | | | 2) Функции массива:|
Функция | Описание | | Length | Число элементов массива | | High | Наибольшее значение индекса | | Low | Наименьшее значение индекса | | | 3) Функции для числовых массивов:|
Функция | Тип аргумента | Тип результата | Описание | | MinIntValue | Array of integer | Integer | Возвращает минимальное значение элемента массива целых чисел | | MaxInValue | Array of integer | Integer | Возвращает максимальное значение элемента массива целых чисел | | MinValue | Array of double | Double | Возвращает минимальное значение элемента числового массива | | MaxValue | Array of double | Double | Возвращает максимальное значение элемента числового массива | | Sum | Array of double | Extended | Возвращает сумму элементов массива | | | Эти функции определены в модуле math и этот модуль должен подключаться оператором USES, чтобы компилятор их понимал.4) Процедуры и функции вызова диалоговых окон:В приложениях часто приходится отображать различные простые диалоговые окна, чтобы понять какие-то указания или задать несложный вопрос, на который возможен один из стандартных ответов: да, нет, отменить, прервать. В законченном приложении желательно эти окна проектировать самостоятельно, обеспечивая единство стиля всех окон приложения, русские надписи и т.п.А) простейшей из таких процедур является ShowMessage, отображающая окно сообщения с кнопкой ОК. Она имеет вид:Procedure ShowMessage (const Msg: string);Текст сообщения задается параметром Msg. Заголовок окна совпадает с именем выполняемого файла приложения.Б) Похожая процедура ShowMessageFmt, позволяет выводить в аналогичное окно форматированное сообщение. Эта процедура имеет вид:Procedure ShowMessageFmt (const Msg: string; Params array of const);Параметр Msg в этой процедуре задает строку описания формата, а параметр Params задает массив параметров, форматируемых строкой Msg.Приведем примеры использования этих процедур:ShowMessage (» Работа приложения успешно завершена');ShowMessageFmt (» Задано% d параметров из % d `, [N1, N2]);Последний оператор при N1=5, N2=7 выдаст сообщение с текстом: «Задано 5 параметров из 7».В) Следующая функция отображает окно, в котором задается вопрос и анализируется полученный ответ - это функция MessageDlg. Она объявляется следующим образом:Function MessageDlg (const Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; HelpCtx: Longint): Word;Вызов этой функции отображает диалоговое окно и ожидает ответа пользователя. Сообщение в окне задается параметром функции Msg.Вид окна задается параметром AType. Возможные значения параметра:|
Значение | Описание | | mtConfirmation | Окно подтверждения, содержащее зеленый вопросительный знак. | | mtInformation | Информационное окно. | | mtError | Окно ошибок, содержащее красный стоп-сигнал. | | mtWarning | Окно замечаний. | | mtCustom | Заказное окно без рисунка. Заголовок соответствует имени выполняемого файла. | | | Параметр AButtons определяет, какие кнопки будут присутствовать в окне. Возможные значения видов кнопок:|
Значения | Описания | | mbYes | Кнопка с надписью ДА | | mbNo | Кнопка с надписью НЕТ | | mbOK | Кнопка с надписью ОК | | | Приведем пример использования функции MessageDlg, иллюстрирующий диалог при окончании работы приложения:If MessageDlg (» Действительно хотите закончить приложение? `, mtConfirmation, [mbYes, mbNo], 0) = mrYes then beginMessageDlg (» Работа приложения закончена `, mtInformation, [mbOk], 0);Close;End;Первый вызов функции MessageDlg приводит к отображению окна типа mtConfirmation с вопросом о завершении приложения. Если пользователь нажимает кнопку Yes, то выводится второе окно типа mtInformation с сообщением о завершении работы приложения.ЗаключениеВ первую очередь Delphi предназначен для профессионалов-разработчиков корпоративных информационных систем. Может быть, здесь следует пояснить, что конкретно имеется в виду. Не секрет, что некоторые удачные продукты, предназначенные для скоростной разработки приложений (RAD - rapid application development) прекрасно работают при изготовлении достаточно простых приложений, однако, разработчик сталкивается с непредвиденными сложностями, когда пытается сделать что-то действительно сложное. Бывает, что в продукте вскрываются присущие ему ограничения только по прошествии некоторого времени.Delphi такие ограничения не присущи. Хорошее доказательство тому - это тот факт, что сам Delphi разработан на Delphi. Можете делать выводы. Однако Delphi предназначен не только для программистов-профессионалов. Я читал в электронной конференции совершенно неожиданные для меня письма, где учителя, врачи, преподаватели ВУЗов, бизнесмены, все те, кто используют компьютер с чисто прикладной целью, рассказывали о том, что приобрели Delphi for Windows для того, чтобы быстро решить какие-то свои задачи, не привлекая для этого программистов со стороны. В большинстве случаев им это удается. Поразительный факт - журнал Visual Basic Magazine присудил свою премию Delphi for Windows.Руководители предприятий, планирующие выделение средств на приобретение программных продуктов, должны быть уверены в том, что планируемые инвестиции окупятся. Поэтому одним из оцениваемых факторов должен быть вопрос - а легко ли найти специалиста по Delphi и сколько будет стоить его обучение, сколько времени специалист затратит на овладение продуктом. Ответ здесь получить весьма просто - любой программист на паскале способен практически сразу профессионально освоить Delphi. Специалисту, ранее использовавшему другие программные продукты, придется труднее, однако самое первое работающее приложение он сможет написать в течение первого же часа работы на Delphi. И, конечно же, открытая технология Delphi является мощным гарантом того, что инвестиции, сделанные в Delphi, будут сохранены в течение многих лет.Список литературы1. Архангельский А.Я. Программирование в Delphi. Учебник по классическим версиям Delphi. - М.: ООО «Бином-Пресс», 2006. - 1152 с.: ил.2. Архангельский А.Я. Программирование в Delphi. - М.: ООО «Бином-Пресс», 2004. - 1152 с.: ил.3. Гофман В.Э., Хомоненко А.Д. Delphi. Быстрый старт. - СПб: БХВ-Петербург, 2003. - 288 с.: ил.
Страницы: 1, 2, 3
|
|
|
© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент. |
|
|