forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Процедуры (http://forum.boolean.name/showthread.php?t=19691)

Kirillza 13.02.2015 08:16

Процедуры
 
Всем, доброго времени суток!
Дело в том что мне надо написать одну программу на MIDIetPascal 2.2.
Код должен выглядеть примерно так:
Создаём процедуру очищение экрана.
Выводим текст на экран.
Если нажата клавиша 1 то переносимся к процедуре очищения экрана и далее к процедуре вырисовывающей под-меню.
Буду рад всякой помощи. Зарание Спасибо!

Kirillza 13.02.2015 09:18

Ответ: Процедуры
 
Вот сделал небольшой набросок. Но всё равно не работает.
Код:

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.


Helltar 13.02.2015 21:15

Ответ: Процедуры
 
Что это такое? Поставь на место begin и repeat.

Kirillza 14.02.2015 11:04

Ответ: Процедуры
 
Helltar, Куда?

Amigo888 14.02.2015 18:06

Ответ: Процедуры
 
Цитата:

Сообщение от Kirillza (Сообщение 293216)
Вот сделал небольшой набросок. Но всё равно не работает.
Код:

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 22:54

Ответ: Процедуры
 
Вот вроде сделал то что ты хотел. Читай Хелп там есть ответы почти на все вопросы(кроме библиотек конечно)
Код:

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.


Kirillza 13.06.2015 20:12

Ответ: Процедуры
 
Amigo888, спасибо очень помог)


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot