![]() |
нужно отправить смс на короткий номер 10625 все вроде работает смс отправляетса но текст приходит в непонятной кодироке например (отсылаю "1608021178" а приходит вот такая белеберда "//SCKL0114 31D98C568BDFCB723A") если место короткого номера ставлю обычны например +380661357278 то все на этот номер приходит в нормальном формате. пробывал поставить 'sms://+10625' в результате не чего не отсылаетса... ("+" означает что номер в международном формате и соотвецтвенно оператор понимает смс и доставляет его в нужной кодировке, а вот если нету "+" то тип не известен оператору я так понемаю и он присылает белеберду) Подскажите что делать и как боротса....
begin // start sending SMS to phone number 7606 if not SmsStartSend('sms://10625', sms_zakaz) then Halt; // wait until the message is sent while SmsIsSending do Delay(100); // check if the message was sent successfully if not SmsWasSuccessfull then Halt; sms_zakaz := ''; end; На яве видел пишут так 'sms://:10625' пробывал не работает так.... Sad |
Цитата:
пишешь sms.send('sms://:10625') и будет точно как из явы |
Цитата:
пишешь sms.send('sms://:10625') и будет точно как из явы [/b][/quote] А можно поподробнее а то я что-=то у меня не получаетса.... :unsure: просто с паскалем и недавно работаю..... :unsure: вобщем сильно не шарю вот и прошу раздуплить..... :wallbash: если не вам не тяжело.... :@ |
Цитата:
пишешь sms.send('sms://:10625') и будет точно как из явы [/b][/quote] вот присоединил библиотеку uses sms; прописал и при компилировании выбиват ощибку 114: error, boolean type expected может я конечно что-то нетак прописал.... подскажите :'(( begin // start sending SMS to phone number 7606 sms.send('sms://:10625') // if not SmsStartSend('sms://:10625', sms_zakaz) then Halt; if not sms.send('sms://:10625', sms_zakaz) then Halt; // wait until the message is sent while SmsIsSending do Delay(100); // check if the message was sent successfully if not SmsWasSuccessfull then Halt; sms_zakaz := ''; end; |
Цитата:
из библиотеки нельзя вернуть boolean. 0 = false, 1 = true |
Цитата:
из библиотеки нельзя вернуть boolean. 0 = false, 1 = true [/b][/quote] begin if sms.send('sms://:10625', sms_zakaz)=0 then Halt while SmsIsSending do Delay(100); if not SmsWasSuccessfull then Halt; sms_zakaz := ''; end; вот зделал так выскакивает запрос на отправку смс и сразу закрываетса мидлер а смс так и не отправился :?? |
begin
if sms.send('sms://:10625', sms_zakaz)=0 then Halt // wait until the message is sent while is_sending = 1 do Delay(100); // check if the message was sent successfully if Successfull = 0 then Halt; sms_zakaz := ''; end; так тоже не пашет :?? |
я ступил sms://:10625 это порт без номера, конечно ничего не получтся, так только принимать можно.
|
Цитата:
|
Сорри что пишу не там... я не смог зарегиться на вашем форуме... блин, не приходит мне подтверждение на мыло.. :((
Админ, помоги плз... и ещё.. вот занялся я тут этим пискалем, что-то не получается прога, ошибок нету, но наротает не так, как бы я хотел : program Vibr; uses vl; // Vibr and Light class var label_id:integer; begin Showform; label_id := formAddString('MegaProga'); repeat if GetKeyPressed = KE_KEY1 then vl.start_vibrator; if GetKeyPressed = KE_KEY2 then vl.stop_vibrator; until GetKeyClicked = KE_KEY0; end. ПРОШУ ПОМОГИТЕ!!! |
надо:
program Vibr; uses vl; // Vibr and Light class var label_id:integer; begin ShowCanvas; drawText('MegaProga', 0 ,0); repaint; repeat if GetKeyPressed = KE_KEY1 then vl.start_vibrator; if GetKeyPressed = KE_KEY2 then vl.stop_vibrator; until GetKeyClicked = KE_KEY0; end. на форме клавиши не работают, нужно добавлять команды |
2Guest:
иногда мыло "застревает" до суток. Подожди. Если не придёт - стучи в ICQ или на мыло пиши |
так всетаки давайте вернемся к теме .... как послать смс на короткий номер правельно????? :bad:
|
Re: отправить смс на короткий номер 10625
Уважаемые профи ответьте на вопрос. Почему на короткий номер отправка СМС не работает.
Короче на SE750i выскакивает надпись "отправлять СМС да или нет" на доли секунд и исчезает , после чего вылетает из мидтета , а один раз даже перегрузился. Стандартный SM class тоже не работает на SE750i , мидлет тупо виснет. pilgrim может подправишь класс под короткий номер . Отблагадарю . |
Re: отправить смс на короткий номер 10625
Заметил такой момент, если компилирую в МР отправку смс , он прописывает в файле MANIFEST.MF
строку MIDlet-Permissions: javax.wireless.messaging.sms.send Вот если удалить эту строку то телефон не виснет , но и не отправляет СМС. :( |
Re: отправить смс на короткий номер 10625
Permissions для того и пишутся чтобы телефон знал, что мидлет хочет СМС отправлять. Но вообще-то по умному он должен спросить если нет разрешения.
Бибилотека и так написана по принципу "отправляй что хочешь". Дело в том что по стандарту номер должен быть в международном формате, видимо здесь ява машина мудрит. |
Re: отправить смс на короткий номер 10625
Цитата:
Декомпилировал классы твой и стандартный для сравнения , заметил что у тебя порт не пишется "destination = s + ":276"; " это из стандартного класса строка выдернута. Писал вот так: if sms.send('sms://1010','Всем привет') <> 1 then halt; while is_sending = 1 do delay(100); if Successfull = 0 then halt; |
Re: отправить смс на короткий номер 10625
порт убран, т.к. у человека, для которого это писалось не отправлялись смс, его оператор этот порт не обслуживал.
можно обложить отправку try{}catch и посмотреть почему вылетает. на моей мотороле он просто не отправляет, без вылета из программы. |
Re: отправить смс на короткий номер 10625
Все равно не пашет .
|
Re: отправить смс на короткий номер 10625
Pilgrim помоги сделать класс SMS полностью идентичным стандартному, мне нужно избавится от строки: MIDlet-Permissions: javax.wireless.messaging.sms.send в файле MANIFEST.MF , все из-за нее , если я ее удаляю тел запускается без проблем.
Для редактирования выкладываю тебе класс : import javax.microedition.io.*; import javax.wireless.messaging.MessageConnection; import javax.wireless.messaging.TextMessage; class Lib_sms implements Runnable { public static boolean isSending = false; public static int success = 0; private String destination; private String message; public static int send(String s, String s1) { if(isSending) { return 0; } else { new Lib_sms(s, s1); return -1; } } public Lib_sms(String s, String s1) { success = 0; isSending = true; destination = s + ":276"; message = s1; try { Thread thread = new Thread(this); thread.start(); } catch(Exception exception) { isSending = false; } } public void run() { try { MessageConnection messageconnection = (MessageConnection)Connector.open(destination); TextMessage textmessage = (TextMessage)messageconnection.newMessage("text"); textmessage.setAddress(destination); textmessage.setPayloadText(message); messageconnection.send(textmessage); messageconnection.close(); isSending = false; success = -1; return; } catch(Throwable throwable) { } try { DatagramConnection datagramconnection = (DatagramConnection)Connector.open(destination); Datagram datagram = datagramconnection.newDatagram(message.getBytes(), message.getBytes().length, destination); datagramconnection.send(datagram); datagramconnection.close(); isSending = false; success = -1; } catch(Throwable throwable1) { isSending = false; success = 0; return; } isSending = false; success = -1; } public static int IS() { return !isSending ? 0 : -1; } public static int GS() { return success; } } |
Часовой пояс GMT +4, время: 09:00. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot