Книга: Программирование КПК и смартфонов на .NET Compact Framework

Создание программы для работы с ИК-связью

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

Кнопка butFindDevs предназначена для поиска устройств, кнопка butSend — для отправки текстового сообщения, а кнопка butReceive служит для приема сообщения. В списке listBox1 будет отображаться информация об обнаруженных устройствах, а в строке состояния будут отображаться сообщения о производимых операциях. Для передачи данных и работы с файлами нам необходимо импортировать несколько пространств имен, как это показано в листинге 12.1.

Листинг 12.1

Imports System.Net
Imports System.IO
Imports System.Net.Sockets

Для работы с инфракрасной связью необходимо подключить к проекту класс IrDAClient. Для этого выполним команду меню Project?Add Reference и в диалоговом окне выберем пункт System.Net.IrDa.

Теперь нужно объявить переменные на уровне класса, как показано в листинге 12.2

Листинг 12.2

private IrDAListener irListen;
private IrDAClient irClient;
private IrDAEndPoint irEndP;
private IrDADeviceInfo[] irDevices;
string fileSend;
string fileReceive;
string irServiceName;
int buffersize;

В конструкторе формы надо создать экземпляр класса IrDAClient, задать имена файлов для приема и отправки сообщения, указать имя службы, установить размер буфера для передаваемого файла и также временно сделать недоступными кнопки для отправки и посылки сообщения. Соответствующий код приведен в листинге 12.3.

Листинг 12.3

public Form1() {
 InitializeComponent();
 irClient = new IrDAClient();
 // Файлы, предназначенные для отправки и приема
 fileSend = ".My Documentssend.txt";
 fileReceive = ".My Documentsreceive.txt";
 // Задаем имя для службы IrDA
 // Это может быть любое слово
 // Другие устройства для примера должны использовать это же
 // слово
 irServiceName = "IrDAFtp";
 // Устанавливаем максимальный размер буфера для передаваемого
 // файла
 buffersize = 256;
 // Делаем недоступными кнопки отправки и посылки сообщений
 // до тех пор, пока не будут обнаружены устройства
 butSend.Enabled = false;
 butReceive.Enabled = false;
}

Оглавление книги


Генерация: 1.250. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз