m_vocabularyWords_All = New System.Collections.ArrayList
m_vocabularyWords_Nouns = New System.Collections.ArrayList
m_vocabularyWords_Verbs = New System.Collections.ArrayList
m_vocabularyWords_Adjectives = _
New System.Collections.ArrayList
m_vocabularyWords Adverbs = _
New System.Collections.ArrayList
m_vocabularyWords_Prepositions = _
New System.Collections.ArrayList
Dim dataReader As System.Data.IDataReader
dataReader = DatabaseAccess.GetListOfWords()
Dim newWord As VocabularyWord
'ΠΠ±ΠΎΠΉΡΠΈ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ
While (dataReader.Read())
Dim thisword_gender As VocabularyWord.WordGender
Dim thisword_function As VocabularyWord.WordFunction
thisword_gender = CType(dataReader.GetInt32( _
DatabaseAccess.DS_WORDS_COLUMNINDEX_GERMANGENDER), _
VocabularyWord.WordGender)
thisword_function = CType(dataReader.GetInt32( _
DatabaseAccess.DS_WORDS_COLUMNINDEX_WORDFUNCTION), _
VocabularyWord.WordFunction)
'ΠΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΡΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π² ΠΊΠ»Π°ΡΡ
newWord = New VocabularyWord(dataReader.GetString( _
DatabaseAccess.DS_WORDS_COLUMNINDEX_ENGLISHWORD), dataReader.GetString( _
DatabaseAccess.DS_WORDS_COLUMNINDEX_GERMANWORD), _
thisword_gender, thisword_function)
'ΠΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ² ΡΠΏΠΈΡΠΊΠΎΠ²
m_vocabularyWords_All.Add(newWord)
'Π‘Π»ΠΎΠ²Π° ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ Π³ΡΡΠΏΠΏΠ°ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ
'Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π
'Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ
If ((newWord.getWordFunction And _
VocabularyWord.WordFunction.Noun) <> 0) Then
m_vocabularyWords_Nouns.Add(newWord)
End If
If ((newWord.getWordFunction And _
VocabularyWord.WordFunction.Verb) <> 0)
Then m_vocabularyWords_Verbs.Add(newWord)
End If
If ((newWord.getWordFunction And _
VocabularyWord.WordFunction.Adjective) <> 0) Then
m_vocabularyWords_Adjectives.Add(newWord)
End If
If ((newWord.getWordFunction And _
VocabularyWord.WordFunction.Adverb) <> 0) Then
m_vocabularyWords_Adverbs.Add(newWord)
End If
If ((newWord.getWordFunction And _
VocabularyWord.WordFunction.Preposition) <> 0) Then
m_vocabularyWords_Prepositions.Add(newWord)
End If
End While
'ΠΠ°ΠΊΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ DataReader
dataReader.Close()
End Sub
End Class
ΠΠΈΡΡΠΈΠ½Π³ 14.8. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ VocabularyWord.csOption Strict On
Imports System
'------------------------------
'Π₯ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΈΠ· ΡΠ»ΠΎΠ²Π°ΡΡ
'------------------------------
Friend Class VocabularyWord
<System.FlagsAttribute()> _
Public Enum WordFunction
Noun = 1
Verb = 2
Pronoun = 4
Adverb = 8
Adjective = 16
Preposition = 32
Phrase = 64
End Enum
Public Enum WordGender
notApplicable = 0
Masculine = 1
Feminine = 2
Neuter = 3
End Enum
Private m_englishWord As String
Private m_germanWord As String
Private m_germanGender As VocabularyWord.WordGender
Private m_wordFunction As VocabularyWord.WordFunction
Public ReadOnly Property EnglishWord() As String
Get
Return m_englishWord
End Get
End Property
Public ReadOnly Property GermanWord() As String
Get
Return m_germanWord
End Get
End Property
Public ReadOnly Property getWordFunction() As WordFunction
Get
Return m_wordFunction
End Get
End Property
Public ReadOnly Property getWordGender() As WordGender
Get
Return m_germanGender
End Get
End Property
'-----------------------------------------------------------------
'ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΠΎΠ²ΠΎ Π½Π° Π½Π΅ΠΌΠ΅ΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π°ΡΡΠΈΠΊΠ»Ρ
'(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 'der', 'die', 'das'), Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
'-----------------------------------------------------------------
Public ReadOnly Property GermanWordWithArticleIfExists() As String
Get
If (m_germanGender = WordGender.notApplicable) Then
Return Me.GermanWord
End If
Return Me.GenderArticle + " " + Me.GermanWord
End Get
End Property
Public ReadOnly Property GenderArticle() As String
Get
Select Case (m_germanGender)
Case WordGender.Masculine
Return "der"
Case WordGender.Feminine
Return "die"
Case WordGender.Neuter
Return "das"
End Select
Return ""
End Get
End Property
Public Sub New(ByVal enlgishWord As String, ByVal germanWord _
As String, ByVal germanGender As WordGender, _
ByVal wordFunction As WordFunction)
m_englishWord = enlgishWord
m_germanWord = germanWord
m_germanGender = germanGender
m_wordFunction = wordFunction
End Sub
End Class
ΠΡΠΈΠΌΠ΅ΡΡ ΠΊ Π³Π»Π°Π²Π΅ 15 (ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ )
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π½Π° VB Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ°Π·ΡΠ° ΠΊΠΎΠ΄ Π½Π° C#.
ΠΠΈΡΡΠΈΠ½Π³ 15.2. ΠΠΌΠΈΡΠ°ΡΠΈΡ ΡΠ±ΠΎΠ΅Π² ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ'Π€Π»Π°Π³ΠΈ ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
#Const DEBUG_SIMULATE_FAILURES = 1 'ΠΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ±ΠΎΠΈ
'#Const DEBUG_SIMULATE_FAILURES = 0 'ΠΠ΅ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ±ΠΎΠΈ
'-----------------------------------------------------------------
'ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ
'Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
'-----------------------------------------------------------------
#If DEBUG_SIMULATE_FAILURES <> 0 Then
'ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ±ΠΎΠ΅
Shared g_failureCode As SimulatedFailures = _
SimulatedFailures.noFailurePending
'Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ±ΠΎΠ΅Π², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ
public enum SimulatedFailures
noFailurePending 'No test failures pending
'ΠΠΌΠΈΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ±ΠΎΠΈ:
failInNextWriteSocketCode
failInNextWebServiceCall
failInNextFileIODuringFileOpen
failInNextFileIODuringFileRead
'ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅
End Enum
#End If 'DEBUG_SIMULATE_FAILURES
'---------------------------------------------------
'Π€ΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ .
'---------------------------------------------------
Private Sub writeDataToSocket( _
ByVal mySocket As System.Net.Sockets.Socket, _
ByVal dataToSend() As Byte)
'------------------------------------------------------------------
'ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈΡΡ ΠΏΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ±ΠΎΠ΅Π²
'------------------------------------------------------------------
#If DEBUG_SIMULATE_FAILURES <> 0 Then
'ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ±ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ, Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
If (g_failureCode = _
SimulatedFailures.failInNextWriteSocketCode) Then
'Π‘Π±ΡΠΎΡΠΈΡΡ ΡΡΠΎΡ ΡΠ±ΠΎΠΉ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊ
'ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
g_failureCode = SimulatedFailures.noFailurePending
Throw New Exception("Test communications failure: " + _
g_failureCode.ToString())
End If
#End If
'ΠΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
mySocket.Send(dataToSend)
End Sub
ΠΠΈΡΡΠΈΠ½Π³ 15.3. Π’Π΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΊΠ»Π°ΡΡ ΡΠΎΡΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° IrDA'ΠΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΠΎΠΊΠ΅ΡΡ IrDA
Const myIrDASocketName As String = "IrDaTestFileTransmit"
Private Sub buttonTestFileSend_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles buttonTestFileSend.Click
'Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ
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. ΠΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ ΠΏΠΎΡΡΡΠΈΡΡ
'ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ°ΠΉΠ»Π° ΡΠΎΠ½ΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΡΠΎΠΊΡ