CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2003 ГОД

Sкажи Mне, Sивилла…

Леонид ЯИЦКИЙ megaoffice10@mail.ru

С постепенным падением цен на услуги мобильной связи, «трубу» может позволить себе завести даже студент. Однако после месяца эйфории и наслаждения собственной крутизной неожиданно понимаешь, что простой стипендии и подработок явно не хватает для более или менее комфортного общения с друзьями. Некоторые особо шустрые умудряются передавать свои мысли товарищу за бесплатные несколько секунд, однако всем ясно, что это не выход.

Решение напрашивалось само собой. Посетив сайты наиболее популярных в моем городе компаний «Киевстар», UMC и Golden Telecom, я обнаружил весьма интересные разделы, посвященные отправке SMS-сообщений на мобилки через Глобальную Сеть. «Вот то, что мне надо» — подумал я и немедленно уселся за Delphi.

Технология отправки сообщений через Интернет была довольно проста: заполнив поля на соответствующей страничке сайта, пользователь фактически отправлял обычное письмо e-mail, адрес которого определялся таким образом:

Мне предстояло написать программу, которая, в зависимости от выбранного оператора, отправляла бы e-mail сообщение по тому или иному адресу. Конечно, категория мобильности в этом случае распространяется лишь на моего друга, у которого при себе телефон — я-то ведь должен буду сидеть дома за компьютером. Но чем не пожертвуешь, стремясь сэкономить!

«Как же можно сэкономить с помощью твоей программы?» — спросите. Очень просто. Клиентам «Киевстар», например, отправка сообщения обходится в 0.33 грн. Нашей же программе (на ПК с Windows 9x и 28.8-Кбит/c модемом) для отправки сообщения потребуется около 15-25 секунд интернет-времени, что даже в сумме с повременкой за телефон составит не более 0.1 грн в бизнес-время. Это почти в 3 раза дешевле обычного SMS. Немного проигрывая в мобильности связи, мы здорово выигрываем в ее цене!

Итак, если я вас убедил, пора приступать. На пустой форме создадим объекты ComboBox для выбора оператора, кнопку Button1 для непосредственной отправки письма, NmSmtp для взаимодействия с почтовым сервером. Также нам понадобится Memo для ввода текста письма (текст не должен содержать форматирования) и целая куча Edit`ов (для ввода номера абонента, темы письма, обратного адреса и smtp-сервера, через который, собственно, будут уходить сообщения). Интерфейсная часть программы почти готова.

Теперь пришло время для написания кода.

Сначала пользователь должен будет выбрать оператора связи из списка ComboBox1.

В качестве примера составим наш список следующим образом: Киевстар Ace&Base, Киевстар Контракт, UMC, Golden Telecom. Естественно, вы можете добавить сюда и других операторов мобильной связи, пользующихся уважением в вашей местности :-). Пишем процедуру выбора:

Как видим, в зависимости от выбора пользователя программа записывает в поле для указания номера абонента (у меня это Nomer) префикс номера соответствующей сети. После этого лишь остается вручную дополнить номер.

Немаловажная деталь: у большинства операторов мобильной связи SMS-сообщение должно содержать не более 120-160 символов, причем сюда входят и текст послания, и тема, и обратный адрес. Поэтому наша программа должна сама предупреждать многословного пользователя об окончании лимита символов. А сделаем мы это с помощью еще одного объекта Edit1 (для вывода информации об оставшихся символах) и объекта Timer1 (для регулярного обновления этой информации):

Объясняю работу этого довольно простого алгоритма. Мы объявляем две переменные для суммы символов и для пересчета строк. Сумме присваивается значение 0. После этого сканируем построчно поле для ввода текста сообщения (Memo1) и к сумме добавляем длину текущей строки.

Теперь допустим, что средняя длина SMS-сообщения без темы и обратного адреса равна 120 символам. При достижении количества символов 95 окошко Edit1 окрасится в предупреждающий желтый цвет, а при достижении 105 — в красный. Не забудем в свойствах объекта Memo1 указать максимальную длину текста 120 символов (Memo1.MaxLength:=120;). Сделать это лучше в окне Object Inspector. Максимальную длину темы сообщения тоже лучше указать — пусть она будет в пределах 10-20 символов.

После всех операций в Edit1 записывается количество еще доступных для ввода символов.

Вот, в принципе, и вся основная часть программы. Теперь нам лишь осталось написать код для отправки сообщения. Вот как выглядит исходник процедуры нажатия на кнопку отправки:

Комментарий: replyemail, subj, smtp и Edit8 — объекты TEdit, соответственно, для указания обратного адреса, темы сообщения, адреса почтового сервера и для формирования окончательного адреса, на который уйдет наше SMS.

После этого можно украсить программу наворотами для собственного удобства — например, приспособить ее для массовой рассылки SMS друзьям или клиентам.

В общем, удачи вам, а также смелых и компилирующихся :-) идей!

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov