Демонстрационное многопоточное приложение с динамическим изменением свойств окна и компонент - Программирование, компьютеры и кибернетика курсовая работа

Демонстрационное многопоточное приложение с динамическим изменением свойств окна и компонент - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Демонстрационное многопоточное приложение с динамическим изменением свойств окна и компонент

Разработка и реализация демонстрационного многопоточного приложения. Выбор основных средств реализации. Описание логики работы приложения и разработка программного обеспечения. Описание пользовательского интерфейса. Реализация потоков в Delphi.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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

2. Разработка демонстрационного многопоточного приложения
2.3 Описание логики работы приложения и разработка программного обеспечения
2.4 Описание пользовательского интерфейса
Информатика - это область человеческой деятельности, связанная с процессами преобразования информации с помощью компьютеров и их взаимодействием со средой применения. Информатика появилась благодаря развитию компьютерной техники и немыслима без нее.
Одним из важнейших разделов информатики является программирование. Язык программирования - это формальный, искусственно созданный язык для написания и реализации алгоритма на компьютере.
Среди главных причин, принесших заслуженную популярность объектно-ориентированного программирования, следует отметить следующие:
· почти полное разрешение проблемы кризиса в программном обеспечении, за счет уменьшения времени на разработку программного продукта и высокой технологии программирования;
· переход от существующих языков программирования к новым, прогрессивным информационным технологиям и сходство идей объектно-ориентированного программирования с идеями из других областей науки.
Методы ООП для решения технических задач нередко используются в повседневной жизни, поэтому, обучение языкам объектно-ориентированного программирования не вызывает особых трудностей.
Преимущество ООП в наглядном представлении программы с помощью объектов (кнопок, строк для ввода информации и др.). Каждый объект принадлежит определенному классу. Например, кнопка (Button1) принадлежит классу кнопок TButton. В класс входит сколь угодно много объектов, объединенных в одну группу согласно их свойствам и поведению в среде окружения, в которой они существуют и взаимодействуют.
Появление Delphi не могло пройти незамеченным среди многочисленных пользователей компьютера. Оценки экспертов, изучающих возможности этого нового продукта фирмы Borland, обычно окрашены в восторженные тона. Основное достоинство Delphi состоит в том, что здесь реализованы идеи визуального программирования. Среда визуального программирования превращает процесс создания программы в приятное и легко понимаемое конструирование приложения из большого набора графических и структурных примитивов.
В данном курсовом проекте к рассмотрению предоставлены следующие вопросы:
Практической частью курсового проекта является разработка демонстрационного многопоточного приложения с динамическим изменением свойств окна и компонент.
Работая с Delphi, нужно иметь в виду: этот замечательный продукт не только упрощает разработку сложных приложений, он использует при этом все возможности операционной системы. Одна из возможностей, которую поддерживает Delphi, -- это так называемые потоки (threads) или нити.
Потоки позволяют в рамках одной программы решать несколько задач одновременно. С недавних пор операционные системы для персональных компьютеров сделали это возможным.
Операционная система (ОС) предоставляет приложению некоторый интервал времени центрального процессора (ЦП) и в момент, когда приложение переходит к ожиданию сообщений или освобождает процессор, операционная система передает управление другой задаче. Теперь, когда компьютеры с более чем одним процессором резко упали в цене, а операционная система Windows NT может использовать наличие нескольких процессоров, пользователи действительно могут запускать одновременно более одной задачи. Планируя время центрального процессора, Windows 95 или Windows NT распределяют его между потоками, а не между приложениями. Чтобы использовать все преимущества, обеспечиваемые несколькими процессорами в современных операционных системах, программист должен знать, как создавать потоки.
Потоки -- это объекты, получающие время процессора. Время процессора выделяется квантами. Квант времени -- это интервал, имеющийся в распоряжении потока до тех пор. пока время не будет передано в распоряжение другого потока.
Delphi представляет программисту полный доступ к возможностям программирования интерфейса Win32.
Класс TThread -- прекрасный пример предоставления разработчику простого доступа к программированию потоков.
Зачем же нужен класс Thread и его потомки? Во-первых, этот объект позволяет создавать как бы несколько программ в одной (несколько процессов, или, потоков). Во-вторых, эти процессы могут выполняться как по очереди, так и одновременно (как запрограммирует разработчик). В-третьих, из этих процессов можно легко получить доступ ко всем глобальным данным программы, т.к. класс процесса является, по сути, просто частью программы - обычным юнитом (unit). В-четвертых, можно создать своих собственных потомков TThread и запустить сразу несколько экземпляров одного и того же созданного класса. В-пятых, каждым процессом очень легко управлять - запускать, завершать, приостанавливать, прерывать, устанавливать приоритетность, и т.д.
Сам API потоков не очень сложен, но предоставленные классом TThread возможности вообще замечательно просты. Все, что необходимо сделать, -- это перекрыть виртуальный метод Execute.
Другая отличительная черта класса TThread -- это гарантия безопасной работы с библиотекой визуальных компонентов VCL. Без использования класса TThread во время вызовов VCL могут возникнуть ситуации, требующие специальной синхронизации.
С точки зрения операционной системы поток -- это ее объект. При создании он получает дескриптор и отслеживается ОС. Объект класса TThread -- это конструкция Delphi, соответствующая потоку ОС. Этот объект VCL создается до реального возникновения потока в системе и уничтожается после его исчезновения.
2. Разработка демонстрационного многопоточного приложения
Разработка демонстрационного многопоточного приложения с динамическим изменением свойств окна и компонент.
Основные требования: Наличие кнопок «Запуск потока», «Остановка потока», «Завершение потока» по нажатию на которые соответственно начинается, останавливается и завершается демонстрация работы потока. Запуск потока после его остановки должен выполняться с состояния, в котором поток был остановлен. После остановки потока обеспечить возможность сохранения данных в файле и загрузки их при следующем запуске программы.
1. Для реализации многопоточного приложения использовать компонент TThread.
Для выполнения проекта был выбран язык программирования Delphi, так как он сочетает в себе простоту выполнения задачи, построения пользовательского интерфейса, а также обладает мощным набором функций, экономящим время на разработку программного обеспечения.
Так же в проекте используется TThread-абстрактный класс для реализации потоков.
Свойства и методы класса TThread, используемые в данном проекте представлены в таблицах 1 и 2.
Определяет, будет ли объект потока уничтожен автоматически при завершении потока. Если свойство равно True, то поток будет уничтожен автоматически при завершении, если свойство равно False, то поток должен уничтожаться явно в коде приложения.
Содержит дескриптор потока. Используется для управления потоком с помощью функций Windows API.
property Priority: TThreadPriority;
Определяет приоритет потока относительно других потоков в процессе.
Определяет значение, возвращаемое потоком при его завершении.
Показывает, является ли поток приостановленным. Если установить свойство в True, то поток будет приостановлен, если установить свойство в False выполнение потока будет продолжено.
Показывает, был ли произведен вызов метода Terminate.
constructor Create(CreateSuspended: Boolean);
Создает объект потока. Если параметр CreateSuspended равен False, то метод Execute будет вызван сразу. Если параметр CreateSuspended равен True, то метод Execute будет вызван только после вызова метода Resume.
Уничтожает объект потока и освобождает память, выделенную для него.
procedure Execute; virtual; abstract;
Абстрактный метод, содержащий код, который будет выполняться при запуске потока.
Возобновляет выполнение приостановленного потока.
Приостанавливает выполнение потока.
procedure Synchronize(Method: TThreadMethod);
Выполняет метод, вызванный в рамках главного VCL потока.
Дает потоку сигнал на завершение, устанавливая свойство Terminated в значение True.
Ожидает завершение потока и возвращает значение, определяемое свойством ReturnValue.
2.3 Описание логики работы приложения и разработка программного обеспечения
демонстрационный многопоточный приложение delphi
В разрабатываемом приложении реализуется демонстрация работы многопоточного приложения на примере последовательного возрастания чисел от 1 до 20.
Пользователь имеет возможность запуска потока, приостановки и возобновления потока, а также остановки запущенного потока с сохранением текущего состояния в файл и последующей загрузки и продолжения потока с сохраненного состояния.
В отдельном потоке происходит изменение чисел, путем последовательного возрастания от 1 до 20.
В файл сохраняется значение переменных потока в момент его остановки и сохранения. И извлекаются из него при загрузке сохраненного потока.
В соответствии с необходимыми требованиями для реализации многопоточного приложения был использован компонент TThread.
Приложение состоит из 3-х модулей (unit). Два из которых содержат формы и один(модуль) - поток TMyThread.
Листинг программы приведен в приложении А.
При разработке программного обеспечения были использованы следующие команды и действия:
· Создали поток класса TThread : TMyThread = class(TThread).
· Описали класс TThread: procedure TMyThread.Execute.
· Создали на форме поле Мemo, в котором будет отображаться поток.
· Для реализации запуска, приостановления и возобновления потока, а также остановки, сохранения и загрузки сохраненного потока реализовано следующее меню, состоящее из 5 основных кнопок:
- «Пауза» - «Продолжить» - приостанавливает и возобновляет поток;
- «Остановка» - останавливает и сохраняет поток;
- «Загрузка» - загружает сохраненный поток.
Для того, чтобы пользователь не нажал кнопку в момент, когда она не может выполнить свое действие, кнопки делаются активными лишь когда их действие может быть выполнено без ошибок.
· Добавили модуль SyncObjs, в котором находятся классы для реализации синхронизации.
· Использовали класс Tcriticalsection. Этот класс позволяет нам выполнять только один поток. При использовании нескольких потоков он дает возможность завершиться первому потоку, после чего будет начат второй поток.
· Для того, чтобы сохранить данные с поля Мemo мы использовали строку Memo1.Lines.SaveToFile(ExtractFilePath(Application.ExeName) + Save.txt'); где ExtractFilePath(Application.ExeName) - это путь к нашему проекту.
· Для удобства также были созданы еще 2 формы, в одной форме идет запрос на сохранение, а в другой - подробная информация о программе.
2.4 Описание пользовательского интерфейса
В интерфейсе проекта используются компоненты Delphi: Button, Memo, Label, SpinEdit.
Label - предназначен для отображения статического текста, то есть надписей и меток на Форме, которые не меняются в течение всего времени работы программы.
Memo - используется для ввода больших объёмов текста.
Button - используется для реализации в программе команд с помощью обработчика события OnClick этого компонента.
SpinEdit - представляет собой сочетание Edit и UpDown, оформленное как отдельный тип компонента.
При запуске проекта мы попадаем на следующую форму:
Далее при нажатии на кнопку «Запуск» происходит запуск потока путем последовательного возрастания чисел от 1 до 20.
Запущенный поток можно приостановить, нажав на кнопку «Пауза», после чего кнопка «Пауза» меняется на кнопку «Продолжить», при нажатии на которую поток возобновляется.
Запущенный поток можно остановить и сохранить, нажав на кнопку «Остановка», после чего появляется окно о сохранении потока. При нажатии на кнопку «Да» поток сохраняется. Можно отказаться от сохранения потока, нажав на кнопку «Нет». Впоследствии остановленный поток возможно сохранить при нажатии на кнопку «Сохранить».
Рис.5. Остановка и сохранение потока.
Сохраненный поток возможно загрузить с состояния, с которого он был остановлен, и продолжить, нажав на кнопки «Загрузить» и «Запуск».
Рис.6. Загрузка сохраненного потока.
Рис.7. Продолжение потока с сохраненного состояния.
Так же в проекте есть дополнительная форма для вывода информация о проекте.
В процессе выполнения курсового проекта усвоили некоторые возможности Delphi.
Целью курсовой работы было изучение языка программирования DELPHI и разработка практических заданий.
При выполнении курсовой работы была изучена теория и технология работы со средой программирования Borland Delphi7 и TThread-абстрактный класс для реализации потоков.
В ходе курсовой работы было разработано приложение, позволяющее визуально увидеть принцип работы многопоточного приложения. Также была подробно рассмотрена реализация приложения.
1. Архангельский А.Я. Программирование в Delphi: Учебник по классическим версиям Delphi. - М.: Бином, 2006.
2. Дмитрий Осипов. Delphi.Профессиональное програмирование.-2006
3. Фаронов В.В. Delphi. Программирование на языке высокого уровня: Учебник для вузов -- Спб.: Лидер, 2010.
4. Справочник Основы Delphi URL -- http://delphibasics.ru/
5. Множество форумов, посвященных программированию на Delphi.
6. Свободная интернет-энциклопедия Wikipedia. URL - http://ru.wikipedia.org/
Разработка справочной системы по визуальным компонентам языка программирования Delphi. Возможность сохранения измененных свойств компонент в файле с возможностью их загрузки в будущем. Логика работы приложения и разработка программного обеспечения. курсовая работа [602,4 K], добавлен 22.01.2015
Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных. дипломная работа [1,4 M], добавлен 03.06.2014
Разработка программы создания заметок в любом месте компьютера. Выбор технологии, языка и среды разработки приложения. Описание основных алгоритмов работы программного обеспечения. Проектирование пользовательского интерфейса. Выбор стратегии тестирования. отчет по практике [700,5 K], добавлен 24.11.2014
Разработка программного продукта - приложения, позволяющего заносить данные анкетирования в базу данных MS SQL. Описание логики работы приложения, особенности пользовательского интерфейса. Формы просмотра анкет, описание процедур и функций программы. курсовая работа [1,2 M], добавлен 16.08.2012
Разработка программного продукта для экспорта спецификации из приложения PartList. Выбор метода передачи информации в файл, формата для представления. Разработка конвертера, реализация пользовательского интерфейса. Обоснование актуальности разработки. дипломная работа [2,6 M], добавлен 25.09.2014
Обзор подходов к разработке музейных приложений с элементами дополненной реальности, формирование требований к ним. Выбор методов разработки приложения, разработка пользовательского интерфейса. Принципы тестирования. Реализация раздела "Распознавание". дипломная работа [2,8 M], добавлен 03.07.2017
Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы. курсовая работа [81,7 K], добавлен 18.08.2014
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Демонстрационное многопоточное приложение с динамическим изменением свойств окна и компонент курсовая работа. Программирование, компьютеры и кибернетика.
Проблема детско-родительских отношений в неполных семьях
Отчет По Практике Кредитный
Астраханский Морской Порт Официальный Сайт Дипломный Отдел
Реферат На Тему Волейбол Основные Плавила Игры
Реферат На Тему Тесто
Современные Гигрометры Реферат
Контрольная Работа По Математике 5 Класс Переводная
Реферат На Тему Государственный Бюджет, Бюджетная Система
Курсовая работа по теме Аудит кассовых операций банка
Реферат по теме Обзор методов определения форм и частот колебаний узлов и деталей
Заказать Эссе Онлайн
Реферат На Тему Педагогика Свободного Воспитания
Реферат: Николай II: человек и государственный деятель
Реферат: Мазепа герой или предатель
Развитие Медицины В 19 Веке Реферат
Курсовая работа по теме Специфика СМИ как канала распространения рекламной информации
Реферат: Должностной регламент в органах государственной службы
Лабораторная Работа Измерение Показателя Преломления Стекла
Реферат: Процедура заключения международных договоров
Доклад по теме Общее понятие о темпераменте и его типах
Гетманщина второй половины XVII - конца XVIII века - История и исторические личности контрольная работа
Иные преступления в сфере безопасности движения и эксплуатации транспорта - Государство и право курсовая работа
Основы цветотерапии - Медицина презентация


Report Page