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

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

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

Ответ
 
Опции темы
Старый 04.03.2009, 04:39   #1
7ion.
AnyKey`щик
 
Регистрация: 03.03.2009
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Что у меня неверно?

Вчера начал кодить на Мидлет Паскале. Поэтому не ржать Вот почему тут ошибка, понять немогу:
    if userName <> 't9ote48te' Or kotName <> '7ion' then
вот в этой строке. Переменные объявлены так и до этого все идет так:
   var okCommand:command; 
      nameField:integer; 
      kotField, label_id:integer; 
      userName:string; 
      kotName:string; 
       cm : command;
  begin  
    okCommand := createCommand('Далее', CM_OK, 1); 
    showForm; 
    addCommand(okCommand); 
     setTicker('Simple Antivirus');
    label_id := formAddString('Cracked by 7ion. Введенный ключ и имя оставьте в покое и жмите далее ;)');  
    kotField := formAddTextField('Введите имя', '7ion', 20, TF_ANY); 
    nameField := formAddTextField('Введите лицензионный ключ', 't9ote48te', 20, TF_ANY); 
    userName := formGetText(nameField); 
    kotName := formGetText(kotField); 
    if userName <> 't9ote48te' Or kotName <> '7ion' then
и еще - что в этой строке
    kotField := formAddTextField('Введите имя', '7ion', 20, TF_ANY);
означает TF_ANY и что еще туда можно подставить? заранее спасибо.
(Offline)
 
Ответить с цитированием
Старый 04.03.2009, 23:39   #2
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Что у меня неверно?

В первом случае, скорее всего дело в том, что не расставлены скобки,
должно быть
if (userName <> 't9ote48te') Or (kotName <> '7ion'then 
На счет TF_ANY - читаем хелп (раздел "Forms"), TF_ANY означает, что можно вводить любые символы, есть еще
· TF_EMAIL - для email адреса
· TF_NUMERIC - только для чисел
· TF_PHONENUMBER - для телефонного номера
· TF_URL - только символы, допустимые в URL
· TF_PASSWORD - выводит "*" вместо текста

И в случае ошибок настоятельно рекомендую писать не только где ошибка, но и какая.
(Offline)
 
Ответить с цитированием
Старый 05.03.2009, 01:39   #3
7ion.
AnyKey`щик
 
Регистрация: 03.03.2009
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Что у меня неверно?

спасибо большое за помощь, все заработало. но теперь новая проблема. при выборе "О программе" хотелось бы видеть бегущую с надписью о программе. но меня почему-то заместо этого выкидывает из эмулятора. что могло случится? или он выполняет команду меню "Выход"? помогите пожалуйста.
showMenu('Simple Antivirus 2009'CH_IMPLICIT);
    
about := menuAppendStringImage('О программе'loadImage('/exit.png'));
    exit := 
menuAppendStringImage('Выход'loadImage('/exit.png')); 
    
okCommand2 := createCommand('Выбор'CM_OK1);
    
addCommand(okCommand2); 
     while (
getClickedCommand <> okCommand2) do 
      
delay(100);
      
showForm;
    if 
menuGetSelectedIndex about then
    begin
    setTicker
('О программе');
    
end
    
if menuGetSelectedIndex = exit then halt;
  
end
(Offline)
 
Ответить с цитированием
Старый 05.03.2009, 01:49   #4
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Что у меня неверно?

Конечно выкидывает, так и надо. После проверки условия
if menuGetSelectedIndex = exit then halt; сразу попадаем на end, поток завершается. Надо делать что-то в роде этого после SetTicker:
//В разделе var
clicked,cmdOK:Command;

//после setticker
cmdOk:=CreateCommand('OK',CM_OK,1);
addCommand(cmdOK);
repeat
 clicked
:=getClickedCommand;
 
delay(100);
until clicked=cmdOK
Примерно так, тогда выйдет только при нажатии команды ОК.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
7ion. (05.03.2009)
Старый 05.03.2009, 02:25   #5
7ion.
AnyKey`щик
 
Регистрация: 03.03.2009
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Что у меня неверно?

здорово) я как то сам не подумал что оно-то выполняется, но просто сразу завершается. кстати, чтобы ждать нажатие кнопки юзаю более простую конструкцию:
cmdOk:=CreateCommand('OK',CM_OK,1); 
    
addCommand(cmdOK); 
    
repeat  
    delay
(100); 
    
until getClickedCommand <> emptyCommand
но вот опять вопрос как работать с Goto? я слышал что нужно поставить якорь
yakor
где надо, а когда надо на него перейти, то написать
Goto yakor 
Заюзал эту конструкцию в попытке перейти с кнопки на меню
ty:
    
showMenu('Simple Antivirus 2009'CH_IMPLICIT);
    
about := menuAppendStringImage('О программе'loadImage('/exit.png'));
    exit := 
menuAppendStringImage('Выход'loadImage('/exit.png')); 
    
okCommand2 := createCommand('Выбор'CM_OK1);
    
addCommand(okCommand2); 
     while (
getClickedCommand <> okCommand2) do 
      
delay(100);
      
showForm;
    if 
menuGetSelectedIndex about then
    begin
    clearForm
;
    
setTicker('О программе');
    
cmdOk:=CreateCommand('OK',CM_OK,1); 
    
addCommand(cmdOK); 
    
repeat  
    delay
(100); 
    
until getClickedCommand <> emptyCommand;
    GoTo 
ty 
    end
    
if menuGetSelectedIndex = exit then halt;
  
end
но компилятор не понимает ty:
Почему?
(Offline)
 
Ответить с цитированием
Старый 05.03.2009, 13:12   #6
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Что у меня неверно?

В MP нету меток, там много чего нет, что есть в паскале.
Советую просто прочитать помощь - абсолютно все стандартные функции и возможности там описаны, кое-что еще добавлено через библиотеки, но ограничений по сравнению с паскалем очень много.
(Offline)
 
Ответить с цитированием
Старый 05.03.2009, 14:58   #7
7ion.
AnyKey`щик
 
Регистрация: 03.03.2009
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Что у меня неверно?

Я читал. И мне кажется что именно там я про ГоТо и читал, но нем могу найти где
А как тогда по нажатию кнопки "Ок", мне вернутся в меню? и еще - как мне сделать прогресс-бар? или это тоже нельзя на мидлетпаскале? На мобайлбарсике видел, такое делают...
(Offline)
 
Ответить с цитированием
Старый 05.03.2009, 19:23   #8
Olaola
Оператор ЭВМ
 
Регистрация: 27.01.2009
Сообщений: 21
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Что у меня неверно?

Тут нет ссылок, эт не бейсик!
тут ф-и и процедуры)))
(Offline)
 
Ответить с цитированием
Старый 05.03.2009, 19:47   #9
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Что у меня неверно?

Сообщение от 7ion. Посмотреть сообщение
Я читал. И мне кажется что именно там я про ГоТо и читал, но нем могу найти где
А как тогда по нажатию кнопки "Ок", мне вернутся в меню? и еще - как мне сделать прогресс-бар? или это тоже нельзя на мидлетпаскале? На мобайлбарсике видел, такое делают...
Goto в MP нет точно.
Возвращение можно организовать с помощью циклов и условий.

Прогрессбар есть в режиме формы, назывется Gauge, добавляется с помощью FormAddGauge, позиция меняется с помощью FormSetValue.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
7ion. (06.03.2009)
Старый 06.03.2009, 01:38   #10
7ion.
AnyKey`щик
 
Регистрация: 03.03.2009
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Что у меня неверно?

вах. ну это градусник как бы. а на графическом экране, как в МБ, нельзя его сделать? как загрузка там всякая. а то тогда получается что МП оч урезан
(Offline)
 
Ответить с цитированием
Старый 07.03.2009, 02:17   #11
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Что у меня неверно?

Вот простейшая процедура рисования полоски прогресса.
Полоска рисуется внизу экрана. При n = 0 рисуется рамка вокруг полоски, последующие значения - проценты выполнения. Пример взят из исходного кода SHD.
procedure OnLoad(ninteger);
begin
    
if n=0
    then
        begin
            SetColor
(0,0,0); FillRect(1,GetHeight-7,GetWidth-2,6); SetColor(192,192,192); DrawRect(1,GetHeight-7,GetWidth-3,5); Repaint;
        
end;
    else
        
begin
            FillRect
(3,GetHeight-5,(GetWidth-5)*n/100,2); Repaint;
        
end;
end
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
7ion. (07.03.2009)
Старый 07.03.2009, 03:12   #12
7ion.
AnyKey`щик
 
Регистрация: 03.03.2009
Сообщений: 8
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Что у меня неверно?

Спасибище огромное! Вопросов больше нет. Пока нет
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Меня ещё не забыли? Raiter Болтовня 9 23.12.2009 21:56
У меня спёрли асю. ABTOMAT Болтовня 35 19.09.2009 14:39
Меня :) Raiter Поздравления и пожелания 12 27.12.2007 10:26
Меня Raiter Поздравления и пожелания 9 01.09.2007 00:07
меня.... Raiter Поздравления и пожелания 6 12.12.2006 17:54


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


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