Программирование в Delphi

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.11.2010
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

30

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение

высшего профессионального образования

«ЧЕЛЯБИНСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»

Профессионально-педагогический институт

Курсовой проект

Тема: ПРОГРАММИРОВАНИЕ В DELPHI

Выполнил: студентка 3 курса, гр. ПОИ-303,

специальность: Профессиональное обучение

«Информатика, вычислительная техника

и компьютерные технологии»

Полевина И.И.

Проверил преподаватель: Сидельковская Л.Н.

Челябинск 2010

Содержание

Введение

1. Общая часть. Методы программирования. Основные понятия

2. Практическая часть. Проектирование и отладка

3. Системные требования и рекомендации к выбору компьютера

4. Листинг программы

Заключение

Список использованных источников

Введение

Курсовая работа содержит 30 страниц, 6 источников, 12 рисунков. В процессе работы использовалась учебная литература по программированию в среде Borland Delphi для Windows.

В данной курсовой работе предложено создать Windows-приложение на алгоритмическом языке Object Pascal в среде визуального программирования Delphi. Разработчику ставиться вполне определенная задача, при выполнении которой используются навыки работы с операционными системами, программными оболочками, разнообразными служебными и сервисными средствами. А также навыки по алгоритмизации, программированию и решению в интегрированной визуальной среде программирования Delphi.

Delphi - среда разработки, использует язык программирования Delphi, разработанный фирмой Borland и изначально реализованный в её пакете Borland Delphi, от которого и получил в 2003 году своё нынешнее название. Object Pascal по сути является наследником языка Pascal с объектно-ориентированными расширениями. Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ GNU/Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft.NET. Delphi - результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5 добавил в Паскаль объектно-ориентированные свойства, а Delphi - объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией. Де-факто Object Pascal, а затем и язык Delphi являются функциональными наращиваниями Turbo Pascal.

1. Общая часть. Методы программирования. Основные понятия

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

Одним из важнейших принципов объектно-ориентированного программирования является то, что программист во время разработки программы должен думать о коде и о данных совместно. Ни код, ни данные не существуют в вакууме. Данные управляют потоком кода, а код манипулирует образами и значениями данных. Если ваши код и данные являются разделенными элементами, то всегда существует опасность вызова правильной процедуры с неверными данными или ошибочной процедуры с правильными данными. Забота о совпадении этих элементов возлагается на программиста, и хотя строгая типизация Паскаля здесь помогает, самое лучшее, что он может сделать - это указать на несоответствие. О том, что действительно существует вместе, Паскаль нигде не сообщает. Если это не отмечено комментарием или не то, о чем вы все время помните, то вы играете с судьбой. Объект осуществляет синхронизацию кода и данных путем совместного построения их описаний. Реально, чтобы получить значение одного из полей объекта, вы вызываете относящийся к этому объекту метод, который возвращает значение нужного поля. Чтобы присвоить полю значение, вы вызываете метод, который назначает данному полю новое значение.

Приложение собирается из многих элементов: форм, программных модулей, внешних библиотек, картинок, пиктограмм и др. Каждый элемент размещается в отдельном файле и имеет строго определенное назначение. Набор всех файлов, необходимых для создания приложения, называется проектом. Компилятор последовательно обрабатывает файлы проекта и строит из них выполняемый файл.

Основные файлы проекта можно разделить на несколько типов: Файлы описания форм - текстовые файлы с расширением DFM, описывающие формы с компонентами. В этих файлах запоминаются начальные значения свойств, установленные вами в окне свойств. Файлы программных модулей - текстовые файлы с расширением PAS, содержащие исходные программные коды на языке Delphi. В этих файлах вы пишите методы обработки событий, генерируемых формами и компонентами.

Главный файл проекта - текстовый файл с расширением DPR, содержащий главный программный блок. Файл проекта подключает все используемые программные модули и содержит операторы для запуска приложения. Этот файл среда Delphi создает и контролирует сама. Проект Delphi представляет собой набор программных единиц - модулей. Один из модулей - главный, содержит инструкции, с которых начинается выполнение программы.

Главный модуль приложения полностью формируется Delphi. Главный модуль представляет собой файл с расширением dpr. Для того чтобы увидеть текст главного модуля приложения, нужно из меню Project выбрать команду View Source. Каждой форме в проекте соответствует свой программный модуль (unit), содержащий все относящиеся к форме объявления и методы обработки событий, написанные на языке Delphi. Программные модули размещаются в отдельных файлах с расширением PAS. Их количество может превышать количество форм. Почему? Потому, что в ряде случаев программные модули могут и не относиться к формам, а содержать вспомогательные процедуры, функции, классы и проч.

Ни в коем случае не изменяйте имя вручную. Среда Delphi требует, чтобы имя модуля совпадало с именем файла, поэтому если вы хотите переименовать модуль, сохраните его в файле с новым именем, воспользовавшись командой меню File | Save As.... Среда Delphi сама подставит после слова unit новое имя. После этого удалите старый модуль. Содержание интерфейсной секции модуля (interface) начинается с подключения стандартных модулей библиотеки VCL, в которых определены часто вызываемые подпрограммы и классы помещенных на форму компонентов. Среда Delphi формирует список модулей без вашего участия и автоматически пополняет его, когда вы добавляете на форму новые компоненты. Тем не менее, список подключенных модулей можно изменять прямо в редакторе кода (вручную). Начинается модуль словом unit, за которым следует имя модуля. Модуль состоит из следующих разделов:

· интерфейса;

· реализации;

· инициализации.

Раздел интерфейса (начинается словом interface) сообщает компилятору, какая часть модуля является доступной для других модулей программы. В этом разделе перечислены (после слова uses) библиотечные модули, используемые данным модулем. Также здесь находится сформированное Delphi описание формы, которое следует за словом type.

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

Начинается раздел реализации директивой {$R *.DFM}, указывающей компилятору, что в процессе генерации выполняемого файла надо использовать описание формы. Описание формы находится в файле с расширением dfm, имя которого совпадает с именем модуля. Файл описания формы генерируется средой Delphi на основе внешнего вида формы.

За директивой ($R *.DFM} следуют процедуры обработки событий для формы и ее компонентов. Сюда же программист может поместить другие процедуры и функции.

Раздел инициализации позволяет выполнить инициализацию переменных модуля. Инструкции раздела инициализации располагаются после раздела реализации (описания всех процедур и функций) между begin и end. Если раздел инициализации не содержит инструкций (как в приведенном примере), то слово begin не указывается.

Следует отметить, что значительное количество инструкций модуля формирует Delphi. Delphi, анализируя действия программиста по созданию формы, генерирует описание класса формы (после слова type). Для того чтобы компилятор знал, какие конкретно файлы входят в проект, необходимо какое-то организующее начало. И оно действительно есть. Это так называемый файл проекта, имеющий расширение DPR (сокр. от Delphi Project). Он представляет собой главный программный файл на языке Delphi, который подключает с помощью оператора uses все файлы модулей, входящих в проект. Для каждого проекта существует только один DPR-файл. Когда мы по команде File | New | Application начинаем разработку нового приложения, среда Delphi автоматически создает файл проекта. По мере создания новых форм содержимое этого файла видоизменяется автоматически. Когда мы закончим работу и будем готовы компилировать проект, в DPR-файле будет находиться перечень программных модулей, которые будут поданы на вход компилятору.

Понятие компонента является фундаментальным для среды Delphi. Без компонентов все преимущества визуальной разработки приложений исчезают и говорить становится не о чем. Разработчики Delphi позаботились о том, чтобы включить в библиотеку простые для использования компоненты, реализующие соответствующие диалоговые окна. Они размещены на странице Dialogs.

2. Практическая часть. Проектирование и отладка

На пустой форме разместим компонент TPanel - будущую инструментальную панель нашего редактора. Свойству Align полученного компонента Panel1 присвоим значение alTop, а свойству Caption - пустую строку.

Далее разместим на форме компонент RichEdit и присвоим его свойству Align значение alClient, свойству ScrollBars - значение ssVertical, а свойству Lines - пустой массив строк (редактор свойств, являющихся строковыми массивами, как правило, представляет собой обычный текстовый редактор). Компонент RichEdit являются окном редактирования многострочного текста. Оно так же, как и окно Edit, снабжено многими функциями, свойственными большинству редакторов. В них предусмотрены типичные комбинации «горячих» клавиш: Ctrl-C - копирование выделенного текста в буфер обмена Clipboard (команда Copy), Ctrl-X - вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V - вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z - отмена последней команды редактирования.

В компоненте имеется также свойство DefAttributes, содержащее атрибуты по умолчанию. Эти атрибуты действуют до того момента, когда изменяются атрибуты в свойстве SelAttributes. Но значения атрибутов в DefAttributes сохраняются и в любой момент эти значения могут быть методом Assign присвоены атрибутам свойства SelAttributes, чтобы вернуться к прежнему стилю.

Значения подсвойств свойства Paragraph можно задавать только в процессе выполнения приложения, например, в событии создания формы или при нажатии какой-нибудь кнопки. Значения подсвойств свойства Paragraph относятся к тому абзацу, в котором находится курсор. Свойство DefAttributes доступно только во время выполнения. Поэтому его атрибуты при необходимости можно задавать, например, в обработчике события OnCreate. За выравнивание, отступы и т.д. в пределах текущего абзаца отвечает свойство Paragraph типа TParaAttributes. В приложениях часто приходится выполнять стандартные действия: открывать и сохранять файлы, задавать атрибуты шрифтов, выбирать цвета палитры, производить контекстный поиск и замену и т.п. Все диалоги являются невизуальными компонентами, так что место их размещения на форме не имеет значения. При обращении к этим компонентам вызываются стандартные диалоги, вид которых зависит от версии Windows и настройки системы. Так что при запуске одного и того же приложения на компьютерах с разными системами диалоги будут выглядеть по-разному. Например, при русифицированной версии Windows все их надписи будут русскими, а при англоязычной версии надписи будут на английском языке.

Основной метод, которым производится обращение к любому диалогу, - Execute. Эта функция открывает диалоговое окно и, если пользователь произвел в нем какой-то выбор, то функция возвращает true. При этом в свойствах компонента-диалога запоминается выбор пользователя, который можно прочитать и использовать в дальнейших операциях. Если же пользователь в диалоге нажал кнопку Отмена или клавишу Esc, то функция Execute возвращает false.

Вспомним о том, что наш будущий текстовый редактор должен открывать и сохранять файлы. Для этой цели воспользуемся стандартными диалогами Windows 95, содержащимися в библиотеке comdlg32.dll. Для этого поместим на форму два диалога со страницы Dialogs: TOpenDialog и TSaveDialog. Изменим свойство Filter созданного только что компонента OpenDialog1, внеся две строки в диалоговую панель Filter Editor и нажав кнопку OK (рис. 1).

Теперь можно взять в буфер обмена строку, образовавшуюся в колонке значений напротив свойства Filter, выбрать компонент SaveDialog1 и вставить содержимое буфера обмена в строку напротив свойства Filter. Этим самым мы установим такое же значение свойства Filter для второго диалога. При желании можно изменить заголовки диалоговых панелей (свойство Caption) и другие параметры (свойство Options).

Рис. 1. - Установка свойства Filter компонента OpenDialog1

Разместим на форме компонент StatusBar со страницы Win95. Отредактируем его свойство Panels (это свойство представляет собой набор компонентов-панелей, на которых выводится необходимая пользователю информация). Редактор этого свойства представляет собой диалог (рис. 2). Создадим панель, на которой будет появляться имя редактируемого файла. Для этого нажмем кнопку New и изменим параметр Width созданной панели, сделав его равным 100. В поле Text введем значение "Без имени". Затем нажмем кнопку ОК.

Рис. 2. - Установка свойства Panels компонента StatusBar1

Далее выберем с помощью мыши компонент Panel1 и разместим на нем девять компонентов типа TBitButton. Сделать это проще всего, нажав клавишу Shift и выбрав BitButton со страницы Additional палитры компонентов.

Оснастим наши кнопки рисунками. Для этого присвоим значения свойствам Glyph этих кнопок. С этой целью можно воспользоваться обширным набором картинок, входящих в состав С++ Builder (каталог CBuilder\images\Buttons). Для нашего примера из этого каталога были выбраны файлы Doorshut.bmp, Filenew.bmp, Fileopen.bmp, Fileclose.bmp, Filesave.bmp, Cut.bmp, Copy.bmp, Paste.bmp, Help.bmp (рис. 3).

Рис. 3. - Установка свойства Glyph

Далее, используя описанные выше приемы манипуляции компонентами, разместим кнопки группами, как показано на рис. 4. Присвоим свойству ShowHint этих кнопок значение True, а свойству Hint - значения "Выход", "Создать", "Открыть", "Сохранить", "Сохранить как...", "Вырезать", "Копировать", "Вставить", "О программе". Это приведет к появлению желтых ярлычков с комментариями под кнопками, когда на кнопке находится курсор мыши.

В больших и серьёзных приложениях пользователю предоставляется возможность перестраивать инструментальные панели. Пользователь даже может делать те или иные панели невидимыми и даже убирать ненужные кнопки.

Контейнер инструментальных панелей реализован компонентом ControlBar. На нем размещены 3 инструментальных панели - компоненты ToolBar.

У контейнера ControlBar свойство AutоDrag установлено в true, а у панелей ToolBar свойства DragKind равны dkDock. Сочетание этих свойств позволяет пользователю вынимать из контейнера отдельные панели и переводить их в состояние плавающих окон. Свойство DockSite у ControlBar установлено в true, поскольку, необходимо, чтобы контейнер принимал назад панель, временно вынутую из него. Также в true установлено AutоSize контейнера ControlBar, чтобы он изменять свои размеры при перемещении внутри него панелей ToolBar.

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

В приложении использован компонент ComboBox, который отображает списки строк и позволяет также редактировать данные. ComboBox позволяет отображать список, как в развернутом виде, так и в виде выпадающего списка, что обычно удобнее, так как экономит площадь окна приложения. Основное свойство обоих компонентов, содержащее список строк, - Items, имеющее рассмотренный ранее тип TStrings. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства в окне Инспектора Объектов. Во время выполнения работать с этим свойством можно, пользуясь свойствами и методами класса TStrings - Clear, Add и другими. Стиль изображения этого компонента определяется свойством Style, которое может принимать следующие основные значения: csDropDown, csSimple, csDropDownList. Выбор пользователя или введенный им текст можно определить по значению свойства Text. Если же надо определить индекс выбранного пользователем элемента списка, то можно воспользоваться обсуждавшимся в компоненте ListBox свойством ItemIndex. Все сказанное выше об ItemIndex и о задании его значения по умолчанию справедливо и для компонента ComboBox. Причем для ComboBox задание начального значения ItemIndex еще актуальнее, чем для ListBox. Если начальное значение не задано, то в момент запуска приложения пользователь не увидит в окне компонента одно из возможных значений списка и, вероятнее всего, не очень поймет, что с этим окном надо делать.

Если в окне проводилось редактирование данных, то ItemIndex = -1. По этому признаку можно определить, что редактирование проводилось.

Свойство MaxLength определяет максимальное число символов, которые пользователь может ввести в окно редактирования. Если MaxLength = 0, то число вводимых символов не ограничено. Как и в компоненте ListBox, свойство Sorted позволяет упорядочить список по алфавиту. При Sorted = true новые строки в список добавляются не в конец, а по алфавиту.

Рис. 4. - Вид главной формы приложения

Создание меню. В Delphi имеется два компонента, представляющие меню: MainMenu - главное меню, и PopupMenu - всплывающее меню. Оба компонента расположены на странице Standard. Эти компоненты имеют много общего. Начнем рассмотрение с компонента MainMenu.

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

