Читать «Программирование мобильных устройств на платформе .NET Compact Framework» онлайн - страница 563
Иво Салмре
System.Collections.ArrayList
Private Shared m_vocabularyWords_Adjectives As _
System.Collections.ArrayList
Private Shared m_vocabularyWords Adverbs As _
System.Collections.ArrayList
Private Shared m_vocabularyWords_Prepositions As _
System.Collections.ArrayList
Public Shared ReadOnly Property _
isGameDataInitialized() As Boolean
Get
'Инициализация данных игры, если слова загружены
Return Not (m_vocabularyWords_All Is Nothing)
End Get
End Property
'Возвращает коллекцию всех имеющихся слов
Public Shared ReadOnly Property _
AllWords() As System.Collections.ArrayList
Get
'Загрузить данные, если они не были инициализированы
If (m_vocabularyWords_All Is Nothing) Then
InitializeGameVocabulary()
End If
Return m_vocabularyWords_All
End Get
End property
'Возвращает коллекцию всех имеющихся имен существительных
Public Shared ReadOnly Property _
Nouns() As System.Collections.ArrayList
Get
'Загрузить данные, если они не были инициализированы
If (m_vocabularyWords_Nouns Is Nothing) Then
InitializeGameVocabulary()
End If
Return m_vocabularyWords_Nouns
End Get
End Property
'==========================================================
'Загружает данные из нашей базы данных
'==========================================================
Public Shared Sub InitializeGameVocabulary()
'Создать новый массив списков для хранения наших слов
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)