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