Обычно на форму помещается один компонент MainMenu. В этом случае его имя автоматически заносится в свойство формы Menu. Но можно поместить на форму и несколько компонентов MainMenu с разными наборами разделов, соответствующими различным режимам работы приложения. В этом случае во время проектирования свойству Menu формы присваивается ссылка на один из этих компонентов. А в процессе выполнения в нужные моменты это свойство можно изменять, меняя соответственно состав главного меню приложения.

Основное свойство компонента - Items. Его заполнение производится с помощью Конструктора Меню, вызываемого двойным щелчком на компоненте MainMenu или нажатием кнопки с многоточием рядом со свойством Items в окне Инспектора Объектов.

Итак, создадим меню для нашего редактора. Для этой цели поместим на главную форму приложения компонент TMainMenu со страницы Standard. Нажав правую клавишу мыши, из контекстного меню выберем пункт Menu Designer. Перемещаясь с помощью стрелок клавиатуры, создадим новые компоненты - пункты меню верхнего и последующего уровней, вводя текстовые строки в колонку значений напротив свойства Caption.

Создадим следующие меню: "&Файл" (с пунктами "Созд&ать", "&Открыть...", "&Сохранить", "Сохранить &как...", '"-","В&ыход"), "&Вид" (с пунктом "&Инструментальная панель"), "&Редактирование" (с пунктами "&Вырезать" "&Копировать", "Вс&тавить") и "&?" с пунктом "&О программе".

Если в свойстве Caption какого-либо пункта меню стоит знак "-", в этом месте появится горизонтальная разделительная линия.

Значок "&" нужен для связывания с пунктом меню так называемых "горячих" клавиш. Если перед какой-либо буквой в названии пункта меню стоит такой значок, то при отображении меню эта буква оказывается подчеркнутой, и нажатие на соответствующую буквенную клавишу при нажатой клавише Alt приведет к активизации соответствующего пункта меню. Разумеется, в одном меню все "горячие" клавиши должны быть разными, хотя C++ Builder этого не проверяет.

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

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

Свойство Break используется в длинных меню, чтобы разбить список разделов на несколько столбцов. Возможные значение Break: mbNone - отсутствие разбиения меню (это значение принято по умолчанию), mbBarBreak и mbBreak - в меню вводится новый столбец разделов, отделенный от предыдущего полосой (mbBarBreak) или пробелами (mbBreak). На рис. 6.3 показан пример, в котором в разделе 1-3 установлено значение Break = mbBreak, а в разделе 1-5 - Break = mbBarBreak.

Еще одним свойством, позволяющим вводить маркеры в разделы меню, является RadioItem. Это свойство, установленное в true, определяет, что данный раздел должен работать в режиме радиокнопки совместно с другими разделами, имеющими то же значение свойства GroupIndex. По умолчанию значение GroupIndex равно 0. Но можно задать его большим нуля и тогда, если имеется несколько разделов с одинаковым значением GroupIndex и с RadioItem = true, то в них могут появляться маркеры флажков, причем только в одном из них (на рис. 6.1, 6.2 свойство RadioItem установлено в true в разделах Шаблон 1 и Шаблон 2, имеющих одинаковое значение GroupIndex). Если вы зададите программно в одном из этих разделов Checked = true, то в остальных разделах Checked автоматически сбросится в false. Впрочем, установка Checked = true лежит на программе; эта установка может выполняться аналогично приведенному выше оператору.

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

Для каждого раздела могут быть установлены во время проектирования или программно во время выполнения свойства Enabled (доступен) и Visible (видимый). Если установить Enabled = false, то раздел будет изображаться серой надписью и не будет реагировать на щелчок пользователя. Если же задать Visible = false, то раздел вообще не будет виден, а остальные разделы сомкнутся, заняв место невидимого. Свойства Enabled и Visible используются для того, чтобы изменять состав доступных пользователю разделов в зависимости от режима работы приложения.

Можно скомпилировать приложение и проверить его работу, проверив, что происходит при нажатии на кнопки. Однако готовым его назвать нельзя хотя бы по той причине, что оно практически не управляется с клавиатуры (а полноценное Windows-приложение обязано быть работоспособным без использования мыши - это не только правило хорошего тона при программировании, но и требование стандарта Microsoft). Дело в том, что компонент TBitBButton не может получить фокус ввода (это его особенность). Поэтому кнопки инструментальных панелей всегда дублируют пункты главного меню приложения.

Теперь в инспекторе объектов выберем страницу событий и свяжем уже созданные функции BitBtn1Click,... BitBtn8Click с соответствующими пунктами меню, выбрав названия функций из выпадающего списка.

Создадим контекстные меню для различных элементов главной формы приложения. Для этого положим на форму два компонента TPopupMenu - один с пунктами "Вырезать", "Копировать", "Вставить", а второй - с пунктом "Скрыть". Выберем подходящие обработчики события OnClick из имеющихся функций для этих пунктов меню. И, наконец, для компонентов RichEdit и Panel1 выберем из выпадающего списка соответствующие имена контекстных меню.

Рис. 5. - Создание меню с помощью Menu Designer

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

Рис. 6. - Так выглядит готовое приложение

Рис. 7. - Готовое приложение - настройки печати

Рис. 8. - Готовое приложение - настройки палитры шрифта

Рис. 9. - Готовое приложение - замена

Рис. 10. - Готовое приложение - форматирование шрифта

Рис. 11. - Готовое приложение - «О программе»

Блок-схема расположения модулей файла

Размещено на http://www.allbest.ru/

30

Рис. 12. - Блок-схема

3. Системные требования и рекомендации к выбору компьютера

Для обеспечения надежной работы с Редактором достаточно любого современного компьютера с подключением к сети Интернет.

Требования к компьютеру:

· Частота процессора, не менее: 1 Ггц;

· Объем ОЗУ, не менее: 512 МБайт;

· Разрешение экрана, не менее: 1024х768, глубина цвета 16 бит.

Требования к программному обеспечению

· Операционная система: Windows, Linux, FreeBSD или Mac OS X;

· Браузер: Internet Explorer 6 или 7, Mozilla Firefox 2 или 3, Opera 9, Safari.

4. Листинг программы

программирование delphi приложение редактор листинг

Создание обработчиков событий.

unit Main;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtDlgs, Menus, ExtActns, StdActns, ActnList, ExtCtrls, StdCtrls,

ToolWin, ComCtrls, Buttons, ImgList;

type

TForm1 = class(TForm)

SaveDialog1: TSaveDialog;

OpenPictureDialog1: TOpenPictureDialog;

SavePictureDialog1: TSavePictureDialog;

FontDialog1: TFontDialog;

ColorDialog1: TColorDialog;

PrintDialog1: TPrintDialog;

PrinterSetupDialog1: TPrinterSetupDialog;

FindDialog1: TFindDialog;

MainMenu1: TMainMenu;

ActionList1: TActionList;

EditCut1: TEditCut;

EditCopy1: TEditCopy;

EditPaste1: TEditPaste;

EditSelectAll1: TEditSelectAll;

EditUndo1: TEditUndo;

EditDelete1: TEditDelete;

FileOpen1: TFileOpen;

FileOpenWith1: TFileOpenWith;

FileSaveAs1: TFileSaveAs;

FilePrintSetup1: TFilePrintSetup;

FilePageSetup1: TFilePageSetup;

FileRun1: TFileRun;

FileExit1: TFileExit;

OpenPicture1: TOpenPicture;

SavePicture1: TSavePicture;

ColorSelect1: TColorSelect;

BrowseURL1: TBrowseURL;

OpenDialog1: TOpenDialog;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N12: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

ReplaceDialog1: TReplaceDialog;

ImageList1: TImageList;

PopupMenu1: TPopupMenu;

ControlBar1: TControlBar;

ToolBar2: TToolBar;

BitBtn7: TBitBtn;

ToolButton8: TToolButton;

BitBtn1: TBitBtn;

ToolButton1: TToolButton;

BitBtn2: TBitBtn;

ToolButton6: TToolButton;

BitBtn3: TBitBtn;

BitBtn8: TBitBtn;

ToolButton2: TToolButton;

ToolBar3: TToolBar;

BitBtn4: TBitBtn;

ToolButton9: TToolButton;

BitBtn5: TBitBtn;

ToolButton3: TToolButton;

BitBtn6: TBitBtn;

ToolButton4: TToolButton;

BitBtn9: TBitBtn;

ToolButton5: TToolButton;

BitBtn10: TBitBtn;

ToolBar4: TToolBar;

ComboBox1: TComboBox;

SpeedButton1: TSpeedButton;

ToolButton7: TToolButton;

SpeedButton4: TSpeedButton;

SpeedButton5: TSpeedButton;

SpeedButton6: TSpeedButton;

ToolButton11: TToolButton;

ToolButton13: TToolButton;

ToolButton14: TToolButton;

SpeedButton7: TSpeedButton;

ToolButton15: TToolButton;

SpeedButton8: TSpeedButton;

StatusBar1: TStatusBar;

ToolButton16: TToolButton;

BitBtn11: TBitBtn;

RichEdit1: TRichEdit;

PopupMenu2: TPopupMenu;

N34: TMenuItem;

N17: TMenuItem;

N18: TMenuItem;

N19: TMenuItem;

ToolButton10: TToolButton;

BitBtn12: TBitBtn;

N20: TMenuItem;

N21: TMenuItem;

N22: TMenuItem;

N23: TMenuItem;

N24: TMenuItem;

N25: TMenuItem;

N26: TMenuItem;

N27: TMenuItem;

ToolButton12: TToolButton;

BitBtn13: TBitBtn;

ToolButton17: TToolButton;

N28: TMenuItem;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

procedure BitBtn11Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

procedure SpeedButton6Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure BitBtn12Click(Sender: TObject);

procedure N27Click(Sender: TObject);

procedure BitBtn9Click(Sender: TObject);

procedure BitBtn10Click(Sender: TObject);

procedure BitBtn13Click(Sender: TObject);

procedure N28Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1; openDialog : TOpenDialog;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

openDialog.Filter := 'Text files only|*.txt';

end;

procedure TForm1.BitBtn7Click(Sender: TObject);

begin

ShowMessage('Создать')

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

ShowMessage('Сохранить как...')

end;

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

ShowMessage(`Печать')

end;

procedure TForm1.BitBtn8Click(Sender: TObject);

begin

ShowMessage('Найти')

end;

procedure TForm1.BitBtn11Click(Sender: TObject);

begin

ShowMessage('Заменить')

end;

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

if FontDialog1.Execute then

with RichEdit1.SelAttributes do

begin

Color:=FontDialog1.Font.Color;

Name:=FontDialog1.Font.Name;

Size:=FontDialog1.Font.Size;

Style:=FontDialog1.Font.Style;

end;

RichEdit1.SetFocus;

end;

procedure TForm1.SpeedButton4Click(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taLeftJustify;

end;

procedure TForm1.SpeedButton5Click(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taCenter;

end;

procedure TForm1.SpeedButton6Click(Sender: TObject);

begin

RichEdit1.Paragraph.Alignment:=taRightJustify

end;

procedure TForm1.ComboBox1Change(Sender: TObject);

begin

RichEdit1.SelAttributes.Name := ComboBox1.Text;

RichEdit1.SetFocus;

end;

procedure TForm1.BitBtn12Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.N27Click(Sender: TObject);

begin

ShowMessage('Справка')

end;

procedure TForm1.BitBtn9Click(Sender: TObject);

begin

ReplaceDialog1.Execute;

end;

procedure TForm1.BitBtn10Click(Sender: TObject);

begin

FindDialog1.Execute;

end;

procedure TForm1.BitBtn13Click(Sender: TObject);

begin

if ColorDialog1.Execute then RichEdit1.Font.Color:=ColorDialog1.Color;

end;

procedure TForm1.N28Click(Sender: TObject);

begin

MessageDlg(' Word Editor'#10#13'© 2010 Выполнила: Полевина Инна '#10#13'Версия Сентябрь 2010',

mtInformation,[mbok],0);

end;

end.

Заключение

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

Текстовые редакторы может обеспечивать выполнение разнообразных функций, а именно:

· редактирование строк текста;

· возможность использования различных шрифтов символов;

· копирование и перенос части текста с одного места на другое или из одного документа в другой;

· контекстный поиск и замена частей текста;

· задание произвольных межстрочных промежутков;

· автоматический перенос слов на новую строку;

· построение оглавлений и предметных указателей;

· распечатка подготовленного текста на принтере в нужном числе экземпляров и т.п.

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

Список использованных источников

1. Сухарев М.В. Основы Delphi. Профессиональный подход. - СПб.: Наука и Техника, 2004. - 600 с.: ил.

2. Кэнту М. Delphi 7: Для профессионалов. - СПб.: Питер, 2004. - 1101 с.: ил.

3. Фленов М.Е. Программирование в Delphi глазами хакера. - СПб.: БХВ-Петербург, 2004. - 368 с.: ил.

4. Тейксейра С., Пачеко К. Delphi 5, Руководство разработчика. в 2 т. - СПб.: Питер, 2005.

5. Стивенс Р. Delphi. Готовые алгоритмы / Пер. с англ. - М.: ДМК Пресс, 2001. - 384.: ил.

6. Borland Delphi 2005. Электронный самоучитель. ООО «ИДДК», 2005.

7. http://www.codenet.ru/progr/bcb/borland_builder/

8. http://www.mydelphi.info/

9. http://www.delphibasics.ru/

Размещено на Allbest.ru


Подобные документы

  • Предмет объектно-ориентированного программирования и особенности его применения в средах Паскаль, Ада, С++ и Delphi. Интегрированная среда разработки Delphi: общее описание и назначение основных команд меню. Процедуры и функции программы Delphi.

    курсовая работа [40,8 K], добавлен 15.07.2009

  • Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.

    курсовая работа [1,2 M], добавлен 04.08.2014

  • Разработка программы по оформлению заказов на билеты Оренбургского государственного областного драматического театра им. Горького. Использование объектно-ориентированного программирования и реализация проекта в среде визуального программирования Delphi 7.

    курсовая работа [6,3 M], добавлен 12.11.2014

  • Особенности создания программы "Файловый менеджер" в среде объектно-ориентированного программирования Delphi. Назначение и основные функции программы, формулировка задачи. Описание программы, использованные компоненты, интерфейс и порядок применения.

    контрольная работа [1,3 M], добавлен 19.06.2012

  • Ознакомление с историей создания и особенностями объектно-ориентированного языка программирования Delphi. Разработка приложения, фиксирующего количество повторений какого-либо слова в тексте, введённом в поле MEMO. Описание интерфейса программы.

    курсовая работа [880,1 K], добавлен 21.04.2015

  • История развития, характеристика, предназначение и особенности языка программирования Delphi. Разработка проекта создания кроссворда на объектно-ориентированном языке Delphi, который состоит из 19 вопросов по горизонтали и 16 вопросов по вертикали.

    курсовая работа [970,5 K], добавлен 15.05.2014

  • Основные типы модулей, использующиеся в среде программирования Delphi 6. Концепция объектно-ориентированного программирования. Разработка эскизного и технического проектов программы. Алгоритм выполнения операций сложения, вычитания и умножения матриц.

    курсовая работа [559,1 K], добавлен 03.01.2011

  • Анализ исходных данных. Определение структуры модуля для работы файлом. Разработка объектно-ориентированного приложения, использующего массив объектов, в среде Delphi. Модульная структура программного комплекса. Процедура сортировки методом вставки.

    курсовая работа [2,2 M], добавлен 20.09.2014

  • Borland Delphi 7 как универсальный инструмент разработки, применяемый во многих областях программирования, функции: добавление информации об абитуриентах в базу данных, формирование отчетов. Рассмотрение и характеристика основных компонентов Delphi.

    контрольная работа [3,6 M], добавлен 18.10.2012

  • Общая характеристика интерфейса языка программирования Delphi. Рассмотрение окна редактора кода, конструктора формы, инспектора объектов и расширения файлов. Ознакомление с основными этапами создания и сохранения простого приложения; проверка его работы.

    презентация [184,3 K], добавлен 18.03.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.