Вход/Регистрация
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:

'Создать простой текстовый файл, который мы хотим передать

Const fileName As String = "\myTestSendFile.txt"

Dim textFileStream As System.IO.StreamWriter

textFileStream = System.IO.File.CreateText(fileName)

textFileStream.WriteLine("Today...")

textFileStream.WriteLine("is а nice day")

textFileStream.WriteLine("to go swim")

textFileStream.WriteLine("in the lake")

textFileStream.Close

Dim irdaFileSender As IrDAFileSend

irdaFileSender = New IrDAFileSend(fileName, myIrDASocketName)

'Имеется 2 режима: 1 - Sync (синхронный), 2 — Async (асинхронный)

'1. Вызвать функцию в синхронном режиме

'и блокировать поток выполнения до тех пор,

'пока файл не будет передан

'1a. Информировать пользователя о том, что мы пытаемся передать данные

Me.Text = "Trying to send..."

'Подождать, пока клиент не будет найден, а затем передать файл

irdaFileSender.LoopAndAttemptIRSend

'1c. Информировать пользователя о том, что файл передан

MsgBox("File sent!")

Me.Text = "IrDA: Sent!"

'2. Вызвать функцию в асинхронном режиме и поручить

'передачу файла фоновому потоку

'irdaFileSend.LoopAndAttemptIRSendAsync

'ПРИМЕЧАНИЕ: Если мы вызываем функцию в асинхронном режиме, то должны

'периодически проверять, не завершила ли она выполнение, путем

'вызова метода 'irdaFileSend.Status'

End Sub

Private Sub buttonTestFileReceive_Click(ByVal sender As Object, _

ByVal e As EventArgs) Handles buttonTestFileReceive.Click

'Если файл назначения уже существует, уничтожить его

Const fileName As String = "\myTestReceiveFile.txt"

If (System.IO.File.Exists(fileName)) Then

System.IO.File.Delete(fileName)

End If

Dim irdaFileReceiver As IrDAFileReceive

irdaFileReceiver = New IrDAFileReceive(fileName, _

myIrDASocketName)

'Имеется 2 режима: 1 — Sync (синхронный), 2 - Async (асинхронный)

'1. Вызвать функцию в синхронном режиме

' блокировать поток выполнения до тех пор, пока

'файл не будет получен

'1a. Информировать пользователя о том, что мы ожидаем получения файла

Me.Text = "Waiting to receive..."

'1b. Ожидать, пока не будет сделана попытка установления с нами связи

'и передачи файла

irdaFileReceiver.WaitForIRFileDownload

'1с. Информировать пользователя о том, что мы получили переданный файл

Me.Text = "IrDA: received!"

MsgBox("File received!")

'2. Вызвать функцию в асинхронном режиме и поручить

'получение файла фоновому потоку

'irdaFileReceive.WaitForIRFileDownloadAsync

'ПРИМЕЧАНИЕ: Если мы вызываем функцию в асинхронном режиме, то должны

'периодически проверять, не завершила ли она выполнение, путем

'вызова метода 'irdaFileReceive.Status'

End Sub

Листинг 15.4. Класс IrDAFileSend

Option Strict On

'====================================================================

'Этот класс является клиентом IrDA. Он осуществляет поиск сервера

'IrDA, имя которого совпадает с именем службы IrDA, и после того, как

'он найден, направляет ему поток данных файла,

  • Читать дальше
  • 1
  • ...
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: