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

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

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

Ответ
 
Опции темы
Старый 26.08.2009, 16:56   #1
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Lib_scodes - определение кодов софт-клавиш и модели телефона

Lib_scodes - служит для определения кодов клавиш на различных телефонах. Также позволяет определить модель телефона.

Функции:
public static String get_platform() - инициализирует библиотеку и возвращает краткое название модели телефона. При использовании библиотеки вызывать эту функцию первой обязательно (!!!)Возможные вариаты возвращенных значений:
'motorola', 'nokia', 'SE', 'siemens', 'samsung', 'LG', 'NA', где 'NA' - модель не определена.

public static int get_leftsoftkeycode() - возвращает код левой софт-клавиши для текущей модели телефона. Внимание: перед использованием вызвать обязательно функцию get_platform (!!!)

public static int get_rightsoftkeycode() - возвращает код правой софт-клавиши. Внимание: перед использованием вызвать обязательно функцию get_platform (!!!)

Пример:
Uses scodes;
Begin
     DrawText
('Model: '+get_platform,0,0); // Показали модель и инициализировали библиотеку
     
DrawText('Left key code: '+get_leftsoftkeycode,0,20);
     
DrawText('Right key code: '+get_rightsoftkeycode,0,40);
     
Repaint;
     
Delay(10000);
End
Библиотека в стадии тестирования. Нужны тестеры для проверки на реальных аппаратах. Буду рад услышать результаты тестирования здесь.
Вложения
Тип файла: zip Lib_scodes.zip (3.3 Кб, 865 просмотров)
(Offline)
 
Ответить с цитированием
Эти 10 пользователя(ей) сказали Спасибо Tronix за это полезное сообщение:
baton4ik (17.12.2009), bormotan (09.12.2011), Bruteo (02.11.2009), demon112 (28.08.2009), dmitriy-dim (20.09.2010), Dream (31.08.2009), Fred-boy (12.12.2013), odd (27.08.2009), Rumata (16.11.2009), Skythrone (27.08.2009)
Старый 26.08.2009, 23:29   #2
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

Небольшое замечание: поскольку в процессе выполняеться достаточно много проверок, лучше инициализировать и определить все коды в самом начале программы, как показано ниже. Все функции у библиотеки достаточно медленны.

Var
    
S    String;   // Будет содержать название платформы
    
skl  Integer;  // Код лефой софт-клавиши
    
skr  Integer// Код правой софт-клавиши
    
key Integer;  // Код нажатой клавиши

Begin
    
[...читаем рессурсыRandomizeи подобное...]
    
:= get_platform;   // Инициализировали библиотеку
    
skl := get_leftsoftkeycode// Получили код лефой клавиши
    
skr := get_rightsoftkeycode// Получили код правой клавиши
     
    
Repeat   // Основной цикл программы
    
key := GetKeyClicked;
    [...
делаем что-либо...]
    
Until key skr;    // Выходим, если нажата правая софт клавиша
End
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Tronix за это полезное сообщение:
dmitriy-dim (20.09.2010), IDOL 1234 (23.09.2010)
Старый 28.08.2009, 08:11   #3
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

Библиотека нужная, молодец. Но вот размер данной библиотеки немного пугает.
Для трех простеньких функций 6 килобайт это многовато.
Попробуй модернизировать библиотеку с учетом использования массивов.
Что-то типа такого:

private static String [] platforms =
{
        
"Samsung""Motorola"
};
private static 
String [] classes =
{
        
"com.samsung.util.Vibration""com.motorola.multimedia.Vibrator"
};
private static 
int [] left = { -6, -21 };
private static 
int [] right = { -7, -22 };
private static 
int platform;

public static 
String get_platform()
{
    return 
detect_platform();
}

private static 
String detect_platform()
{
    
platform 0;
    for (
int i=0classes.lengthi++)
    {
        try
        {
            Class.
forName(classes[i]);
            
platform++; return platforms[i];
        }
        catch(
Exception e) {}
    }
    return 
"Unknown";
}

public static 
int get_leftsoftkeycode()
{
    return 
left[platform];
}

public static 
int get_rightsoftkeycode()
{
    return 
right[platform];

Так код будет более читабельный и меньше занимать.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dmitriy-dim (20.09.2010)
Старый 31.08.2009, 11:28   #4
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

2odd: спасибо за совет и пример. Это мой первый опыт создания либы да и вообще, первое знакомство с явой можно сказать. Размер обязательно уменьшим, как только будет чуть по лучше со временем.

2all: Кто-нибуть библиотеку то тестировал вообще? Она хоть работает?
(Offline)
 
Ответить с цитированием
Старый 16.09.2009, 21:43   #5
Dj_Alex
ПроЭктировщик
 
Аватар для Dj_Alex
 
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений
(для 45 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

на эмуляторах sjboy и wtk платформа определяется как motorola левый софткей -6 а правый почему то 0. на кемуляторе определяется как se и коды возврвщает нормальные.
поправьте плз.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dmitriy-dim (20.09.2010)
Старый 18.09.2009, 09:29   #6
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

Сообщение от Dj_Alex Посмотреть сообщение
на эмуляторах sjboy и wtk платформа определяется как motorola левый софткей -6 а правый почему то 0. на кемуляторе определяется как se и коды возврвщает нормальные.
поправьте плз.
Поправил, теперь правый софткей будет определяться нормально.
То, что на эмуляторах возвращает не правильные платформы, это нормально. Главное, что на реальных телефонах возвращает. А так, да:
sjboy, wtk : платформа motorola
kemulator : смотря какая эмуляция телефона стоит в настройках. По дефолту - SE
Kwyshell (NHAL) : NA

PS: Совсем скоро уменьшу более чем в два раза размер библиотеки, пока так как есть.
PSS: Почему-то не могу отредактировать первый свой пост в теме, поэтому прикладываю новую версию в этом посте.
Вложения
Тип файла: zip Lib_scodes.zip (3.3 Кб, 720 просмотров)
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо Tronix за это полезное сообщение:
baton4ik (17.12.2009), Bruteo (02.11.2009), Dj_Alex (18.09.2009), dmitriy-dim (20.09.2010), Trazzy (18.09.2009)
Старый 14.10.2009, 03:15   #7
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

А можно както работать с клавишами вызова и сброса?
Добавить бы их в эту либу и будит полная жесть!!!
__________________
Уважай собеседника, а лучше подари ему +
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dmitriy-dim (20.09.2010)
Старый 14.10.2009, 12:14   #8
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

Клавиша вызова чаще всего имеет имя "SEND"
(Offline)
 
Ответить с цитированием
Старый 14.10.2009, 14:16   #9
Tronix
Знающий
 
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений
(для 331 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

Ребят, прошу прощения, но нет желания и времени. Если нужно, исходники в аттаче.
Вложения
Тип файла: zip lib_scodes.zip (2.5 Кб, 631 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dmitriy-dim (20.09.2010)
Старый 03.01.2010, 06:46   #10
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

Сообщение от Piligrim Посмотреть сообщение
Клавиша вызова чаще всего имеет имя "SEND"
Ну, это понятно. А где и как это имя "SEND" можно использовать?!
И какое имя у клавиши сброса?
Прост мне надо сделать программу, в которой по нажатию на клавишу вызова происходил звонок, ну и сброс (думаю ясно для чего)..

Кто может чем помочь? или посоветовать?
__________________
Уважай собеседника, а лучше подари ему +
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dmitriy-dim (20.09.2010)
Старый 04.01.2010, 19:54   #11
GRAY_WOLF
Разработчик
 
Аватар для GRAY_WOLF
 
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений
(для 93 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

Сообщение от ArtikZ Посмотреть сообщение
Прост мне надо сделать программу, в которой по нажатию на клавишу вызова происходил звонок, ну и сброс (думаю ясно для чего)..

Кто может чем помочь? или посоветовать?
Если тебе надо сделать телефонный справочник прочитай тут
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
(Offline)
 
Ответить с цитированием
Старый 05.01.2010, 10:12   #12
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

GRAY_WOLF, как раз с менюшкой и звонками у меня проблем нет..
а вот как можно работать с клавишами вызова и сброса, мне интересно просто..
В поисковниках ничего толкового не выдает по этому вопросу((
__________________
Уважай собеседника, а лучше подари ему +
(Offline)
 
Ответить с цитированием
Старый 05.01.2010, 11:48   #13
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

я всегда коды узнаю достаточно просто:

repeat key:=getkeypressed until key<>KE_NONE;
drawtext(integertostring(key),0,0);

конечно подходить будет код не для всех телефонов, но это можно забить, т.к. почти на всех телефонах красная завершает приложение, а значит твое приложение туда не пойдет...
вообще я бы посоветовал использовать в твоей проге вместо кнопок звонка/сброса софткеи.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dmitriy-dim (20.09.2010)
Старый 06.01.2010, 13:20   #14
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

Подобное видел в приложениях типо Jimm'а, где по нажатию на зеленую клавишу происходит переход в историю сообщений и др.
__________________
Уважай собеседника, а лучше подари ему +
(Offline)
 
Ответить с цитированием
Старый 06.01.2010, 23:01   #15
GRAY_WOLF
Разработчик
 
Аватар для GRAY_WOLF
 
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений
(для 93 пользователей)
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона

Сообщение от ArtikZ Посмотреть сообщение
а вот как можно работать с клавишами вызова и сброса, мне интересно просто..
В поисковниках ничего толкового не выдает по этому вопросу((
Вот тут есть help по МР, там в переводе help'a от odd есть Таблица скан-кодов клавиш телефонов Siemens, Sony Ericsson, Nokia, Motorola. Изучай.
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо GRAY_WOLF за это полезное сообщение:
bormotan (11.12.2011), dmitriy-dim (20.09.2010)
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с софт-клавишами телефона Trazzy Основной форум 1 21.08.2009 13:21
Определение символа в строке S2k Основной форум 2 28.09.2007 19:51
Определение количества оперативной памяти LD 3D-программирование 3 27.07.2007 15:11
Определение сторон объекта. Crystal 3D-программирование 6 06.07.2007 11:45
Определение материала New 3D-программирование 6 13.08.2006 01:41


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


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