Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

EvSpecial ();





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

}

};

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

 

class Avtos2 // Класс потоковых объектов

{

 

Public: void HandlerEvSpecial () // Обработчик события ev

{

System::Console::WriteLine (" HandlerEv");

}

 

Avtos () // Конструктор

{

Avto ^a = gcnew Avto(1, 50, 50)

a->evSpecial+= gcnew delEv(this, &Avtos::HandlerEvSpecial);// Добавить

}

};

...

static void main()

{

Avto ^a = gcnew Avto(1, 50, 50);

}

}

 

Пример 5.3.2.3. Реализация второго этапа разработки Avtos–приложения на языке Java.

//C# File Avtos2

import java.util.*;

public class Avto extends Observable implements Runnable // Класс объектов

{

 

 

public Ball (int N, int X. int Y)

{

 

public void report()

{

SetChanged();

NotifyObservers();

}

 

report();

...

}

 

public class Autos implements Observer

{

Avto a = new Avto(1, 50, 50);

A.addObserver(this);

 

 

public void update (Observable r, Object ob) // Обработчик события ev

{

Repaint();

}

...

 

}

 

Этап 3. Разработка прикладного и дочернего окон,

Кнопки добавления шаров.

Наступил этап разработки, когда появится прикладное окно приложения с перемещающимися шарами. А также прикладное окно с кнопкой добавления машин.

Наследовав класс Form или Frame, класс Avtos существенно расширит свою функциональность. Теперь можно создать прикладное окно (основную форму) и дочернее окно (дочернюю форму). Реализация этого этапа представлены в примерах 5.3.3.1 и 5.3.3.2 и 5.3.3.3.

 

Пример 5.3.3.1. Реализация третьего этапа разработки Avtos–приложения на языке С#.

using System;

Using System.Drawing;

Using System.Windows.Forms;

using System.Threading;

using System.Collections;

 

public delegate void delEv();

 

 

public class Avto

{

public int num; //номер объекта

public event delEv evSpecial;

public int x, y;//координаты машины

public double fi = 0.1;

public int dx1, dy1, dx2, dy2;//приращения машин

public int speed;//скорость машины

Thread thread;

public bool dvig = true;

public bool life;//признак жизни потока

public bool run = true;

 

 

public int N { get { return num; } }//номер машины

public int X { get { return x; } set { x = value; } }//координата X

public int Y { get { return y; } set { y = value; } }//координата Y

 

 

public Avto(int N, int X, int Y, int Speed)

{

num = N;

x = X; y = Y;

speed = Speed;

life = true;

//создать и запустить поток

thread = new Thread(new ThreadStart(AvtoFunc));

thread.Start();

 

 

}

 

public void Finish()//завершить поток

{

//Resume();

life = false;

}

 

void AvtoFunc()

{

 

 

while (life)

{

 

if (run)

{

Thread.Sleep(speed);

If (dvig)

{

//уравнение движения по окр-ти

dx1 = (int)(19 * Math.Sin(fi));

dy1 = (int)(19 * Math.Cos(fi));

x += dx1;

y += dy1;

 

 

}

Else

{

dx2 = (int)(28 * Math.Sin(fi));

dy2 = (int)(28 * Math.Cos(fi));

y -= dx2;

x -= dy2;

 

 

}

 

fi += 0.1;

 

}

 

evSpecial();

 

}

}

 

public void Suspend()//приостановить поток

{

if (run)

{

run = false;

 

}

}

 

public void Resume()//возобновить поток

{

if (!run)

{

run = true;

 

}

}

 

}

class Avtos: Form

{

ArrayList al; //ссылка на список машин

private int num = 0;//номер объекта машины

private Form f;// ссылка на дочернее окно управления

private Button add;// ссылки на кнопки

public bool run = true;//признак движения машин

public Avtos()//конструктор

{

al = new ArrayList();

run = true;//машины двигаются

Size = new Size(770, 770);//установить размер прикладного окна

Text = "Шоссе";//установить заголовок прикладного окна

f = new Form();//создать объект дочернего окна

f.Text = "Control";//установить заголовок дочернего окна

f.Size = new Size(300, 150);//установить размеры дочернего окна

f.Show();//показать дочернее окно

add = new Button();//создать кнопку добавления машин

add.Text = "Add";//именовать кнопку

add.Size = new Size(45, 30);//размеры кнопки

add.Location = new Point(5, 50);//поместить кнопку в окне

add.Click += new EventHandler(ADD);//подписать обработчик

f.Controls.Add(add);//поместить объект add в контейнер окна

}

//создать автомобиль







Дата добавления: 2015-06-15; просмотров: 538. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


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


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия