Тема: JS класс Menu
Показать сообщение отдельно
  #1 (permalink)  
Старый 19.04.2012, 12:01
Новичок на форуме
Отправить личное сообщение для andreyandreevuch Посмотреть профиль Найти все сообщения от andreyandreevuch
 
Регистрация: 19.04.2012
Сообщений: 2

JS класс Menu
Добрый день! Привет всем! Помогите пожалуйста кто нибуть...

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

Алгоритм действий должен быть следующим:

При старте программы запускается конструктор создания меню, которое содержит меню минимум из двух пунктов: add new menu item (добавить новый пункт меню) и show menu (показать меню).
При выборе пункта "add new menu item" пользователя просят указать название нового пункта пользовательского меню и установить действие, которое оно будет осуществлять (можно указать список доступных действий, например, открыть файл, запустить программу, вывести определенную информацию и т.д.).
При выборе пункта "show menu" на экран выводится вновь пользовательское меню, с которым можно полнофункционально работать. При этом, если необходимо, можно указать дополнительный пункт для выхода в конструктор.
Если работа пользователя завершена, он выходит из программы.
var menu = new Array();
menu[1] = "add new menu item";
menu[2] = "show menu ";

function GetErrorMessage(ErrorCode) {
    return menu[ErrorCode];
}

var cin = WScript.stdIn;

do {

WScript.echo("\nEnter punkt menu: ");
var s = cin.readLine();
    for(var j=1; j<menu.length; j++)
    {
	if (s == j)
    WScript.echo("Menu[" + j + "]:" +menu[j] );
    }

if (s == 1)
{
WScript.echo("Enter k-st punktiv menu: ");
var count = cin.readLine();
for(var i=1; i<count; i++)
{
WScript.echo("Menu[" + i + "]:" +menu[i] );
}
}

} while (s!=0);


function Menu(menu)
{
	this.menu = menu || "Vasja";
	this.Hello = Hello;
	this.PrintMenu = function() { WScript.echo("menu: " + this.menu) };


	function SetInfo()
	{

do {

WScript.echo("\nEnter punkt menu: ");
var s = cin.readLine();
    for(var j=1; j<menu.length; j++)
    {
	if (s == j)
    WScript.echo("Menu[" + j + "]:" +menu[j] );
    }

if (s == 1)
{
WScript.echo("Enter k-st punktiv menu: ");
var count = cin.readLine();
for(var i=1; i<count; i++)
{
WScript.echo("Menu[" + i + "]:" +menu[i] );
}
}

	} while (s!=0);
	this.SetInfo = SetInfo;
}
}
function Hello(toMenu)
{
	if(toMenu == null || toMenu  == undefined)
		toMenu  = 'everybody';
	var greeting = this.menu + " says hello to " + toMenu ;
	WScript.echo(greeting);
}

var m1 = new Menu();
m1.Hello();
m1.SetInfo();
m1.PrintMenu();


//Створення обєкта, як екземпляр класа Object
var base = new Object();
base.NewProperties = "BaseClass";
base.Hello = "Hello";

WScript.echo("\n:: Object properties ::");
for(prop in base)
	WScript.echo(prop + " = " + base[prop]);

WScript.echo("\n:: CONSTRUCTOR ::");
var number = new Number(2);
WScript.echo("Constructor Number: " + number.constructor);

var str = new String("Hello");
WScript.echo("Constructor String: " + str.constructor);

var arr = new Array(2);
WScript.echo("Constructor Array: " + arr.constructor);
                                                       
WScript.echo("Constructor Person: " + m1.constructor);

function Print()
{
	var value = " ";
	for(var i=0; i<5; i++)
		value += this.toString() + ", ";
	return value;	
}

Последний раз редактировалось andreyandreevuch, 19.04.2012 в 12:31.
Ответить с цитированием