Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework

Здесь есть возможность читать онлайн «Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2007, ISBN: 2007, Издательство: Питер, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование КПК и смартфонов на .NET Compact Framework: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование КПК и смартфонов на .NET Compact Framework»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Мобильные устройства все активнее вторгаются в нашу жизнь. Карманные компьютеры и смартфоны давно утратили статус дорогих игрушек и перекочевали в разряд необходимых устройств. Значит, для них необходимо создавать программное обеспечение. Так почему вы должны оставаться в стороне?
Прочитав эту книгу, вы получите знания, которые позволят вам уверенно создавать программы для карманных компьютеров и смартфонов. А огромное количество разнообразных примеров поможет быстро совершенствоваться и развиваться, обогащая свой опыт работы.
Книга предназначена для начинающих программистов.

Программирование КПК и смартфонов на .NET Compact Framework — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программирование КПК и смартфонов на .NET Compact Framework», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

string irServiceName;

int buffersize;

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

Листинг 12.3

public Form1() {

InitializeComponent();

irClient = new IrDAClient();

// Файлы, предназначенные для отправки и приема

fileSend = ".\\My Documents\\send.txt";

fileReceive = ".\\My Documents\\receive.txt";

// Задаем имя для службы IrDA

// Это может быть любое слово

// Другие устройства для примера должны использовать это же

// слово

irServiceName = "IrDAFtp";

// Устанавливаем максимальный размер буфера для передаваемого

// файла

buffersize = 256;

// Делаем недоступными кнопки отправки и посылки сообщений

// до тех пор, пока не будут обнаружены устройства

butSend.Enabled = false;

butReceive.Enabled = false;

}

Обнаружение устройств

Теперь надо написать код для кнопки butFindDevs, предназначенной для обнаружения устройств. При тестировании примера необходимо направить инфракрасные порты устройств друг на друга. Код, ответственный за выполнение этой задачи, приведен в листинге 12.4.

Листинг 12.4

private void butFindDevs_Click(object sender, EventArgs e) {

// Ищем доступные устройства с инфракрасной связью

// и помещаем их в список

// Поиск не более трех доступных устройств

irDevices = irClient.DiscoverDevices(2);

// Если устройства не найдены, то выводим сообщение

if (irDevices.Length == 0) {

MessageBox.Show("Устройства с ИК-портами не обнаружены!");

return;

}

// Перечисляем массив IrDADeviceInfo

// и выводим информацию о каждом устройстве в список

string device;

int ID;

listBox1.Items.Clear();

foreach (IrDADeviceInfo irDevice in irDevices) {

ID = BitConverter.ToInt32(irDevice.DeviceID, 0);

device =

ID.ToString() + " " + irDevice.DeviceName + " " + irDevice.CharacterSet +

" " + irDevice.Hints;

listBox1.Items.Add(device);

}

listBox1.SelectedIndex = 0;

if (irDevices.Length > 0)

statusBar1.Text = irDevices.Length.ToString() + " устройств(а)";

// Делаем доступными кнопки для отправки и посылки сообщения

butSend.Enabled = true;

butReceive.Enabled = true;

}

Передача данных

Код для отправки и посылки файлов приведен в листинге 12.5.

Листинг 12.5

private void butSend_Click(object sender, EventArgs e) {

// Открываем файл для отправки и получаем его поток

Stream fileStream;

try {

fileStream = new FileStream(fileSend, FileMode.Open);

} catch (Exception exFile) {

MessageBox.Show("Не могу открыть " + exFile.ToString());

return;

}

// Создаем IrDA-клиент с установленным именем службы.

// которое должно совпадать с именем службы на другом

// IrDA-клиенте

try {

irClient = new IrDAClient(irServiceName);

} catch (SocketException exS) {

MessageBox.Show("Ошибка сокета: " + exS.Message +

" - Вы щелкнули на кнопке Получить на другом устройстве?");

return;

}

// Получим поток

Stream baseStream = irClient.GetStream();

// Получим размер отправляемого файла

// и запишем это значение в поток

byte[] length = BitConverter.GetBytes((int)fileStream.Length);

baseStream.Write(length, 0, length.Length);

// Создаем буфер для чтения файла

byte[] buffer = new byte[buffersize];

// Показываем число отправленных байт

int fileLength = (int)fileStream.Length;

statusBar1.Text = "Отправлено " + fileLength + " байт";

// Читаем файловый поток в базовом потоке

while (fileLength > 0) {

int numRead = fileStream.Read(buffer, 0, buffer.Length);

baseStream.Write(buffer, 0, numRead);

fileLength -= numRead;

}

fileStream.Close();

baseStream.Close();

irClient.Close();

statusBar1.Text = "Файл отправлен";

}

private void butReceive_Click(object sender, EventArgs e) {

// Создаем поток для записи файла

Stream writeStream;

try {

writeStream = new FileStream(fileReceive, FileMode.OpenOrCreate);

} catch (Exception) {

MessageBox.Show("Не могу открыть "+ fileReceive + " для записи");

return;

}

// Создаем соединение с помощью класса IrDAEndPoint

// для выбранного устройства из списка

// Начинаем прослушку входящих сообщений

// из устройства с объектом IrDAListener

try {

int i = listBox1.SelectedIndex;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Программирование КПК и смартфонов на .NET Compact Framework»

Представляем Вашему вниманию похожие книги на «Программирование КПК и смартфонов на .NET Compact Framework» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Гайдар Магдануров - ASP.NET MVC Framework
Гайдар Магдануров
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Реестр Windows 7
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Гадания
Александр Климов
Отзывы о книге «Программирование КПК и смартфонов на .NET Compact Framework»

Обсуждение, отзывы о книге «Программирование КПК и смартфонов на .NET Compact Framework» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x