Чтение онлайн

на главную - закладки

Жанры

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

Салмре Иво

Шрифт:

 'Обеспечить многопоточную безопасность для предотвращения

 'параллельного выполнения операций чтения/записи

 SyncLock (Me)

m_ReceiveStatus = newStatus

 End SyncLock 'end lock

End Sub

'--------------------------------------------------

' (in) filename: желаемое имя для входного файла IR

'--------------------------------------------------

Public Sub New(ByVal filename As String, ByVal irdaServiceName As String)

 'Имя
сокета IrDA, который мы хотим открыть

 m_IrDAServiceName = irdaServiceName

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

 m_fileNameForDownload = filename

End Sub

'----------------------------------------------------------

'Обеспечивает асинхронный прием файла через IR

' (in) filename: имя файла, в который осуществляется запись

'----------------------------------------------------------

Public Sub WaitForIRFileDownloadAsync

 'Заметьте, что сейчас мы находимся в режиме подготовки

 setStatus(ReceiveStatus.NotDone_SettingUp)

 '-------------------

 'Создать новый поток

 '-------------------

 Dim threadEntryPoint As System.Threading.ThreadStart

 threadEntryPoint = _

New System.Threading.ThreadStart(AddressOf WaitForIRFileDownload)

 Dim newThread As System.Threading.Thread = _

New System.Threading.Thread(threadEntryPoint)

 'Запустить поток на выполнение

 newThread.Start

End Sub

'------------------------------------------

'Открывает порт IR и ожидает загрузки файла

'------------------------------------------

Public Sub WaitForIRFileDownload

 Dim outputStream As System.IO.Stream

 Dim irdaClient As System.Net.Sockets.IrDAClient

 Dim irStreamIn As System.IO.Stream

 Try

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

'Задать и загрузить файл!

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

internal_WaitForIRFileDownload(outputStream, irdaClient, irStreamIn)

 Catch 'Поглотить любые возникающие
ошибки

setStatus(ReceiveStatus.Done_ErrorOccured)

 End Try

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

 'Освободить все ресурсы

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

 'Закрыть наш входной поток

 If Not (irStreamIn Is Nothing) Then

Try

irStreamIn.Close

Catch 'Поглотить любые возникающие ошибки

End Try

 End If

 'Закрытие клиента IrDA

 If Not (irdaClient Is Nothing) Then

Try

irdaClient.Close

Catch 'Поглотить любые возникающие ошибки

End Try

 End If

 'Закрыть файл, в который осуществлялась запись

 If Not (outputStream Is Nothing) Then

Try

outputStream.Close

Catch 'Поглотить любые возникающие ошибки

End Try

 End If

 'Закрыть прослушивающее устройство, если оно выполняется

 If Not (m_irListener Is Nothing) Then

'Установить первым, чтобы код, выполняющийся другим потоком,

'был отменен, если он установлен

m_wasListenerStopped = True

Try

m_irListener.Stop

Catch 'Поглотить любые возникающие ошибки

End Try

m_irListener = Nothing

 End If

End Sub

Private Sub internal_WaitForIRFileDownload( _

 ByRef outputStream As System.IO.Stream, _

 ByRef irdaClient As System.Net.Sockets.IrDAClient, _

 ByRef irStreamIn As System.IO.Stream)

 '---------------------------------------------------------

 'Открыть входной файл для направления в него потока данных

 '---------------------------------------------------------

 outputStream = System.IO.File.Open( _

m_fileNameForDownload, _

System.IO.FileMode.Create)

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

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

Возвышение Меркурия. Книга 7

Кронос Александр
7. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 7

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак

Совок 2

Агарев Вадим
2. Совок
Фантастика:
альтернативная история
7.61
рейтинг книги
Совок 2

Прометей: каменный век

Рави Ивар
1. Прометей
Фантастика:
альтернативная история
6.82
рейтинг книги
Прометей: каменный век

Ты предал нашу семью

Рей Полина
2. Предатели
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Ты предал нашу семью

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

Венецианский купец

Распопов Дмитрий Викторович
1. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
7.31
рейтинг книги
Венецианский купец

Попаданка для Дракона, или Жена любой ценой

Герр Ольга
Любовные романы:
любовно-фантастические романы
7.17
рейтинг книги
Попаданка для Дракона, или Жена любой ценой

Любимая учительница

Зайцева Мария
1. совершенная любовь
Любовные романы:
современные любовные романы
эро литература
8.73
рейтинг книги
Любимая учительница

Воевода

Ланцов Михаил Алексеевич
5. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Воевода

Деспот

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Деспот

Мастер...

Чащин Валерий
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Мастер...

Не кровный Брат

Безрукова Елена
Любовные романы:
эро литература
6.83
рейтинг книги
Не кровный Брат

Не грози Дубровскому! Том III

Панарин Антон
3. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том III