Delphi. Учимся на примерах
Шрифт:
⊚ Все файлы проекта и исполняемый файл клиентской программы находятся на прилагаемом к книге компакт-диске в папке Chapter_16\Client, а файлы проекта и исполняемый файл серверной программы — в папке Chapter_16\Server.
Глава 17
Бесплатная отправка SMS через Internet
Постановка задачи
Разработать программу для бесплатной отправки SMS через Internet. Осуществлять отправку через сайты популярных украинских операторов ("UMC", "Джинс", "Киевстар"…)
Разработка формы
Для того чтобы отправить SMS, необходимо знать номер телефона, на который мы будем отправлять сообщение, оператора этого номера и, естественно, — само отправляемое сообщение.
Создайте новый проект Delphi и присвойте форме заголовок SMS-sender (свойство Caption). Разместите на форме компонент Label категории Standard и присвойте его свойству Caption значение Оператор:. Справа от него разместите компонент ComboBox (раскрывающийся список) категории Standard и измените его свойства согласно табл. 17.1.
Примечание
Свойство ComboBox.Items — это список строк, редактируемый в специальном окне, которое открывается по двойному щелчку мышью в соответствующем поле инспектора объектов.
Таблица 17.1. Свойства компонента ComboBox
Свойство | Значение | Пояснение |
---|---|---|
Name | oper | Новое имя компонента |
Text | <Выберите оператора> | Текст в поле |
Items | Джинс(066) UMC(050) Киевстар(067) | Перечень операторов, на которых мы будем отправлять SMS |
Примечание
В данном примере используется перечень мобильных операторов, действующих на территории Украины. Если вы живете в другой стране, используйте собственный список операторов.
Под первой меткой разместите еще один компонент label,
Ниже этих двух компонентов разместите компонент Label с текстом Сообщение: (свойство Caption). Под ним разместите компонент Memo категории Standard, присвоив ему имя sms. Для него можно поставить ограничение на ввод 160 символов, поскольку мобильные операторы обычно разрешают отправлять с Web-сайта сообщения длиной не больше 160 символов. Для того чтобы установить это ограничение, присвойте свойству sms.MaxLength значение 160.
Для отображения количества символов, введенных в поле sms, разместите под memo-полем компонент Label и измените его свойства согласно табл. 17.2.
Таблица 17.2. Свойства компонента Label для отображения длины сообщения
Свойство | Значение | Пояснение |
---|---|---|
Name | kolvo | Новое имя компонента |
Caption | 0 | Надпись метки |
Font.Color | clRed | Цвет надписи — красный |
Font.Size | 18 | Размер шрифта |
В правом нижнем углу формы разместите кнопку (компонент Button категории Standard), присвоив ее свойству Caption значение Отправить.
Для отправки SMS нам понадобится компонент для передачи электронной почты через SMTP. Такой компонент есть на вкладке FastNet и называется он NMSMTP. Для того чтобы установить некоторые настройки, у вас должен быть собственный адрес электронной почты. Бесплатных почтовых серверов в Internet предостаточно, так что с этим проблем возникнуть не должно.
В рассматриваемом примере будет фигурировать адрес электронной почты автора (heel-adm@yandex.ru). При желании, все перечисленные ниже настройки, конечно же, можно заменить собственными.
В свойстве NMSMTP1.Host следует указать smtp-сервер. Для yandex.ru это свойство должно принять значение smtp.yandex.ru. В свойстве UserID необходимо указать логин отправителя — указываем heel-adm. Теперь разверните свойство PostMessage и измените значение вложенного свойства FromAddress на heel-adm@yandex.ru, a FromName — на heel-adm. Значение свойства Port измените на 25.
Полученная в результате форма должна соответствовать рис. 17.1.
Рис. 17.1. Форма программы для отправки SMS
Разработка программного кода
По нажатию кнопки Отправить будет выполняться следующий код: