Разработка Windows-приложения «Склонение числительных» средствами Borland Delphi

Автор работы: Пользователь скрыл имя, 18 Июня 2013 в 22:26, курсовая работа

Описание работы

Целью данной курсовой работы является разработка Windows-приложения для склонения натуральных чисел не превосходящих 100000. Для разработки требуемого приложения будет использоваться Borland Delphi.

Файлы: 1 файл

КУРСОВИК ТЕОРИЯ испр..doc

— 2.53 Мб (Скачать файл)

Если заранее известно, что длина  строки будет меньше 255 символов, то программист может сам задать максимальную длину строки.

Примеры описания строк:

type

str_type = string[12];

const

n = 50;

var

s1: string; - - присваиваем переменной s1 стандартный строковый тип данных;

s2, s3: str_type; - присваиваем переменным s2 и s3 объявленный нами строковый тип данных ограниченной длины 12;

s4: string[n]; - присваиваем переменной s4 стандартный строковый тип данных длиной, равной объявленной нами константы n, то есть 50;

s5, s6, s7: string[7]; - присваиваем переменным s5, s6 и s7 стандартный строковый тип данных длиной 7;

Длина строки хранится в  первом ее байте, индекс которого равен 0. 
Объявление типизированной константы для типа string осуществляется так:

const

s: string = 'FreePascal'

Существует понятие  пустой строки, т.е. строки, которая  не имеет элементов. Пустая строка обозначается двумя рядом стоящими апострофами (например, st := '').

Основные операции над строками в Pascal.

Строки можно присваивать  друг другу. Если максимальная длина  переменной слева меньше длины присваиваемой  строки, то лишние символы справа отбрасываются.

s1 := 'this is text';

s2 := s1;

Строки можно объединять с помощью операции конкатенации, которая обозначается знаком +.

s1 := 'John';

s2 := 'Black';

s1 := s1 + ' ' + s2;

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

'abc' > 'ab' (true)

'abc' = 'abc' (true)

'abc' < 'abc ' (false)

Имя строки может использоваться в процедурах ввода-вывода. При вводе в строку считывается из входного потока количество символов, равное длине строки или меньшее, если символ перевода строки (который вводится нажатием клавиши Enter) встретится раньше. При выводе под строку отводится количество позиций, равное ее фактической длине. Пример:

readln (s1);

write (s1);

Основные процедуры и функции  для работы со строками в Object Pascal

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

Функция Concat (s1, s2, ..., sn) возвращает строку, являющуюся слиянием строк s1, s2, ..., sn.

Функция Copy (s, start, len) возвращает подстроку длиной len, начинающуюся с позиции start строки s.

Процедура Delete (s, start, len) удаляет из строки s, начиная с позиции start, подстроку длиной len.

Процедура Insert (subs, s, start) вставляет в строку s подстроку subs, начиная с позиции start.

Функция Length (s) возвращает фактическую длину строки s, результат имеет тип byte.

Функция Pos (subs, s) ищет вхождение подстроки subs в строку s и возвращает номер первого символа subs в s или нуль, если subs не содержится в s.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Событийно-ориентированное программирование

С активным распространением системы Windows широкую популярность приобрел событийный подход к созданию программ — событийно-ориентированное программирование.

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

Структура программы, созданной  с помощью событийного программирования, следующая. Главная часть представляет собой один бесконечный цикл, который  опрашивает Windows, следя за тем, не появилось  ли новое сообщение. При его обнаружении вызывается подпрограмма, ответственная за обработку соответствующего события (обрабатываются не все события, их сотни, а только нужные), и подобный цикл опроса продолжается, пока не будет получено сообщение «Завершить работу»,

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

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

Объектно-ориентированное программирование. Понятие объекта

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

В начале 80-х годов  в программировании возникло новое  направление, основанное на понятии  объекта. До того времени основные ограничения  на возможность создания больших  систем накладывала разобщенность  в программе данных и методов их обработки.

Реальные объекты окружающего  мира обладают тремя базовыми характеристиками: они имеют набор свойств, способны разными методами изменять эти свойства и реагировать на события, возникающие  как в окружающем мире, так и  внутри самого объекта. Именно в таком виде в языках программирования и реализовано понятие объекта как совокупности свойств, методов их обработки (подпрограмм изменения свойств) и событий, на которые данный объект может реагировать и которые приводят, к изменению свойств объекта.

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

