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

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

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

Ответ
 
Опции темы
Старый 03.09.2009, 22:12   #1
cyberdyne
AnyKey`щик
 
Аватар для cyberdyne
 
Регистрация: 03.09.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Lib_sms

ктонить может дать дельный пример использования этой либы, желательно аналогичный примеру из хелпа
(Offline)
 
Ответить с цитированием
Старый 07.09.2009, 17:51   #2
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: Lib_sms

пример Отправки и Получения sms в MidletPascal.

Для отправки используем модифицированную стандартную библиотеку MP (удалил строку добавляющуюся к номеру: destination = s; //+ ":276", поэтому после компиляции переупаковываем в проект наш модифицированный SM.class (в примере просто удаляем из архива файл SM.class меньшего размера).

Отправка sms так же как описано в help'е MP, если планируется получать стандартным ПО телефона, то просто пишем "sms://+79180000000".

Если нужно получить сообщение мидлетом, то дописываем к адресу порт на котором слушает мидлет. Напр: "sms://+79180000000:5151". Говорится, что если сообщение пришло, а мидлет не запущен, то его принимает ПО телефона, но на motorola такие сообщения почему-то не появляются в списке принятых.
____
Для прослушивания входящих сообщений на определенном порту используем Lib_smsserver.class вот список подпрограмм:

function start('sms://:5151', 9) : integer; - запускает сервер, где 5151 - номер порта, 9 - символ разделитель сообщений
--
function staus : integer; - статус сервера
0 - не запущен
1 - стартует
2 - слушает
3,4 - поступило сообщение, (4-в стадии получения)
--
function getmsg : string; - получение пришедших sms, разделенных символом разделителем (в нашем случае chr(9)).
--
stop - остановить сервер, когда сервер остановится function status=0
Вложения
Тип файла: zip smstest.zip (14.7 Кб, 907 просмотров)
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо abcdef за это полезное сообщение:
cyberdyne (07.09.2009), integra (27.10.2009), odd (27.10.2009)
Старый 07.09.2009, 18:50   #3
cyberdyne
AnyKey`щик
 
Аватар для cyberdyne
 
Регистрация: 03.09.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_sms

очень интересно, спасибо
(Offline)
 
Ответить с цитированием
Старый 26.10.2009, 22:14   #4
integra
AnyKey`щик
 
Регистрация: 19.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_sms

А где взять этот "Lib_smsserver.class"? Этой библиотеки во всем инете нет!
(Offline)
 
Ответить с цитированием
Старый 27.10.2009, 09:12   #5
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: Lib_sms

Сообщение от integra Посмотреть сообщение
А где взять этот "Lib_smsserver.class"?
из архива "smstest.zip" извлечь файл "smstest\bin\smstest.jar" и переименовать в "*.zip", внутри этого архива все требуемые библиотеки...
(это применимо к любым подобным случаям)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
integra (27.10.2009)
Старый 27.10.2009, 13:08   #6
integra
AnyKey`щик
 
Регистрация: 19.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_sms

Сообщение от abcdef Посмотреть сообщение
из архива "smstest.zip" извлечь файл "smstest\bin\smstest.jar" и переименовать в "*.zip", внутри этого архива все требуемые библиотеки...
(это применимо к любым подобным случаям)
Записано в цитатник наравне с К.Марксом и В.Лениным!
СПАСИБО!
(Offline)
 
Ответить с цитированием
Старый 27.10.2009, 15:15   #7
integra
AnyKey`щик
 
Регистрация: 19.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_sms

Класс вынул, в "Либ" положил - компилится нормально. Залил jar на телефон - не хочет отправлять сообщение. Ничего в тексте программы кроме номера не менял.
Порт тоже не слушает и СМС не перехватывает у основного обработчика. В чем м.б. дело?
(Offline)
 
Ответить с цитированием
Старый 27.10.2009, 16:05   #8
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Lib_sms

Какой телефон?
Запросы на отправку/регистрацию обработчика появляются?
(Offline)
 
Ответить с цитированием
Старый 27.10.2009, 16:18   #9
integra
AnyKey`щик
 
Регистрация: 19.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Ответ: Lib_sms

N7610
..
SMS <+79870000000> no Send

init smsServer...
smsServer - OK
количество точек и пробелы сохранил как в оригинале ответа

С базовыми СМС-функциями М-Паскля работает нормально - и на обычные и на короткие, только USDD понимает как звонок - и вместо *100# звонит на 100.
Но это - с базовыми, без подключения этой библиотеки (smsServer)
...
И еще:
Если нужно получить сообщение мидлетом, то дописываем к адресу порт на котором слушает мидлет.
Как определить порт, на котором слушает мидлет? Для меня это - вообще джунгли непроходимые!

Последний раз редактировалось integra, 27.10.2009 в 17:48.
(Offline)
 
Ответить с цитированием
Старый 27.10.2009, 17:46   #10
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Lib_sms

А SM.class заменял?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
integra (28.10.2009)
Старый 27.10.2009, 17:54   #11
integra
AnyKey`щик
 
Регистрация: 19.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_sms

Я его просто в Либс вставил - там старого и не было... Правда в тексте программы не нашел, чтобы к нему обращение типа "юзес" было и вроде перед ним Либ_ не стоит... - это для меня тоже загадки :-(
(Offline)
 
Ответить с цитированием
Старый 27.10.2009, 17:55   #12
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Lib_sms

Это не библотека, а переделанный стандартный класс MP, его нужно прилинковать к ресурсам проекта.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
integra (28.10.2009)
Старый 28.10.2009, 13:24   #13
integra
AnyKey`щик
 
Регистрация: 19.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Lib_sms

abcdef! Спасибо за библиотеку! Ее полезность - не менее 20...30 (но вот форум больше 1 за пост не позволяет).
ViNT! Спасибо за советы! +1!
В общем, работает интересно:
- позволяет определить время отклика сервера
- позволяет перехватывать СМС - в переменную пишет ее текст(!)
- позволяет писать СМС
интересный факт: исходящие и входящие СМС НЕ остаются в стандартных мессенджерах телефона. Собственно, это и есть полный перехват управления.

!?: А где тогда хранятся потом эти СМС и как их удалить? Если пользоваться долго на прием сообщений - если это не флэш - память быстро забъется!
(Offline)
 
Ответить с цитированием
Старый 28.10.2009, 14:37   #14
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
Ответ: Lib_sms

?!
http://www.mobilab.ru/articles/12/
http://www.mobilab.ru/articles/94/
http://forum.vingrad.ru/forum/s/11a4...y620787/0.html
http://developers.sun.com/mobility/midp/articles/wma/
http://developers.sun.com/mobility/m...cles/optional/
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
integra (28.10.2009)
Старый 28.10.2009, 20:11   #15
integra
AnyKey`щик
 
Регистрация: 19.10.2009
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Ответ: Lib_sms

...вроде бы разобрался немного... похоже что надо порт 22001 ставить чтобы все входящие принимала. А вот в итоге - весь день бьюсь и не могу заставить телефон читать входящие, работая в режиме ожидания - т.е. если сам на себя отправляю и порт 5151 - все ОК, а если с другого тел - ... (ну т.е. мысль такая, что если ничего не делать то на пустом экране просто должны сообщения входящие отражаться... Сделал вот что:
stat_id:=formAddString('');
exitCmd:=createCommand('exit', CM_EXIT, 1);
showForm;
addCommand(exitCmd);
rr:=smsserver.start('sms://:22001', 9);  
 repeat
   repeat cmd:=getClickedCommand; until cmd<>emptyCommand;
    if smsserver.staus>0 then
       repeat
         if smsServer.staus=3 then addLog(chr(10)+smsServer.getmsg);
         cmd:=getClickedCommand;
       until cmd<>emptyCommand;
    else addLog('Error: sms not Started'+chr(10));
 until cmd=exitCmd;
smsServer.stop;
Вроде бы все коротко и просто - но при вызове этой процедуры ничего не делает.
Хелп ми, если можете, плиз!

И еще - вопрос к автору (abсdef) - Не могли бы Вы добавить в библиотеку функцию определения номера? - что-то вроде msServer.getnum ? и выложить здесь в виде .class

Последний раз редактировалось integra, 28.10.2009 в 22:24.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lib_sms.class Jar Основной форум 7 29.03.2007 01:06


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


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