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=3813)

BASSON XVI 04.07.2007 01:44

Помогите чуть чуть с булеанами! и т.п!!
 
Здрасте! У меня тут такое дело! Пишу на Мидлет Паскале недавно! Куча вопросов! Подскажите пожайлуста!
Короче я прописываю булеаны!
Пишу procedure!
Но как мне назначить на софт клавиши переход с одной процедуры на другую? И как назначить выход тоже не знаю! Подскажите!
Пример:
Код:

program BASSON XVI;
var
ok,exit,menu : command;

Bulmenu:bolean;

procedure menu;
  begin
  {  } 
    ok := createCommand('OK', CM_OK, 1);
    showForm;
    addCommand(ok);
    nameField := formAddTextField('Введите ваше имя', '', 20, TF_ANY);

end;
begin
    {  } 
    menu := createCommand('MENU', CM_OK, 1);
    exit := createCommand(‘EXIT’, CM_EXET, 0);

    showForm;
    addCommand(menu);
    addCommand(exit);

    repaint;
      while getClickedCommand <> exit do //Это правлино из проги выйдет?
  begin end; 
//---- А как назначит на MENU переход на болеан Bulmenu не знаю!------

Спасибо заранее! И кто скажет поставлю +!

Bruteo 04.07.2007 12:20

Re: Помогите чуть чуть с булеанами! и т.п!!
 
В справке описано как осуществляется переход. Какое отношение к этому имеют "булеаны" непонятно.

Код:

var


  okCmd, clicked: command;


procedure tvoyaProcedura;


begin
  //твой код


end;


begin
  okCmd := createCommand('OK', CM_OK, 1);
  addCommand(okCmd);
  repeat
    clicked := getClickedCommand;

  until clicked <> emptyCommand;


if clicked = okCmd then tvoyaProcedura;


end.



ViNT 04.07.2007 15:38

Re: Помогите чуть чуть с булеанами! и т.п!!
 
Вообще MP софт-кнопки не детектирует, но можно определить код клавиши примерно так:

program keycode;
var i:integer;
begin
repeat
i:=getkeyclicked;
until key<>ke_none;
drawtext(integertostring(i),10,10);
repaint;
delay(10000);
end.

Пишешь, запускаешь, нажимаешь софт кнопку, записываешь код и пользуешься им вместо ke_key1 и тд. Кстати, форма нажатия кнопок не ловит.

Выход делается процедурой halt.
А насчет переходов, чета я не очень понял, напиши попонятнее.

BASSON XVI 04.07.2007 16:14

Re: Помогите чуть чуть с булеанами! и т.п!!
 
мне надо что на конкретной кнопке на перемер на левом софне когда нажимаеш открывалось процедура меню а на правом открывалась процедура открыть! Я вот про что !

BASSON XVI 04.07.2007 16:15

Re: Помогите чуть чуть с булеанами! и т.п!!
 
опс извени не до конца промотал код!!!!

BASSON XVI 04.07.2007 16:49

Re: Помогите чуть чуть с булеанами! и т.п!!
 
Я ту протестил но почему не вызываеться процедура из процедуры! Это то как организовать!!

Bruteo 04.07.2007 17:08

Re: Помогите чуть чуть с булеанами! и т.п!!
 
Что значит не вызывается?
Код:

procedure Proc1;
begin
  //раз
end;
procedure Proc2;
begin
  //два
  Proc1;
end;
 
begin
  Proc2;
end.


BASSON XVI 04.07.2007 23:10

Re: Помогите чуть чуть с булеанами! и т.п!!
 
Вот накатал проблему не знаю даже в чом дело то! пока её не устраню далше продвинуться не смогу!!!
Код:

program Basson
var
ok, exit, menu, bac, clecked: command;
procedure 1
begin
menu := createCommnad('MENU', CM_OK, 0);
bac := createCommnad('EXIT', CM_BACK, 1);
addCommnad(menu);
addCommand(bac);
  repaint;
 
      repeat
    clicked := getClickedCommand;
  until clicked <> emptyCommand;
  if clicked = menu then 2; // ВОТ ту то оно и пишет что нет таких параметров процедур
  if clicked = exit then 3; // и переменных в чом дело то???? если их убираю ошибок нет !
end;
prosedure 2
begin
end;
procedure 3
begin
end;
begin
  Ok := createCommand('Поехали', CM_OK, 0);
  Exit := createCommand('Выход', CM_CANCEL, 1);
  addCommand(ExitCmd);
  addCommand(OkCmd);
  repaint;
 
      repeat
    clicked := getClickedCommand;
  until clicked <> emptyCommand;
  if clicked = Ok then 1;
  if clicked = exit then 3; 
end.

Простите за ошибки если чтот то не так подправтепесал в попыхах!

ViNT 05.07.2007 00:29

Re: Помогите чуть чуть с булеанами! и т.п!!
 
Числа не могут быть именами процедур. Имя процедуры должно начинаться с латинского символа.

Bruteo 05.07.2007 01:42

Re: Помогите чуть чуть с булеанами! и т.п!!
 
Да, имена надо изменить. После имени процедуры ставится точка с запятой.
И надо процедуры 2 и 3 писать перед 1. Или перед процедурой 1 написать
Код:

procedure 2; forward;
procedure 3; forward;

Все это написано в справке. По описанию ошибок можно найти.

BASSON XVI 05.07.2007 08:16

Re: Помогите чуть чуть с булеанами! и т.п!!
 
Не у меня процедуры написанны нормально и сточками с запятой! Мне просто надо следующее!
Код:

procedure proc1;
begin
 //возвращение в proc3
end;
procedure proc2;
begin
//возвращение в proc3
end;
procedure proc3;
begin
//переход на proc2 и proc3(это я уже знаю как делать)
//возвращение в proc1 при этом это форма для письма ShowTexBox и надо что бы,
//в ней текст не проподал при возвращении!
end;
procedure proc4;
begin
//здесь вызов proc4
end;

Вот что мне надо! Мне же нужно осуществить так сказать откат с проседуры proc3 на процедуру proc4! ВОт так! А в справке я не чего подобного не нашол или у меня справка другая свою выложите если можете!

ViNT 05.07.2007 16:26

Re: Помогите чуть чуть с булеанами! и т.п!!
 
Помоему как-то так:(компилится без глюков)
Код:

program test;
var a,b:boolean;
tbbuf:string;

procedure proc3;forward;

//!!! if a=b -проверка нужного условия!!!

procedure proc1;
begin
 //возвращение в proc3
 if a=b then
 proc3;
end;
procedure proc2;
begin
//возвращение в proc3
if a=b then
 proc3;
 
end;
procedure proc3;
begin
//переход на proc2 и proc3(это я уже знаю как делать)

if a=b then proc3;
if a<>b then proc2;
tbbuf:=gettextboxstring;//сохраняем текст и когда надо аосстанавлтваем
//возвращение в proc1 при этом это форма для письма ShowTexBox и надо что бы,
//в ней текст не проподал при возвращении!
proc1;
end;
procedure proc4;
begin
//здесь вызов proc4
if a=b then
proc4;
end;

begin

end.


BASSON XVI 05.07.2007 23:28

Re: Помогите чуть чуть с булеанами! и т.п!!
 
ViNT я тебя уже наврное задрал! Но не понял я какое условие?
Код:

procedure proc3;forward;
//!!! if a=b -проверка нужного условия!!!

Плиз по пожробней чуть чуть напиши? До меня совсем туго доходит так как я знаю только Басик и то по школьной программе!

ViNT 06.07.2007 01:00

Re: Помогите чуть чуть с булеанами! и т.п!!
 
if a=b -это то условие, при котором производится переход(например
if key=ke_key0 then...).

BASSON XVI 06.07.2007 02:33

Re: Помогите чуть чуть с булеанами! и т.п!!
 
Блин все равно не врубился!
Код:

if a=b -это то условие, при котором производится переход(например if key=ke_key0 then...). Так мне то какое условие надо указывать и что писать после then...
покажи пожайлуста на конкретном примере какомнибудь!


ViNT 06.07.2007 02:52

Re: Помогите чуть чуть с булеанами! и т.п!!
 
Например если ты хочешь чтобы при нажатии определенной кнопки выполнялась определенная процедура, значит надо писать так:
Код:

if getkeyclicked=ke_key0 then proc1;

BASSON XVI 06.07.2007 04:09

Re: Помогите чуть чуть с булеанами! и т.п!!
 
Все спасибо разобрался! можно просто прописывать например!
procedure proc4; forward;
И все там дальше как всегда мидлет будет на это натыкаться и идти в низ изкать эту процедуру! Тперь я буду задовать вопросы ругие и не в этой теме а в соседней!


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

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