M I D l e t P a s c a l
Связь

HTTP соединение

Мобильный телефон может подключаться к сети Интернет используя WAP соединение. Мидлет может сам установить соединение и после этого отправлять или получать какие-либо данные. Выходя в Интернет используя ваше приложение помните, что скорость передачи данных часто бывает низкой, а вот плата за пользование данной услугой довольно высока. Впрочем, всё это зависит от мобильного оператора связи и возможно в недалёком будущем ситуация изменится в лучшую сторону.

Все мобильные телефоны, которые могут подключаться к сети Интернет, должны поддерживать HTTP протокол передачи данных, по-этому MIDlet Pascal содержит функции для работы с HTTP протоколом. Многие (навороченные) телефоны могут поддерживать и другие протоколы (такие как UDP, SMTP, POP3 и др.). Если вы хотите использовать другие протоколы передачи данных в вашем мидлете, вам нужно будет подключать и использовать специальные библиотеки для каждого из этих протоколов.

В MIDlet Pascal предусмотрен специальный тип переменных под названием http, который используется как идентификатор HTTP соединения. В приведенном ниже коде мидлет устанавливает связь и скачивает web-страничку из Интернета:


var conn        : http;
    htmlBody    : string;
    contentType : string;

begin
  // Пытаемся установить соединение с сайтом www.google.com
  if not OpenHttp(conn, 'http://www.google.com') then Halt;

  // Задаем метод передачи данных (другие поддерживаемые методы  - это HEAD и POST)
  SetHttpMethod(conn, GET);

  // Указываем название нашего браузера
  AddHttpHeader(conn, 'User-agent', 'Opera Mini 9.25');

  // Отсылаем HTTP запрос и проверяем код ответа (200 = OK)
  if SendHttpMessage(conn) <> 200 then Halt;

  // Скачиваем запрашиваемый файл (по-идее это index.html)
  htmlBody := GetHttpResponse(conn);

  // Читаем заголовок присланного файла
  contentType := GetHttpHeader(conn, 'Content-type');

  // Закрываем соединение
  CloseHttp(conn);
end.





Отправка SMS сообщений

Помимо прочего, мидлет может автоматически отправлять SMS сообщения. MIDlet Pascal поддерживает функции для отправки данных сообщений. Краткий перечень функций такой: SmsStartSend, SmsIsSending и SmsWasSuccessfull. В приведенном ниже примере осуществляется отправка SMS на другой телефон:


begin
  // Начинаем отправку сообщения на номер +5550000
  if not SmsStartSend('sms://+5550000', 'Идиот! У меня не начинается!') then Halt;
  
  // Ждём пока сообщение отправится...
  while SmsIsSending do 
    Delay(100);

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