BigEdu.ru
» » » Разработка многопоточных Windows-приложений в среде Borland C Builder
Вернуться назад

Разработка многопоточных Windows-приложений в среде Borland C Builder

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра АСУ

Отчёт

к индивидуальному домашнему заданию

по ТП

на тему:

«Разработка многопоточных W indows-приложений

в среде Borland C ++ Builder »

Вариант №7

Выполнил студент группы ИУС-04б

Ващилко Валентин

Проверили Землянская С.Ю.

Петров А.В.

Донецк 2007

Цель работы: Изучение способов создания и управления потоками в программах, разрабатываемых в среде BorlandC++ Builder. Изучение и использование методов взаимодействия потоков и визуальных компонентов библиотеки VCL.

Методические указания:

С использованием среды визуального программирования BorlandC++ Builder разработать и отладить многопоточное приложение, в котором необходимо предусмотреть следующее:

а) создать 3 вторичных объекта-потока, производных от класса TThread (1-й поток должен быть в запущенном состоянии, 2-й и 3-й – в приостановленном состоянии). В каждом из потоков описать функции вывода информации на соответствующие формы. Вызов этих функций будет производиться из метода Execute() соответствующего потока в бесконечном цикле, с помощью функции Synchronize() с периодичностью (задержкой) 0,1 сек;

б) разработать 3 формы (главную форму приложения и 2 формы) для взаимодействия с указанными потоками;

в) главная форма приложения должна быть размещена в центре экрана и состоять из 4-х частей: в верхней части должна быть надпись с информацией о данной работе (дисциплина, № работы, группа, ФИО студента), ниже постоянно выводится динамически изменяющаяся текстовая (числовая) информация или графическая фигура, выполняемые в 1-м вторичном потоке. В нижней половине формы должны располагаться 2 панели для управления 2-м и 3-м созданными потоками. Внизу формы помещается кнопка "Выход".

г) на каждой панели вверху помещается название потока, а ниже размещаются компоненты для отображения состояния и управления соответствующим потоком. Информация о потоке (запущен, приостановлен, завершен) выводится с помощью компонентов Label. Управление потоком производится с помощью кнопок с названиями "Запустить", "Приостановить", "Завершить". Изменение приоритета потока может производиться с помощью компонентов типа ComboBox, ListBox, RadioGroup по выбору студента.

д) при запуске приложения должна появиться главная форма, в верхней половине которой должны отображаться действия, выполняемые 1-м вторичным потоком согласно варианту задания. Два других потока должны находиться в приостановленном состоянии, о чем должны говорить надписи на панелях. При нажатии на любой панели кнопки "Запустить" должна появиться форма, на которой будет выводится динамически изменяющаяся текстовая (числовая) информация или графическая фигура, выполняемые в соответствующем потоке. При нажатии кнопки "Приостановить" работа соответствующего потока временно прекращается. При нажатии кнопки "Завершить" соответствующая форма закрывается, действие потока останавливается (без уничтожения объекта, для возможности повторного запуска потока).

Вар-та

Действия, выполняемые в потоках и отображаемые на формах
Поток 1 Поток 2 Поток 3
7 Компонент ScrollBar на форме циклически показывает плавное движение ползунка. Последовательность цифр, выведенная с помощью компонента Label циклически сдвигается справо-налево, образуя "бегущие числа". Графическая фигура одного вида (компонент Shape) на форме изменяет свои размеры от min до max, а потом наоборот.

Unit1.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "T2.h"

#include "T1.h"

#include "T3.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

T1 *Thread1=newT1(false); // Поток 1 создан и запущен

T2 *Thread2=newT2(true); // Поток 2 создан и не запущен

T3 *Thread3=newT3(true); // Поток 3 создан и не запущен

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Label9->Caption="Запущен";

Form2->Show();

Thread2->Resume();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Lab

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Рефераты по информатике и программированию МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра АСУ Отчёт к индивидуальному домашнему заданию по
Оценок: 1002 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru