forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_sms (http://forum.boolean.name/showthread.php?t=9068)

cyberdyne 03.09.2009 22:12

Lib_sms
 
ктонить может дать дельный пример использования этой либы, желательно аналогичный примеру из хелпа

abcdef 07.09.2009 17:51

Ответ: Lib_sms
 
Вложений: 1
пример Отправки и Получения 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

cyberdyne 07.09.2009 18:50

Ответ: Lib_sms
 
очень интересно, спасибо

integra 26.10.2009 22:14

Ответ: Lib_sms
 
А где взять этот "Lib_smsserver.class"? Этой библиотеки во всем инете нет!

abcdef 27.10.2009 09:12

Ответ: Lib_sms
 
Цитата:

Сообщение от integra (Сообщение 122590)
А где взять этот "Lib_smsserver.class"?

из архива "smstest.zip" извлечь файл "smstest\bin\smstest.jar" и переименовать в "*.zip", внутри этого архива все требуемые библиотеки...
(это применимо к любым подобным случаям)

integra 27.10.2009 13:08

Ответ: Lib_sms
 
Цитата:

Сообщение от abcdef (Сообщение 122637)
из архива "smstest.zip" извлечь файл "smstest\bin\smstest.jar" и переименовать в "*.zip", внутри этого архива все требуемые библиотеки...
(это применимо к любым подобным случаям)

Записано в цитатник наравне с К.Марксом и В.Лениным! :super:
СПАСИБО!

integra 27.10.2009 15:15

Ответ: Lib_sms
 
Класс вынул, в "Либ" положил - компилится нормально. Залил jar на телефон - не хочет отправлять сообщение. Ничего в тексте программы кроме номера не менял.
Порт тоже не слушает и СМС не перехватывает у основного обработчика. В чем м.б. дело?

ViNT 27.10.2009 16:05

Ответ: Lib_sms
 
Какой телефон?
Запросы на отправку/регистрацию обработчика появляются?

integra 27.10.2009 16:18

Ответ: Lib_sms
 
N7610
Цитата:

..
SMS <+79870000000> no Send

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

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

Если нужно получить сообщение мидлетом, то дописываем к адресу порт на котором слушает мидлет.
Как определить порт, на котором слушает мидлет? Для меня это - вообще джунгли непроходимые!:''((

ViNT 27.10.2009 17:46

Ответ: Lib_sms
 
А SM.class заменял?

integra 27.10.2009 17:54

Ответ: Lib_sms
 
Я его просто в Либс вставил - там старого и не было... Правда в тексте программы не нашел, чтобы к нему обращение типа "юзес" было и вроде перед ним Либ_ не стоит... - это для меня тоже загадки :-(

ViNT 27.10.2009 17:55

Ответ: Lib_sms
 
Это не библотека, а переделанный стандартный класс MP, его нужно прилинковать к ресурсам проекта.

integra 28.10.2009 13:24

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

!?: А где тогда хранятся потом эти СМС и как их удалить? Если пользоваться долго на прием сообщений - если это не флэш - память быстро забъется!

abcdef 28.10.2009 14:37

Ответ: 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/

integra 28.10.2009 20:11

Ответ: 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


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

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