forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   отправка смс, проблема с указанием номера (http://forum.boolean.name/showthread.php?t=14024)

betirsolt 09.01.2011 20:28

отправка смс, проблема с указанием номера
 
всем привет,вот пытаюсь написать прогу типа как стандартная для отправки смс с возможностью указать номер и текс смс
Код:

program NewProject00;
var
okCommand:command;
sms:string;
number:string;
begin
showTextBox('Кому','',12, TF_PHONENUMBER );
  okCommand := createCommand('OK', CM_OK, 1);
  addCommand(okCommand);
  repaint;
  while (getClickedCommand <> okCommand) do
 delay(100);
 number := getTextBoxString;
 showTextBox('SMS','', 300, TF_ANY);
 addCommand(okCommand);
 while (getClickedCommand <> okCommand) do
 delay(100);
 sms := getTextBoxString;
repaint;

if not smsStartSend('sms://number', sms) then halt;
delay(2000); 
    while smsIsSending do
      delay(10000);
 if not smsWasSuccessfull then 
    end.

вот что у меня получилось,но при этом смс не отправляется,чтоб работало мне приходиться указывать номер еще при разрабтке
Код:

if not smsStartSend('sms://89281111111', sms) then halt;
тогда все работает,но мне нужно чтоб пользователь сам мог указывать кому отправлять,я в этом новичок и это мой первый проект в MidletPascal,подскажите как надо сделать правильно?

Igor 09.01.2011 21:06

Ответ: отправка смс, проблема с указанием номера
 
А теперь скажи честно: зачем это тебе надо?

baton4ik 09.01.2011 21:07

Ответ: отправка смс, проблема с указанием номера
 
Функция принимает строку как аргумент. Ты задал строку: 'sms://number'
Тут "number" - не название переменной, а просто строка. Сделай так:
'sms://'+number

Правда не уверен, с паскалем давно не общался

Igor, не перегибай палку. Или все, кому нужна отправка смс, злодеи? Я в скором времени буду делать одному человеку приложение - телефонный справочник, там нужна отправка смс.

betirsolt 09.01.2011 21:48

Ответ: отправка смс, проблема с указанием номера
 
Цитата:

Сообщение от Igor (Сообщение 175003)
А теперь скажи честно: зачем это тебе надо?

просто чтоб уметь,это моя первая прога для смарта

betirsolt 09.01.2011 21:54

Ответ: отправка смс, проблема с указанием номера
 
Цитата:

Сообщение от baton4ik (Сообщение 175004)
Функция принимает строку как аргумент. Ты задал строку: 'sms://number'
Тут "number" - не название переменной, а просто строка. Сделай так:
'sms://'+number
.

большое спасибо все заработало,как же я сам не догадался)))

betirsolt 10.01.2011 03:49

Ответ: отправка смс, проблема с указанием номера
 
ребята а как мне все это красиво оформить?ну что открлась прога и сразу как в стандартном отправителе смс было все.т.е строка для ввода номера и внизу поле для ввода текста смс,а то у меня сначала появляется поле для ввода номера на весь экран а мне нужна просто строка,ну думаю понятно че я хочу сделать, и еще у меня не видны заголовки из процедур
Код:

showTextBox('Кому','',12, TF_PHONENUMBER );
и
Код:

showTextBox('SMS','', 300, TF_ANY);
и в поле Кому,не смотря на TF_PHONENUMBER можно вводить все что угодно

FighteR 10.01.2011 16:22

Ответ: отправка смс, проблема с указанием номера
 
поставь параметр не фоненабер а параметр нумерик.

betirsolt 10.01.2011 19:48

Ответ: отправка смс, проблема с указанием номера
 
Цитата:

Сообщение от FighteR (Сообщение 175125)
поставь параметр не фоненабер а параметр нумерик.

тогда нельзя выбирать номер из контактов,и поле все равно на весь экран

12121 10.01.2011 23:42

Ответ: отправка смс, проблема с указанием номера
 
showTextBox - конечно на весь экран. Надо - FormAddTextField.
Очень трудно пролистать весь раздел "формы"

betirsolt 11.01.2011 20:46

Ответ: отправка смс, проблема с указанием номера
 
вот переделал
Код:

program NewProject00;
var
okCommand:command;
sms:string;
number:integer;
begin
showform;

  number:=FormAddTextField('Кому','',12, TF_PHONENUMBER );
  okCommand := createCommand('OK', CM_OK, 1);
  addCommand(okCommand);
 
 repaint;
  while (getClickedCommand <> okCommand) do
 delay(100);

 
 showTextBox('SMS','', 300, TF_ANY);
 addCommand(okCommand);
 while (getClickedCommand <> okCommand) do
 delay(100);
 sms := getTextBoxString;
repaint;

if not smsStartSend('sms://'+number, sms) then halt;
drawText('отправка смс', 0, 0);
 delay(2000); 
    while smsIsSending do // ждём, пока сообщение не будет отправлено
      delay(3000);

    if not smsWasSuccessfull then halt;  // проверяем, успешно ли было отправлено сообщение
 
end.

но он теперь не отправляет смс,я нажимаю разрешить а он не отправляет

betirsolt 13.01.2011 19:43

Ответ: отправка смс, проблема с указанием номера
 
ну кто нибудь скажет мне в чем дело?

odd 14.01.2011 01:15

Ответ: отправка смс, проблема с указанием номера
 
Проблема в том, что у тебя нет поля для ввода текста SMS. В итоге телефон пытается передать пустую строку, что и приводит к нулевому результату.

betirsolt 14.01.2011 19:35

Ответ: отправка смс, проблема с указанием номера
 
Цитата:

Сообщение от odd (Сообщение 175566)
Проблема в том, что у тебя нет поля для ввода текста SMS. В итоге телефон пытается передать пустую строку, что и приводит к нулевому результату.

как нет? а это что?
Код:

showTextBox('SMS','', 300, TF_ANY);
 addCommand(okCommand);
 while (getClickedCommand <> okCommand) do
 delay(100);
 sms := getTextBoxString;
repaint;

if not smsStartSend('sms://'+number, sms) then halt;

он отображает поле для ввода смс и я ввожу его нажимаю ОК он запрашивает разрешение на отправку я разрешаю но он не отправляет

ViNT 14.01.2011 19:53

Ответ: отправка смс, проблема с указанием номера
 
Код:

number:=FormAddTextField('Кому','',12, TF_PHONENUMBER );
только добавляет текстовое поле на форму, возвращая в number его идентификатор, а не введенное значение. Для получения значения нужно использовать примерно такой код:
PHP код:

var
 
nID:integer;
 
number:String;
 
ok:Command;

begin
 ShowForm
;
 
nID:=FormAddTextField('Кому','',12TF_PHONENUMBER );
 
ok:=CreateCommand('OK',CM_OK,1);
 
AddCommand(ok);
 
repeat
  Delay
(100);
 
until GetClickedCommand=ok;
 
number:=FormGetText(nID); 

Только после этого при нажатии OK получим введенный номер в переменной number.

betirsolt 15.01.2011 02:46

Ответ: отправка смс, проблема с указанием номера
 
спасибо помогло


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

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