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

 Dim newDate As System.DateTime newDate = System.DateTime.Today

 changeDayOfTravel_CustomArrays(TEST_CREDIT_CARD, newDate)


 'ТОЛЬКО В ЦЕЛЯХ ТЕСТИРОВАНИЯ!!!

 'HE СЛЕДУЕТ использовать вызовы сборщика мусора в готовом программном

 'коде. Это ЗАМЕДЛЯЕТ работу приложения.

 System.GC.Collect

 Const testNumber As Integer = 0


 'Запустить таймер теста

 PerformanceSampling.StartSample(testNumber, "Custom Array implementation")


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

 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


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

Перейти на страницу:

Похожие книги

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT