Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework

Здесь есть возможность читать онлайн «Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2007, ISBN: 2007, Издательство: Питер, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование КПК и смартфонов на .NET Compact Framework: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование КПК и смартфонов на .NET Compact Framework»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Мобильные устройства все активнее вторгаются в нашу жизнь. Карманные компьютеры и смартфоны давно утратили статус дорогих игрушек и перекочевали в разряд необходимых устройств. Значит, для них необходимо создавать программное обеспечение. Так почему вы должны оставаться в стороне?
Прочитав эту книгу, вы получите знания, которые позволят вам уверенно создавать программы для карманных компьютеров и смартфонов. А огромное количество разнообразных примеров поможет быстро совершенствоваться и развиваться, обогащая свой опыт работы.
Книга предназначена для начинающих программистов.

Программирование КПК и смартфонов на .NET Compact Framework — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программирование КПК и смартфонов на .NET Compact Framework», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

В качестве внешнего аудиофайла будет использоваться файл alarm3.wav , входящий в состав Windows Mobile. Этот файл находится в папке Windows . При желании можно использовать свой файл, но при этом надо в коде указать путь к нему. Теперь достаточно прописать код для обработки события Clickсозданных кнопок, как показано в листинге 13.11, — и приложение готово.

Листинг 13.11

using System;

using System.Collections.Generic;

using System.Text;

using System.IO;

using System.Runtime.InteropServices;

namespace PlaySound_CS {

public class Sound {

private byte[] m_soundBytes;

private string m_fileName;

private enum Flags {

SND_SYNC = 0x0000,

SND_ASYNC = 0x0001,

SND_NODEFAULT = 0x0002,

SND_MEMORY = 0x0004,

SND_LOOP = 0x0008,

SND_NOSTOP = 0x0010,

SND_NOWAIT = 0x00002000,

SND_ALIAS = 0x00010000,

SND_ALIAS_ID = 0x00110000,

SND_FILENAME = 0x00020000,

SND_RESOURCE = 0x00040004

}

[DllImport("CoreDll.DLL", EntryPoint = "PlaySound", SetLastError = true)]

private extern static int PlaySound(string szSound, IntPtr hMod, int flags);

[DllImport("CoreDll.DLL", EntryPoint = "PlaySound", SetLastError = true)]

private extern static int PlaySoundBytes(byte[] szSound, IntPtr hMod,

int flags);

///



/// Конструктор объекта Sound, который проигрывает звук из

/// указанного файла

///

public Sound(string fileName) {

m_fileName = fileName;

}

///



/// Конструктор объекта Sound, который проигрывает звук из

/// ресурсов

///

public Sound(Stream stream) {

// читаем данные из потока

m_soundBytes = new byte[stream.Length];

stream.Read(m_soundBytes, 0, (int)stream.Length);

}

///



/// Воспроизводим звук

///

public void Play() {

// Если из файла, то вызываем PlaySound.

// если из ресурсов, то PlaySoundBytes.

if (m_fileName != null)

PlaySound(m_fileName, IntPtr.Zero,

(int)(Flags.SND_ASYNC | Flags.SND_FILENAME));

else

PlaySoundBytes(m_soundBytes, IntPtr.Zero,

(int)(Flags.SND_ASYNC | Flags.SND_MEMORY));

}

}

}

Теперь нужно перейти к самой форме. Код для нее приведен в листинге 13.12.

Листинг 13.12

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Reflection;

namespace PlaySound_CS {

public partial class Form1 : Form {

public Form1() {

InitializeComponent();

InitializeComponent();

#if DEBUG

MinimizeBox = false;

#else

MinimizeBox = true;

#endif

}

private void butResource_Click(object sender, EventArgs e) {

Sound sound =

new Sound(Assembly.GetExecutingAssembly().GetManifestResourceStream(

"PlaySound_CS.chimes.wav"));

sound.Play();

}

private void butFile_Click(object sender, EventArgs e) {

Sound sound = new Sound("Windows\\alarm3.wav");

sound.Play();

}

}

}

Системные звуки

Также разработчик может использовать функцию MessageBeep, позволяющую проигрывать системные звуки. Код, использующий эту функцию, приведен в листинге 13.13.

Листинг 13.13

[DllImport("coredll.dll")]

extern static void MessageBeep(uint BeepType);

private void butBeep_Click(object sender, EventArgs e) {

MessageBeep(0);

}

Системное время

Чтобы получить или установить системное время на устройстве, нужно использовать функции GetSystemTimeи SetSystemTime. Следует учитывать, что функция GetSystemTimeвозвращает время по Гринвичу, а не местное время. Код, иллюстрирующий применение этих функций, приведен в листинге 13.14.

Листинг 13.14

using System.Runtime.InteropServices;

[DllImport("coredll.dll")]

private extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime);

[DllImport("coredll.dll")]

private extern static uint SetSystemTime(ref SYSTEMTIME lpSystemTime);

private struct SYSTEMTIME {

public ushort wYear;

public ushort wMonth;

public ushort wDayOfWeek;

public ushort wDay;

public ushort wHour;

public ushort wMinute;

public ushort wSecond;

public ushort wMilliseconds;

}

private void GetTime() {

// Получим системное время

SYSTEMTIME st = new SYSTEMTIME();

GetSystemTime(ref st);

DateTime dt = DateTime.UtcNow.ToLocalTime();

// Выводим сообщение

MessageBox.Show("Текущее время: " + st.wHour.ToString() + ":" +

st.wMinute.ToString());

}

private void SetTime() {

// Сначала получим системное время

SYSTEMTIME st = new SYSTEMTIME();

GetSystemTime(ref st);

// А теперь прибавим один час

st.wHour = (ushort)(st.wHour + 1 % 24);

SetSystemTime(ref st);

MessageBox.Show("Новое время: " + st.wHour.ToString() + ":" +

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

Интервал:

Закладка:

Сделать

Похожие книги на «Программирование КПК и смартфонов на .NET Compact Framework»

Представляем Вашему вниманию похожие книги на «Программирование КПК и смартфонов на .NET Compact Framework» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Гайдар Магдануров - ASP.NET MVC Framework
Гайдар Магдануров
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Реестр Windows 7
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Гадания
Александр Климов
Отзывы о книге «Программирование КПК и смартфонов на .NET Compact Framework»

Обсуждение, отзывы о книге «Программирование КПК и смартфонов на .NET Compact Framework» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x