Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
//==========================================================
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'), если он существует
Поделиться:
Популярные книги
Эволюционер из трущоб. Том 6
6. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Слезы Эйдена 1
11. Глэрд
Фантастика:
боевая фантастика
фэнтези
попаданцы
5.00
рейтинг книги
Князь Целитель 3
3. Князь Целитель
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Двойник Короля
1. Двойник Короля
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Офицер
1. Офицер
Фантастика:
боевая фантастика
7.21
рейтинг книги
Последний Паладин. Том 11
11. Путь Паладина
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Жена неверного ректора Полицейской академии
Любовные романы:
любовно-фантастические романы
4.25
рейтинг книги
На границе империй. Том 10. Часть 7
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Родословная. Том 4
4. Линия крови
Фантастика:
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 8
8. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Хроники Тириса. Книга 1
1. Хроники Тириса
Фантастика:
боевая фантастика
космическая фантастика
фантастика: прочее
6.00
рейтинг книги
Полет аистов
Детективы:
триллеры
8.88
рейтинг книги
Дважды одаренный. Том V
5. Дважды одаренный
Фантастика:
аниме
альтернативная история
городское фэнтези
5.00
рейтинг книги
Газлайтер. Том 16
16. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00