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

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

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

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

Ответ
 
Опции темы
Старый 13.02.2015, 05:16   #1
Kirillza
AnyKey`щик
 
Регистрация: 13.02.2015
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Процедуры

Всем, доброго времени суток!
Дело в том что мне надо написать одну программу на MIDIetPascal 2.2.
Код должен выглядеть примерно так:
Создаём процедуру очищение экрана.
Выводим текст на экран.
Если нажата клавиша 1 то переносимся к процедуре очищения экрана и далее к процедуре вырисовывающей под-меню.
Буду рад всякой помощи. Зарание Спасибо!
(Offline)
 
Ответить с цитированием
Старый 13.02.2015, 06:18   #2
Kirillza
AnyKey`щик
 
Регистрация: 13.02.2015
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Процедуры

Вот сделал небольшой набросок. Но всё равно не работает.
Begin
procedure otch;
begin
SetColor(255,255,255);
FillRect(0,0,GetWidth,GetHeight);
end;
procedure gorod;
drawtext('[1] Карта',0,0);
repaint;
delay(50000);
procedure karta;
var key,pos,i: integer;
begin
drawtext('[1] Карта',0,0);
repaint;
delay(20);
key:=getKeyClicked;
key:=keyToAction(key);
if key=GA_UP then
begin
cls;
gorod;
end;
until false;
end;

begin
  otch;
  karta;
end.
(Offline)
 
Ответить с цитированием
Старый 13.02.2015, 18:15   #3
Helltar
AnyKey`щик
 
Аватар для Helltar
 
Регистрация: 29.12.2013
Сообщений: 13
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: Процедуры

Что это такое? Поставь на место begin и repeat.
(Offline)
 
Ответить с цитированием
Старый 14.02.2015, 08:04   #4
Kirillza
AnyKey`щик
 
Регистрация: 13.02.2015
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Процедуры

Helltar, Куда?
(Offline)
 
Ответить с цитированием
Старый 14.02.2015, 15:06   #5
Amigo888
Нуждающийся
 
Регистрация: 05.08.2011
Сообщений: 83
Написано 16 полезных сообщений
(для 16 пользователей)
Ответ: Процедуры

Сообщение от Kirillza Посмотреть сообщение
Вот сделал небольшой набросок. Но всё равно не работает.
Begin
procedure otch;
begin
SetColor(255,255,255);
FillRect(0,0,GetWidth,GetHeight);
end;
procedure gorod;
drawtext('[1] Карта',0,0);
repaint;
delay(50000);
procedure karta;
var key,pos,i: integer;
begin
drawtext('[1] Карта',0,0);
repaint;
delay(20);
key:=getKeyClicked;
key:=keyToAction(key);
if key=GA_UP then
begin
cls;
gorod;
end;
until false;
end;

begin
  otch;
  karta;
end.
Кошмар а как оно должно работать? если ты поленился взглянуть в Help...

вот подправил твой код, сверь со своим и проанализируй ошибки, теперь проект хотя бы компилируется...
program xz;
var key,pos,i: integer;
    procedure cls;
    begin
    SetColor(255,255,255);
    FillRect(0,0,GetWidth,GetHeight);
    end;
    
    procedure gorod;
    begin
    drawtext('[1] Карта',0,0);
    repaint;
    delay(50000);
    end;

    procedure karta;
    begin
    drawtext('[1] Карта',0,0);
    repaint;
    delay(20);
    key:=getKeyClicked;
    key:=keyToAction(key);
    if key=GA_UP then
        begin
        cls;
        gorod;
        end;
   end;
begin
  cls;
  karta;  
repeat
until false;
end.
И еще в MidletPascal нельзя объявлять переменные в процедуре(в 2.02 уж точно)
__________________

Последний раз редактировалось Amigo888, 15.02.2015 в 19:53.
(Offline)
 
Ответить с цитированием
Старый 15.02.2015, 19:54   #6
Amigo888
Нуждающийся
 
Регистрация: 05.08.2011
Сообщений: 83
Написано 16 полезных сообщений
(для 16 пользователей)
Ответ: Процедуры

Вот вроде сделал то что ты хотел. Читай Хелп там есть ответы почти на все вопросы(кроме библиотек конечно)
program xz;

procedure cls;
begin
SetColor(255, 255, 255);
FillRect(0, 0, getWidth, getHeight);
end;
procedure gorod;
begin
SetColor(0, 0, 0);
drawtext('1 Карта', 0, 0);
drawtext('2 Карта', 0, 20);
drawtext('3 Карта', 0, 40);
repaint;
delay(5000);
end;

procedure karta;
begin
SetColor(0, 0, 0);
drawtext('Карта', 0, 0);
end;

begin

repeat
cls;
karta;
repaint;
if getKeyClicked = KE_KEY1 then 
begin
cls;
gorod;
end;

until false; 

end.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Kirillza (13.06.2015)
Старый 13.06.2015, 17:12   #7
Kirillza
AnyKey`щик
 
Регистрация: 13.02.2015
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Процедуры

Amigo888, спасибо очень помог)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


Часовой пояс GMT +1, время: 13:21.


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