Класс — это тип данных, такой  же, как любой другой базовый или  сложный тип. На его основе можно  описывать конкретные объекты (экземпляры классов).

Объектно-ориентированное  программирование базируется на трех ключевых концепциях — инкапсуляции, наследовании и полиморфизме.

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

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

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

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

 

 

Глава 4. Описание использованных в приложении компонентов Delphi

В разработанном мной Windows-приложении на языке Delphi были использованы следующие компоненты:

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

Опции главного меню создаются  с помощью редактора вызываемое двойным щелчком по компоненту MainMenu или нажатием кнопки  рядом со свойством Items в окне Oject Inspectror.  Первоначально меню не заполнено, но имеет один выделенный элемент для создания опции. Для её создания нужно перейти в Oject Inspectror и найти там свойство Caption, которому необходимо присвоить нужное значение. В Windows, как правило, опции меню имеют возможность выбора с помощью сочетания клавиш ALT и <Key>, где Key — первая буква названия нужной опции, для её вызова с помощью сочетания клавиш первая буква опции должна быть подчеркнута. Для создания этого подчеркивания перед названием опции ставится символ &.

 


 

 

 

 

 

 

 

 

 

 

 

Основные свойства и  события MainMenu:

Caption - название элемента  меню;

BitMap - картинка которая  отображается слева от названия  меню;

OnClick – действия при  клике мышкой по пункту меню (рисунок внизу).

 

 

 

 

 


 

 

 

 

 

 

 

 

 

SaveDialog – не визуальный компонент Delphi, позволяющий сохранять данные в файл. (Выделенный элемент на рисунке внизу).


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основные свойства и  события SaveDialog:

FileName – здесь указывается, как будет называться сохраняемый файл по умолчанию;

Filter – указывается, какие расширения файла будут видны при сохранении.

Memo – компонент является окном редактирования многострочного текста, который можно загружать из файла, либо сохранять введенную информацию в файл текстового формата (memo1.Lines.LoadFromFile(‘c:/file.txt’);). (Выделенный элемент на рисунке внизу). В Memo формат текста (шрифт, выравнивание, цвет и т.д.) одинаков для всего текста и определен он в свойстве Font.

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основные свойства и  события Memo:

Text -  текст, находящийся в поле Memo;

Lines - массив строк, доступ к которым осуществляется по номеру. (Нумерация начинается с нуля);

Font - шрифт, применяемый для отображения выводимого текста.

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

 


 

 

 

 

 

 

Основные свойства и  события Label:

Color - определяет фон компонента;

Font - определяет свойство текста;

Visible - yes(показать), false(скрыть);

Caption - надпись отображаемого текста;

Alignment - определяет способ выравнивания текста.

Edit - компонент Delphi, который предназначен для ввода пользовательских данных и представляет собой однострочное поле. (Выделенный компонент на рисунке внизу). Основным свойством Edit является text типа данных string, т.е. для ввода чисел нужно использовать функции FloatToStr (дробные числа) и IntToStr (целые числа). Перенос строк в этом компоненте невозможен. Текст, не поместившийся по длине в компонент, просто сдвигается влево, и пользователь может курсором перемещаться по этому тексту.


 

 

 

 

 

Основные свойства и  события Edit:

Text - cодержит отображаемую компонентом строку;

MaxLegth - максимальная длина  текста, если значение равно 0, то можно вводить неограниченное  количество символов;

Font – свойство, позволяющее устанавливать шрифт текста, размер и его цвет;

ReadOnly - если значение  этого свойство равно True, то текст в поле ввода пользователь изменить не сможет.

Button - это стандартная кнопка, которая имеет на поверхности надпись (описывающая её назначение при нажатии). (На рисунке снизу выделенный компонент).

 


 

 

 

 

 

Основные свойства и  события Button:

Caption - задает название кнопки;

Hint - подсказка - текст,  который будет появляется рядом  с курсором мыши при наведении  указателя на кнопку(для того  что бы текст отображался, свойство ShowHint должно быть <true>);

ShowHint - разрешает или  запрещает отображение подсказки при наведении указателя на кнопку;

Информация о работе Разработка Windows-приложения «Склонение числительных» средствами Borland Delphi