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

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

Жанры

Программирование мобильных устройств на платформе .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)

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

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

Учитель из прошлого тысячелетия

Еслер Андрей
6. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Учитель из прошлого тысячелетия

Князь Андер Арес 5

Грехов Тимофей
5. Андер Арес
Фантастика:
историческое фэнтези
фэнтези
героическая фантастика
5.00
рейтинг книги
Князь Андер Арес 5

Неучтенный элемент. Том 6

NikL
6. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 6

Газлайтер. Том 19

Володин Григорий Григорьевич
19. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 19

Наномашины, звереныш! Том 5

Новиков Николай Васильевич
5. Первый среди карапузов
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Наномашины, звереныш! Том 5

Портрет дьявола: Собрание мистических рассказов

Скотт Вальтер
Проза:
классическая проза
8.09
рейтинг книги
Портрет дьявола: Собрание мистических рассказов

Ну, здравствуй, Герой!

Француз Михаил
2. Здравствуй, Мир!
Фантастика:
фэнтези
рпг
попаданцы
5.00
рейтинг книги
Ну, здравствуй, Герой!

#Бояръ-Аниме. Газлайтер. Том 13

Володин Григорий Григорьевич
13. История Телепата
Фантастика:
боевая фантастика
аниме
попаданцы
фэнтези
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 13

Третий Генерал: Том IX

Зот Бакалавр
8. Третий Генерал
Фантастика:
городское фэнтези
аниме
попаданцы
5.00
рейтинг книги
Третий Генерал: Том IX

Слово мастера

Лисина Александра
11. Гибрид
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Слово мастера

Кодекс Охотника XXVIII

Винокуров Юрий
28. Кодекс Охотника
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Охотника XXVIII

По осколкам твоего сердца

Джейн Анна
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
5.56
рейтинг книги
По осколкам твоего сердца

Мастер...

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

На границе империй. Том 7

INDIGO
7. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
6.75
рейтинг книги
На границе империй. Том 7