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

ЖАНРЫ

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

'Код управления данными в памяти

'

'Этот код предназначен для управления представлением кода в памяти

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

Imports System

Friend Class GameData

'Массив списков для сохранения загружаемых данных

Private Shared m_vocabularyWords_All As _

System.Collections.ArrayList

Private Shared m_vocabularyWords_Nouns As _

System.Collections.ArrayList

Private Shared m_vocabularyWords Verbs As _

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)

Then m_vocabularyWords_Verbs.Add(newWord)

End If

If ((newWord.getWordFunction And _

VocabularyWord.WordFunction.Adjective) <> 0) Then

m_vocabularyWords_Adjectives.Add(newWord)

Поделиться с друзьями: