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

ЖАНРЫ

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

Салмре Иво

Шрифт:

get {

//Загрузить данные, если они не были инициализированы

if (m_vocabularyWords_Nouns == null) {

InitializeGameVocabulary;

}

return m_vocabularyWords_Nouns;

}

 }

 //==========================================================

 //Загружает данные из нашей базы данных

 //==========================================================

 static public void 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;

System.Data.IDataReader dataReader;

dataReader = DatabaseAccess.GetListOfWords;

VocabularyWord newWord;

//Обойти все записи

while (dataReader.Read) {

//Поместить данные для только что считанного слова в класс

newWord = new VocabularyWord(

dataReader.GetString(DatabaseAccess.DS_WORDS_COLUMNINDEX_ENGLISHWORD),

dataReader.GetString(DatabaseAccess.DS_WORDS COLUMNINDEX_GERMANWORD),

(VocabularyWord.WordGender)dataReader.GetInt32(DatabaseAccess.DS_WORDS_COLUMNINDEX_GERMANGENDER),

(VocabularyWord.WordFunction)dataReader.GetInt32(DatabaseAccess.DS_WORDS_COLUMNINDEX_WORDFUNCTION));

//Добавить новое слово в массив списков

m_vocabularyWords_All.Add(newWord);

//Слова могут принадлежать нескольким группам, поэтому необходимо

//выполнить проверку с использованием операции логического И

//для проверки того, что слово относится к данной категории

if ((newWord.getWordFunction & VocabularyWord.WordFunction.Noun) ! = 0) {

m_vocabularyWords_Nouns.Add(newWord);

}

if ((newWord.getWordFunction & VocabularyWord.WordFunction.Verb) != 0) {

m_vocabularyWords_Verbs.Add(newWord);

}

if ((newWord.getWordFunction & VocabularyWord.WordFunction.Adjective) != 0) {

m_vocabularyWords Adjectives.Add(newWord);

}

if ((newWord.getWordFunction & VocabularyWord.WordFunction.Adverb) != 0) {

m_vocabularyWords Adverbs.Add(newWord);

}

if ((newWord.getWordFunction & VocabularyWord.WordFunction.Preposition) != 0) {

m_vocabularyWords_Prepositions.Add(newWord);

}

}

//Закрыть
объект

DataReader dataReader.Close;

 }

} //Конец класса

Листинг 14.8. Пример кода управления данными для VocabularyWord.cs

using System;

//------------------------------

//Хранит данные слова из словаря

//------------------------------

internal class VocabularyWord {

 [System.FlagsAttribute] //Значения можно объединять с помощью операции

//логического ИЛИ

 public enum WordFunction {

Noun = 1,

Verb = 2,

Pronoun = 4,

Adverb = 8,

Adjective = 16,

Preposition = 32,

Phrase = 64

 }

 public enum WordGender {

notApplicable = 0,

Masculine = 1,

Feminine = 2,

Neuter = 3,

 }

 private string m_englishWord;

 private string m_germanWord;

 private VocabularyWord.WordGender m_germanGender;

 private VocabularyWord.WordFunction m_wordFunction;

 public string EnglishWord{

get {

return m_englishWord;

}

 }

 public string GermanWord{

get {

return m_germanWord;

}

 }

 public WordFunction getWordFunction {

get {

return m_wordFunction;

}

 }

 public WordGender GermanGender{

get {

return m_germanGender;

}

 }

 //-----------------------------------------------------------------

 //Возвращает слово на немецком языке, которому предшествует артикль

 //{например, 'der', 'die', 'das'), если он существует

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