Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 11.09.2007, 18:23   #1
Spy_new
AnyKey`щик
 
Регистрация: 28.08.2007
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Как использовать ярлыки в MP?

В обычном паскале была функция ярлыков (т.е. пишешь слово Label 1; а потом в тексте программы gotto 1; и программа переходит к указателю 1 вроде так) а MP такой нет? Или подскажите, как можно реализовать такую функцию на MP?
(Offline)
 
Ответить с цитированием
Старый 11.09.2007, 18:26   #2
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Re: Как использовать ярлыки в MP?

это называется метка. Можно обойтись и без нее, попробуй...
(Offline)
 
Ответить с цитированием
Старый 11.09.2007, 18:28   #3
Frank
Нуждающийся
 
Аватар для Frank
 
Регистрация: 22.07.2006
Сообщений: 50
Написано 6 полезных сообщений
(для 19 пользователей)
Re: Как использовать ярлыки в MP?

В МР вроде такого нет...
Да это и не нужно! GOTO - зло!
Практически любую программу можно организовать без этого оператора...
(Offline)
 
Ответить с цитированием
Старый 11.09.2007, 21:15   #4
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Re: Как использовать ярлыки в MP?

Зло не зло, а иногда неудобно без GOTO.
(Offline)
 
Ответить с цитированием
Старый 11.09.2007, 22:09   #5
Spy_new
AnyKey`щик
 
Регистрация: 28.08.2007
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Re: Как использовать ярлыки в MP?

Тогда может подскажете как можно организовать меню с под меню и с под под меню, т.е. есть какое-то меню имеющее некоторое количество пунктов. При выборе пункта 1 появляется подменю первого пункта, а при выборе в нём какого то пункта появляется ещё одно под меню. Так вот весь вопрос в том, как сделать переход в обратную сторону, т.е. находясь в подменю нажав кнопочку назад попасть в предыдущее мню. Может подскажете как это проще сделать.

program menu;
var Number1, Number2, Number3, Number4 : integer;  
    show, clicked, Back : command; 

begin 
    showMenu('Выберите пункт', CH_IMPLICIT);  
     
    Number1 := menuAppendString('Пункт 1');  
  
    show := createCommand('Показать', CM_SCREEN, 2);  
    addCommand(show);  
    repeat  
        delay(100);  
        clicked := getClickedCommand;  
    until clicked = show;  
    
    if menuGetSelectedIndex = Number1 then
      begin
      showMenu('Выберите пункт', CH_IMPLICIT);  
     
       Number1 := menuAppendString('Пункт 1');  
       Number2 := menuAppendString('Пункт 2');  
       Number3 := menuAppendString('Пункт 3');
       Number4 := menuAppendString('Пункт 4');
      
    Back := createCommand('Назад', CM_EXIT, 1);
    show := createCommand('Выход', CM_SCREEN, 2);  
    addCommand(show);
    addCommand(Back);  
    repeat  
        delay(100);  
        clicked := getClickedCommand;  
    until clicked = show;          
      end; 
     
end.
(Offline)
 
Ответить с цитированием
Старый 11.09.2007, 23:48   #6
Bruteo
ПроЭктировщик
 
Регистрация: 31.01.2007
Сообщений: 128
Написано 20 полезных сообщений
(для 43 пользователей)
Re: Как использовать ярлыки в MP?

Каждое меню и каждое подменю заноси в отдельные процедуры. Потом при необходимости вызывай.
(Offline)
 
Ответить с цитированием
Старый 12.09.2007, 00:04   #7
Spy_new
AnyKey`щик
 
Регистрация: 28.08.2007
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Как использовать ярлыки в MP?

Попробую. Проблема в том что таких процедур получится штук 200.
(Offline)
 
Ответить с цитированием
Старый 12.09.2007, 00:27   #8
Frank
Нуждающийся
 
Аватар для Frank
 
Регистрация: 22.07.2006
Сообщений: 50
Написано 6 полезных сообщений
(для 19 пользователей)
Re: Как использовать ярлыки в MP?

Должно быть что-то вроде этого:
program NewProject;

Procedure SubMenu1;
var cmdOK, cmdBack, click: command;
		mnuSubMenu1, mnuSubMenu2: integer;
begin
	repeat
		showMenu('Под меню 1',CH_IMPLICIT);
		mnuSubMenu1:=MenuAppendString('Под-под меню 1');
		mnuSubMenu2:=MenuAppendString('Под-под меню 2');
	
		cmdOK:=CreateCommand('Выбор',CM_OK,1); AddCommand(cmdOK);
		cmdBack:=CreateCommand('Назад',CM_Back,1); AddCommand(cmdBack);
		repaint;
	
		repeat
			click:=GetClickedCommand;
		until click<>EmptyCommand;
		RemoveCommand(cmdOK); RemoveCommand(cmdBack);
		
		if click=cmdOK then begin
			// if MenuGetSelectedIndex=mnuSubMenu1 then .......
			// if MenuGetSelectedIndex=mnuMenu2 then .........
		end;
	until click=cmdBack;
end;


Procedure Menu1;
var cmdOK, cmdBack, click: command;
		mnuSubMenu1, mnuSubMenu2: integer;
begin
	repeat
		showMenu('Меню 1',CH_IMPLICIT);
		mnuSubMenu1:=MenuAppendString('Под меню 1');
		mnuSubMenu2:=MenuAppendString('Под меню 2');
	
		cmdOK:=CreateCommand('Выбор',CM_OK,1); AddCommand(cmdOK);
		cmdBack:=CreateCommand('Назад',CM_Back,1); AddCommand(cmdBack);
		repaint;
	
		repeat
			click:=GetClickedCommand;
		until click<>EmptyCommand;
		RemoveCommand(cmdOK); RemoveCommand(cmdBack);
		
		if click=cmdOK then begin
			if MenuGetSelectedIndex=mnuSubMenu1 then SubMenu1;
			// if MenuGetSelectedIndex=mnuSubMenu2 then SubMenu2;
		end;
	until click=cmdBack;
end;

Procedure MainMenu;
var cmdOK: command;
	mnuMenu1, mnuMenu2, mnuExit: integer;
begin
	repeat
		showMenu('Главное меню',CH_IMPLICIT);
		mnuMenu1:=MenuAppendString('Меню 1');
		mnuMenu2:=MenuAppendString('Меню 2');
		mnuExit :=MenuAppendString('Выход');
	
		cmdOK:=CreateCommand('Выбор',CM_OK,1); AddCommand(cmdOK);
		repaint;
	
		repeat
		until GetClickedCommand<>EmptyCommand;
		RemoveCommand(cmdOK);
	
		if MenuGetSelectedIndex=mnuMenu1 then Menu1;
		// if MenuGetSelectedIndex=mnuMenu2 then Menu2;
		// и т.д...
		
	until MenuGetSelectedIndex=mnuExit;
end;

begin
		MainMenu;
end.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как использовать поиск по форуму? ARV Наш форум 1 03.03.2008 21:43
Как использовать DirectX в BLITZ MAX LEON 2D-программирование 4 23.03.2007 01:22


Часовой пояс GMT +4, время: 09:51.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com