Skype API. Библиотека Skype4COM. Работа с sms-сообщениями

4 минуты на чтение

На этот раз, мы рассмотрим, как можно работать с sms-сообщениями, при помощи библиотеки Skype4Com. Тут все очень просто, очень похоже, как мы работали со звонками. Тут только лишь отличается интерфейсом и типом, который определяет статус отправки сообщения.

Что касается статуса отправки сообщения, то сделаем это тоже быстрым методом, с использованием компонента TTimer.

Проект наш уже имеется, нам необходимо только лишь добавить необходимые компоненты, а понадобятся нам следующие компоненты:

  • TButton
  • TEdit — 2 шт.
  • TMemo

TEdit - для ввода номера телефона, кому мы будем отправлять SMS и от кого, а также необходим TMemo- для ввода текста SMS, ну а по нажатию на TButton мы будем отправлять SMS, на указанный номер.

С проектом, вроде бы, разобрались. Теперь нам необходимо объявить 2-е переменные, одна для работы со статусом, а вторая для отправки sms-сообщения.

Для этого нам потребуется интерфейс — ISmsMessage, а также тип — TSmsMessageStatus, для работы со статусом отправки сообщения. В итоге, у меня получилось следующее:

var
  Sms:ISmsMessage;
  SmsStatus:TSmsMessageStatus;

Создавать и отправлять sms-сообщения, можно и без объявления переменной, ссылки на интерфейс, но сделав это, мы получим полный контроль над каждым sms-сообщением, так что это довольно таки удобно.

Давайте приступим к нашему проекту. На событие OnClick нашей кнопки, по нажатию на которую, мы будем отправлять sms-сообщение, напишем следующий код:

procedure TForm2.Button8Click(Sender: TObject);
var
 idsms:Integer;
begin
   Sms:=CoSmsMessage.Create;
   Sms:=Skype.CreateSms(smsMessageTypeOutgoing,'TNumber');
   idsms:=Sms.Id;
   Sms.Body:='Body sms';
   Sms:=Skype.SendSms('InNumber','TextMessage','OutNumber');
   SmsStatus:=Sms.Status;
   StatusBar1.Panels[1].Text:=Skype.Convert.SmsMessageStatusToText(SmsStatus);
end;

Сначала создаем объект ISmsMessage, после чего, с помощью функции CreateSms, мы создаем наше sms-сообщение, где указываем его тип, а также номер, для которого оно будет создаваться.

После этого, мы получаем идентификатор нашего sms-сообщение , с помощью свойства Body - задаем заголовок сообщению, с помощью функции SendSms - отправляем Sms-сообщение, где указываем номер телефона, кому отправляем, текст сообщения, а также номер телефона, от кого отправляем.

Дальше получаем статус отправки sms-сообщения и конвертируем его в текст, после чего выводим в TStatusBar.

Как видите ничего сложного. Как я и говорил, каждым sms-сообщением можно управлять по-своему, вот пример, как удалить конкретное sms-сообщение:

procedure TForm2.Button8Click(Sender: TObject);
var
 idsms:Integer;
begin
   Skype.Smss.Item[idsms].Delete;
end;

Но все это можно было сделать без создания дополнительных объектов, а использовать объект TSkype. Например:

procedure TForm2.Button8Click(Sender: TObject);
begin
   Skype.CreateSms(smsMessageTypeOutgoing,'TNumber');
   Skype.Smss.Item[0].Body:='body sms';
   Skype.SendSms('InNumber','Text message','OutNumber');
end;

Ну вот и все, как видите ничего сложного нету. Как-то мы рассматривали статью про отправку sms-сообщений, через sms-шлюзы. Так что вот, мы еще один рассмотрели способ отправки sms, но данный способ требует денежных затрат, хотя если у Вас бизнес, который требует отправки sms-сообщений Вашим клиентам, то затраты для Вас будут не существенные, удачи.

Facebook Vk Ok Twitter LinkedIn Telegram

Похожие записи:

Здравствуйте, давайте вернемся к Skype API. А рассмотрим мы в этой статье то, как можно из стороннего приложения управлять приложением Skype и производить какие-то настройки. Мы уже рассмотрели как можно получать список ников, отправлять им сообщения, смотреть...
Всем здравствуйте. Данная статья, будет рассказывать о том, как можно в Skype разрешить доступ программам к Skype и постоянно не отвечать на всплывающие окна Skype. Скажу сразу, что вся ответственность за добавления в список безопасных программ лежит на Вас, п...
Всем здравствуйте, не так давно, мне на email поступил вопрос о том: как работать со Skype4COM в новых версиях Skype (при запуске приложения, которое обращается к Skype API , появляется ошибка — Класс не зарегистрирован). До этого я проблем не замечал, так как...