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

ЖАНРЫ

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

Салмре Иво

Шрифт:

 'Запустить тест!

 Dim testCount As Integer

 For testCount = 1 To NUMBER_TEST_ITERATIONS

'Передвинуть дату вперед на один день

newDate = newDate.AddDays(1)

Dim numberRecordsChanged As Integer

'Просмотреть все имена, используя СТРОКИ

numberRecordsChanged = _

changeDayOfTravel_CustomArrays(ТЕST_CREDIT_CARD, newDate)

'Убедиться
в нормальном выполнении теста

If (numberRecordsChanged <> 1) Then

MsgBox("No matching records found. Test aborted!")

Return

End If

 Next

 'Получить время выполнения теста

 PerformanceSampling.StopSample(testNumber)

 'Обычный курсор

 System.Windows.Forms.Cursor.Current = _

System.Windows.Forms.Cursors.Default

 'Отобразить результаты теста

 Dim runInfo As String = NUMBER_TEST_ITERATIONS.ToString + _

"x" + DUMMY_ROWS_OF_DATA.ToString + ": " MsgBox(runInfo + _

PerformanceSampling.GetSampleDurationText(testNumber))

End Sub

Private Function changeDayOfTravel_CustomArrays( _

 ByVal creditCardNumber As String, ByVal newTravelDate _

 As System.DateTime) As Integer

 Dim numberRecordsChanged As Integer

 'Просмотреть каждый элемент массива

 Dim index As Integer

 For index = 0 To DUMMY_ROWS_OF_DATA

Dim currentCreditCard As String

currentCreditCard = m_data_creditCards(index)

'Обновить запись при наличии совпадения

If (creditCardNumber = currentCreditCard) Then

'Изменить дату поездки

Dim currentTravelDate As System.DateTime = _

m_data_travelDates(index)

'Увеличить значение счетчика обновлений только при несовпадении данных

If (currentTravelDate <> newTravelDate) Then

m_data_travelDates(index) = _

newTravelDate

numberRecordsChanged = numberRecordsChanged + 1

End If

End If

 Next

 'Возвратить количество обновленных записей

 Return numberRecordsChanged

End Function

Private Sub buttonRunTest_Click(ByVal sender As Object, _

 ByVal e As System.EventArgs) Handles buttonRunTest.Click

 createDataSet

 changeDayOfTravel_test

End Sub

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

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

Private Sub buttonCreateDatabase_Click(ByVal sender As Object, _

 ByVal e As System.EventArgs) Handles buttonCreateDatabase.Click

 DatabaseAccess.CreateAndFillDatabase

End Sub

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

Private Sub buttonLoadGameData_Click(ByVal sender As Object, _

 ByVal e As System.EventArgs) Handles buttonLoadGameData.Click

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

 TextBox1.Text = ""

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

 GameData.InitializeGameVocabulary

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

 Dim thisStringBuilder As System.Text.StringBuilder

 thisStringBuilder = New System.Text.StringBuilder

 Dim thisWord As VocabularyWord

 For Each thisWord In GameData.AllWords

thisStringBuilder.Append(thisWord.EnglishWord)

thisStringBuilder.Append(" = ")

thisStringBuilder.Append( _

thisWord.GermanWordWithArticleIfExists)

thisStringBuilder.Append(vbCrLf) 'Новая строка

 Next

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

 TextBox1.Text = thisStringBuilder.ToString

End Sub

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

Option Strict On

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

'Код доступа к базе данных: Этот класс управляет доступом в

'базу данных наших приложений

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

Imports System

Friend Class DatabaseAccess

Const DATABASE_NAME As String = "LearnGerman.sdf"

Const CONNECT_STRING As String = _

 "Data Source = " + DATABASE_NAME + "; Password = ''"

Const TRANSLATIONTABLE_NAME As String = "TranslationDictionary"

Const TRANSLATIONTABLE_ENGLISH_COLUMN As String = "EnglishWord"

Const TRANSLATIONTABLE_GERMAN_COLUMN As String = "GermanWord"

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