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

на главную - закладки

Жанры

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

Салмре Иво

Шрифт:

8. Установите для свойства MinimizeBox формы значение false. Благодаря этому во время выполнения в верхней правой части формы появится кнопка OK, с помощью которой вы легко сможете закрыть форму и выйти из приложения. Эта возможность оказывается очень полезной при многократном тестировании приложения.

9. Добавьте в проект класс DatabaseAccess, удалите из него весь добавленный по умолчанию код в окне редактора класса, и введите вместо него код из листинга 14.6.

10. Добавьте в проект класс GameData, удалите из него весь добавленный по умолчанию код в окне редактора класса, и введите вместо него код из листинга 14.7.

11. Добавьте в проект класс VocabularyWord, удалите из него весь добавленный по умолчанию код в окне редактора класса, и введите вместо него код из листинга 14.8.

12. Запустите приложение, нажав клавишу <F5>. Пользовательский интерфейс приложения должен выглядеть примерно так, как показано на рис. 14.4. Щелкните на кнопке buttonCreateDatabase для создания и наполнения данными базы данных SQL СЕ. Щелкните на кнопке buttonGameData с целью загрузки содержимого базы данных в память для последующего использования; в результате этого в текстовом окне должны отобразиться слова из словаря.

Рис. 14.4. Пример управления данными не с помощью объектов DataSet

Листинг 14.5. Пример пользовательского управления данными — код, помещаемый в форму Form1.cs

//Создает базу данных

private void buttonCreateDatabase_Click(object sender, System.EventArgs e) {

 DatabaseAccess.CreateAndFillDatabase;

}

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

private void buttonLoadGameData_Click(object sender, System.EventArgs e) {

 //Очистить текстовое окно

 textBox1.Text = "";

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

 GameData.InitializeGameVocabulary;

 //Обойти все слова и добавить их в текстовый список

 System.Text.StringBuilder thisStringBuilder;

 thisStringBuilder = new System.Text.StringBuilder;

 foreach (VocabularyWord thisWord in GameData.AllWords) {

thisStringBuilder.Append(thisWord.EnglishWord);

thisStringBuilder.Append(" = ");

thisStringBuilder.Append(thisWord.GermanWordWithArticleIfExists);

thisStringBuilder.Append("\r\n"); //Новая строка

 }

 //Отобразить список слов в текстовом окне

 textBox1.Text = thisStringBuilder.ToString;

}

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

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

//Код доступа к базе данных

//

//Этот класс управляет доступом к базе данных наших приложений

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

using System;

internal class DatabaseAccess {

 const string DATABASE_NAME = "LearnGerman.sdf";

 const string CONNECT_STRING = "Data Source = " + DATABASE_NAME + "; Password = ''";

 const string TRANSLATIONTABLE_NAME = "TranslationDictionary";

 const string TRANSLATIONTABLE_ENGLISH_COLUMN = "EnglishWord";

 const string TRANSLATIONTABLE_GERMAN_COLUMN = "GermanWord";

 const string TRANSLATIONTABLE_GERMANGENDER_COLUMN = "GermanGender";

 const string TRANSLATIONTABLE_ WORDFUNCTION_COLUMN = "WordFunction";

 internal const int DS_WORDS_COLUMNINDEX_ENGLISHWORD = 0;

 internal const int DS_WORDS_COLUMNINDEX_GERMANWORD = 1;

 internal const int DS_WORDS_COLUMNINDEX_GERMANGENDER = 2;

 internal const int DS_WORDS_COLUMNINDEX_WORDFUNCTION = 3;

 static public System.Data.IDataReader GetListOfWords {

System.Data.SqlServerCe.SqlCeConnection conn = null;

conn = new System.Data.SqlServerCe.SqlCeConnection(CONNECT_STRING);

conn.Open;

System.Data.SqlServerCe.SqlCeCommand cmd = conn.CreateCommand;

cmd.ConmandText = "select " +

TRANSLATIONTABLE_ENGLISH_COLUMN + ", " +

TRANSLATIONTABLE_GERMAN_COLUMN + ", " +

TRANSLATIONTABLE_GERMANGENDER_COLUMN + ", " +

TRANSLATIONTABLE_WORDFUNCTION_COLUMN + " " + "from " +

TRANSLATIONTABLE_NAME;

//Выполнить команду базы данных

System.Data.SqlServerCe.SqlCeDataReader myReader =

cmd.ExecuteReader(System.Data.CommandBehavior.SingleResult);

return myReader;

 }

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

 //Создает базу данных в случае необходимости

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

Поделиться:
Популярные книги

Неучтенный элемент. Том 9

NikL
9. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 9

Кодекс Охотника. Книга XIV

Винокуров Юрий
14. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XIV

Настольная книга по теологии. Библейский комментарий АСД Том 12

Церковь христиан адвентистов седьмого дня
Научно-образовательная:
религиоведение
5.00
рейтинг книги
Настольная книга по теологии. Библейский комментарий АСД Том 12

История западной философии

Рассел Бертран Артур Уильям
Пути философии
Научно-образовательная:
история
философия
культурология
5.00
рейтинг книги
История западной философии

Я все еще барон

Дрейк Сириус
4. Дорогой барон!
Фантастика:
боевая фантастика
5.00
рейтинг книги
Я все еще барон

Убивать чтобы жить 2

Бор Жорж
2. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 2

Мечник Вернувшийся 1000 лет спустя

Ткачев Андрей Юрьевич
1. Вернувшийся мечник
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Мечник Вернувшийся 1000 лет спустя

Товарищ "Чума" 10

lanpirot
10. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Товарищ Чума 10

Дважды одаренный. Том III

Тарс Элиан
3. Дважды одаренный
Фантастика:
альтернативная история
аниме
фэнтези
фантастика: прочее
юмористическое фэнтези
5.00
рейтинг книги
Дважды одаренный. Том III

Дочь моего друга

Тоцка Тала
2. Айдаровы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Дочь моего друга

Адептка второго плана

Мамаева Надежда Николаевна
Попасть в историю
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Адептка второго плана

Последний Паладин. Том 9

Саваровский Роман
9. Путь Паладина
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Последний Паладин. Том 9

Кодекс Охотника. Книга XXVII

Винокуров Юрий
27. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XXVII

Мастер решений

Земляной Андрей Борисович
3. Специалист по выживанию
Фантастика:
боевая фантастика
космическая фантастика
6.20
рейтинг книги
Мастер решений