forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   Вопрос по командам (http://forum.boolean.name/showthread.php?t=17461)

Spot 01.11.2012 12:44

Вопрос по командам
 
Есть код:
Код:

Program test1;
var exitCmd, nextcmd,clicked,cont: command;
 str: integer;
begin
        clearform;
        str:=FormAddString('Страница1');                       
        showform;
    exitCmd := CreateCommand('Выход', CM_EXIT, 1);
    nextcmd:=CreateCommand('Далее', CM_EXIT, 2);
    AddCommand(exitCmd);
    Addcommand(nextcmd);
    repeat
      clicked := GetClickedCommand;
                if clicked=nextcmd then
                begin
                        clearform;
                        str:=FormAddString('Страница2 ');                       
                        showform;
                        cont := createCommand('Назад', CM_BACK, 1);
                        addCommand(cont);
                        repeat
                                clicked := GetClickedCommand;
                                        delay(100);
                        until Clicked = cont;
                end;
    until Clicked =exitcmd;
end.

1. Почему кнопка назад не работает
2. Можно ли как-то задать четкий порядок расположения команд, например Назад - слева, посередке - Функции или Опции, справа - Вперед.
А то на nokia 6300 справа выходить команда "Выход" , а слева "Функции", а там "Далее", а в дефолтном эмуляторе нормально показывает

Dark Dragon 07.11.2012 13:36

Ответ: Вопрос по командам
 
На самом деле с формами лучше не связываться.Лучше использовать Графический интерфейс и считывать нажатые клавиши.Константы управления софт клавишами и джойстиком тебе в помощь!

Amigo888 07.11.2012 19:02

Ответ: Вопрос по командам
 
Дело в том что расположение форм в Nokia заданы телефоном (вернее java машиной)

Deport 08.11.2012 18:29

Ответ: Вопрос по командам
 
Не совсем уверен но может вам поможет мой образец для тестов

Цитата:

program sys;
var x: integer;
str:string;
ext,del,ok: Command;
Begin

ext := CreateCommand('start', cm_exit, 1);
del := CreateCommand('del', cm_screen, 1);
AddCommand(ext);
AddCommand(del);
repeat
ok:=GetClickedCommand;
if GetKeyPressed = KE_KEY1 then str:=''+str+'1';
if GetKeyPressed = KE_KEY2 then str:=''+str+'2';
if GetKeyPressed = KE_KEY3 then str:=''+str+'3';
if GetKeyPressed = KE_KEY4 then str:=''+str+'4';
if GetKeyPressed = KE_KEY5 then str:=''+str+'5';
if GetKeyPressed = KE_KEY6 then str:=''+str+'6';
if GetKeyPressed = KE_KEY7 then str:=''+str+'7';
if GetKeyPressed = KE_KEY8 then str:=''+str+'8';
if GetKeyPressed = KE_KEY9 then str:=''+str+'9';
if GetKeyPressed = KE_KEY0 then str:=''+str+'0';


x := Length(str);
if ok=del then begin
if x>0 then str:=Copy(str,0,x-1);
if x=0 then playAlertSound;
end;

SetColor(0, 0, 0);
FillRect(0, 0, GetWidth, GetHeight);
SetColor(255, 255, 255);
DrawText(''+str+'', 0, 0);
Repaint;
delay(100);

until (x>0) and (ok = ext);
RemoveCommand(ext);
RemoveCommand(del);
str:='Вы выбрали номер: '+str+'';
SetColor(0, 0, 0);
FillRect(0, 0, GetWidth, GetHeight);
SetColor(255, 255, 255);
DrawText(''+str+'', 0, 0);
Repaint;
delay(-1);
end.


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

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