Владимир Волков - Программирование для карманных компьютеров

Тут можно читать онлайн Владимир Волков - Программирование для карманных компьютеров - бесплатно ознакомительный отрывок. Жанр: comp-programming. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Программирование для карманных компьютеров
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.11/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Владимир Волков - Программирование для карманных компьютеров краткое содержание

Программирование для карманных компьютеров - описание и краткое содержание, автор Владимир Волков, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Эта книга предназначена для того, чтобы читатель смог быстро научиться создавать мощные и эффективные приложения для наладонных компьютеров Pocket PC. Рынок программ для карманных компьютеров сейчас бурно развивается, и именно в этой отрасли программист-одиночка может успешно соперничать с большими корпорациями, которые создают программное обеспечение. Прочитав эту книгу, читатель сможет уверенно и быстро разрабатывать достаточно сложные приложения для Pocket PC. Огромное количество разнообразных примеров позволит быстро совершенствоваться и развиваться, обогащая свой опыт работы.

Книга предназначена для начинающих программистов.

Программирование для карманных компьютеров - читать онлайн бесплатно ознакомительный отрывок

Программирование для карманных компьютеров - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Владимир Волков
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Код простейшего XML-файла показан в листинге 6.4.

Листинг 6.4

2

Первая строка является описанием XML-документа. Она позволяет указывать версию XML и кодировку, в которой записан документ. Затем следует тег с именем Y2005. Этот тег состоит из открывающей () и закрывающей () частей. Внутри тега Y2005 расположены теги с именем Date. Все три тега Date не пустые, поэтому тоже имеют открывающую и закрывающую часть. Внутри тегов Date вложены теги Index. Первые два тега Index пустые, они состоят из одной части, которая одновременно открывает и закрывает этот тег. Внутри тега Index в первых двух случаях записано значение value. Значения, записанные внутри скобок тега, называются атрибутами. Любой тег может иметь любое количество атрибутов, но только одно значение. Значение записывается между открывающей и закрывающей частью тега.

Любой XML-документ должен начинаться с одного тега, который называется корневым тегом. В нашем случае корневым тегом является тег Y2005.

Что нам надо хранить в нашем XML-документе? Это должна быть информация о дате, для которой мы выполняем хронометраж, о категории работы, о времени начала работы, о времени ее окончания и примечания к каждой записи, если они необходимы. Структура нашего XML-файла приведена в листинге 6.5.

Листинг 6.5

Заголовочная часть:

Корневой тег:

Столько тегов Date, сколько дней мы будем контролировать:

Столько тегов Index, сколько отрезков времени мы учтем за день:

В каждом теге Date есть два атрибута. Атрибут value несет в себе дату, а Cnt – количество записей за день. В каждом теге Index есть четыре атрибута. В атрибуте Category указывается категория занятия, в атрибуте StartOf – время начала, в атрибуте EndOf – время окончания, а атрибут Note предназначен для хранения примечания.

Файл с такой структурой должен быть создан при первом запуске программы, прочитан и отредактирован при каждом последующем запуске.

Упражнение 6.2 (продолжение)

17. При запуске нашего приложения необходимо проверить, существует ли файл 2005.xml, в котором записаны результаты контроля времени, и файл Category.xml, в котором содержится список категорий. Если данные файлы не существуют, то их надо создать. Если файлы все еще существуют, то их нужно загрузить. Эти операции будут проводиться в обработчике события загрузки основной формы приложения. Но перед этим в класс формы нужно добавить две переменные. В окне Solution Explorer нужно выделить файл Form1.vb и из контекстного меню выполнить для этого файла команду View Code. Затем в самое начало кода нужно добавить строки, приведенные в листинге 6.6.

Листинг 6.6

Public Class Form1

Inherits System.Windows.Forms.Form

Friend WithEvents ListView1 As System.Windows.Forms.ListView

Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu

\'Добавленные переменные

Dim D As DateTime

Dim dirStr As String

18. Теперь можно создать процедуру обработчика события загрузки формы, код которой приведен в листинге 6.7. Листинг 6.7

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

\'Если файл с данными отсутствует в текущем каталоге, мы его создаем, для

\'этого сначала получаем полный путь каталога, в котором расположена

\'программа, в строковую переменную dirStr

dirStr = IO.Path.GetDirectoryName_

(Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase.ToString)

\'Проверяем, есть ли файл c заданным именем по полученному пути

If Not System.IO.File.Exists(dirStr + «\2005.xml») Then

\'Если файла нет – создаем его

\'Создаем экземпляр XmlDocument

Dim myxmlDoc As New Xml.XmlDocument

\'Создаем корневой тег и добавляем его к документу

Dim oROOT As Xml.XmlElement = myxmlDoc.CreateElement(«Y2005»)

myxmlDoc.AppendChild(oROOT)

\'Получаем текущую дату в переменную myDate

Dim myDate As Date = Date.Now

myDate = DateAdd(DateInterval.Day, – 1, myDate)

\'Заполняем файл тегами Data от сегодняшнего дня до конца текущего года

While Not myDate.ToShortDateString = «31.12.2005»

myDate = DateAdd(DateInterval.Day, 1, myDate)

Dim oData As Xml.XmlElement = myxmlDoc.CreateElement(«Data»)

oROOT.AppendChild(oData)

Dim oValue As Xml.XmlAttribute = _ myxmlDoc.CreateAttribute(«value»)

Dim oIndex As Xml.XmlAttribute = _ myxmlDoc.CreateAttribute(«Cnt»)

oValue.InnerText = myDate.ToShortDateString

oIndex.InnerText = «-1»

oData.SetAttributeNode(oValue)

oData.SetAttributeNode(oIndex)

End While

\'Создаем заголовочную часть XML файла

Dim myPI As Xml.XmlProcessingInstruction = _

myxmlDoc.CreateProcessingInstruction_

(«xml», "version= 1.0 encoding=\'windows-1251 ")

myxmlDoc.InsertBefore(myPI, myxmlDoc.ChildNodes(0))

\'Сохраняем созданный документ

myxmlDoc.Save(dirStr + «\2005.xml»)

End If

\'Если файл со списком категорий отсутствует в текущем каталоге, мы его

\'создаем с пятью категориями Work1, Work2, Work3, Misc, Trash

If Not System.IO.File.Exists(dirStr + «\Category.xml») Then

If Not System.IO.File.Exists(dirStr + «\Category.xml») Then

Dim myxmlDoc As New Xml.XmlDocument

Dim oROOT As Xml.XmlElement = myxmlDoc.CreateElement(«Categoty»)

myxmlDoc.AppendChild(oROOT)

Dim oWork1 As Xml.XmlElement = myxmlDoc.CreateElement(«Work1»)

oROOT.AppendChild(oWork1)

Dim oWork2 As Xml.XmlElement = myxmlDoc.CreateElement(«Work2»)

oROOT.AppendChild(oWork2)

Dim oWork3 As Xml.XmlElement = myxmlDoc.CreateElement(«Work3»)

oROOT.AppendChild(oWork3)

Dim oMisc As Xml.XmlElement = myxmlDoc.CreateElement(«Misc»)

oROOT.AppendChild(oMisc)

Dim oTrash As Xml.XmlElement = myxmlDoc.CreateElement(«Trash»)

oROOT.AppendChild(oTrash)

Dim myPI As Xml.XmlProcessingInstruction = _

myxmlDoc.CreateProcessingInstruction_

(«xml», "version= 1.0 encoding=\'windows-1251 ")

myxmlDoc.InsertBefore(myPI, myxmlDoc.ChildNodes(0))

myxmlDoc.Save(dirStr + «\Category.xml»)

End If

D = DateTime.Now

Label1.Text = System.DateTime.Today.ToShortDateString

\'Вызываем процедуру загрузки данных в ListView

Data_Load(System.DateTime.Today.ToShortDateString)

End Sub

Чтобы создать и сохранить новый XML-документ, мы воспользовались классом XMLDocument, который позволяет представить существующий XML-документ в виде объекта с набором полей и методов для манипуляции этими полями. Он позволяет создавать и удалять элементы XML как по имени, так и по индексу, осуществлять поиск нужного элемента, заменять или дублировать элементы, сохранять измененный документ. Единственным недостатком этого класса является то, что документ полностью загружается в создаваемый объект. Поскольку на Pocket PC и файловая система, и оперативная память программы физически являются одним и тем же устройством, то просто происходит дублирование информации на время работы с документом.

19. Процедура загрузки данных для текущего дня в компонент ListView приведена в листинге 6.8.

Листинг 6.8

Private Sub Data_Load(ByVal MyDate As String)

\'Открываем файл, для это сначала получаем полный путь каталога,

\'в котором расположена программа в строковую переменную dirStr

dirStr = IO.Path.GetDirectoryName_

(Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase.ToString)

\'Создаем экземпляр объекта XmlTextReader

Dim xmlrdrMy As New Xml.XmlTextReader(dirStr + «\2005.xml»)

Dim MyCount, MyIndex As Integer

Dim lvItem As ListViewItem

\'Не реагируем на пробелы и управляющие символы

xmlrdrMy.WhitespaceHandling = xmlrdrMy.WhitespaceHandling.None

\'Переходим к содержимому, пропуская заголовочную часть

xmlrdrMy.MoveToContent()

\'В цикле считываем значения из файла, добавляем новую строку в ListView

\'для каждого тега Index и копируем значения атрибутов тега Index в

\'соответствующие поля записи ListView

ListView1.Items.Clear()

ListView1.Refresh()

While Not xmlrdrMy.EOF

If xmlrdrMy.Name = «Data» Then

If xmlrdrMy.GetAttribute(«value») = MyDate Then

MyIndex = CInt(xmlrdrMy.GetAttribute(«Cnt»))

For MyCount = 0 To MyIndex – 1

xmlrdrMy.Read()

lvItem = New ListViewItem(xmlrdrMy.GetAttribute(«Category»))

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Владимир Волков читать все книги автора по порядку

Владимир Волков - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Программирование для карманных компьютеров отзывы


Отзывы читателей о книге Программирование для карманных компьютеров, автор: Владимир Волков. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x