Показано с 1 по 9 из 9

Тема: SMS.lib

  1. #1

    По умолчанию SMS.lib

    У всех эта библиотека работает? Или мне версия не для России досталась?
    Скачал пример(01_SMS.zip + SMS 8 input F.rar), залил на ПЛК100 и он отказался отправлять SMS. В итоге проблема оказалась в строке:
    send_str:=CONCAT('0011000С91',sPhone_out[k]);
    0х0С - это количество цифр в номере. Для России 0х0B и строка должна иметь вид:
    send_str:=CONCAT('0011000B91',sPhone_out[k]);

    После этого SMS нормально отправляются. Кто пользовал эту библиотеку, можете посмотреть, что там у вас?

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    0В91 используется для десятизначного номера без восьмерки или +7, для России в том числе

  3. #3

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    0В91 используется для десятизначного номера без восьмерки или +7, для России в том числе
    Это как? С этого места по подробней плиз. Если учесть, что +7 это код страны.
    Последний раз редактировалось dimka_pro; 15.06.2012 в 14:06.

  4. #4
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    Десятизначный номер телефона плюс код страны, если код страны занимает один знак то в конце номера дописывается буква F для обеспечения четности количества знакомест.
    0В в шестнадцатириричной означает 11. Видимо в библиотеке действительно сделано под российские номера и F вставляется принудительно не смотря на количество знаков

  5. #5
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    А 0С это для таких как Украина только F не должна добавлятся

  6. #6

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Десятизначный номер телефона плюс код страны, если код страны занимает один знак то в конце номера дописывается буква F для обеспечения четности количества знакомест.
    0В в шестнадцатириричной означает 11. Видимо в библиотеке действительно сделано под российские номера и F вставляется принудительно не смотря на количество знаков
    F добавляется по делу, а вот ко-во знаков в номере должно быть 0x0В. По факту 0х0С. Мне просто интересно, у всех так или только мне "повезло".

  7. #7
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    Если стоит 0С, значит библиотека писана в Украине и в конце ни чего не добавляется, следовательно введя российский номер сформируется не правильный пакет. Два выхода изменить в библиотеке букву либо к российскому номеру добавить F. Можно и самому написать библиотеку с учетом анализа длинны номера

  8. #8

    По умолчанию

    И ещё было бы неплохо добавить:
    ELSIF sTemp=',' THEN
    RUS_UNICODE:=CONCAT(RUS_UNICODE,'002C');
    Запятая тоже нужна

  9. #9

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Если стоит 0С, значит библиотека писана в Украине и в конце ни чего не добавляется, следовательно введя российский номер сформируется не правильный пакет. Два выхода изменить в библиотеке букву либо к российскому номеру добавить F. Можно и самому написать библиотеку с учетом анализа длинны номера
    Это понятно, просто пример на сайте не корректный. Я прилично времени убил на поиск ошибки.

Ваши права

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