Проверяем заряд аккумулятора на мобильном устройстве в C# .NET CF

    В этой публикации я приведу пример получения информации о заряде аккумуляторов на мобильном устройстве под управлением Windows Mobile. Данный код написан очень давно. На днях вновь понадобился.
    Для получения информации о заряде используем coredll. Получаем значения двух батареек, во многих КПК (во всяком случае промышленных, на подобии Motorola Symbol) используются 2 аккумулятора, один основной, другой резервный, для сохранности данных. Информацию можно получить и с того и с другого, если он конечно имеется.

Подробнее

Как научить КПК проигрывать WAV файлы .NET. CF

Мобильное устройство с поддержкой .NET CF версии 3.5 (и надеюсь и выше) можно достаточно легко научить проигрывать медиа файлы формата .WAV. С этой версии .NET CF имеет необходимый набор функций для воспроизведения звуковых файлов.

Без лишних слов, просто приведу примеры, они элементарны и очень просты.

Два примера проигрывания звукового файла:

Пример №1

System.Media.SoundPlayer player = new System.Media.SoundPlayer(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\mysound.wav");
player.Play();
Подробнее

Ошибки при компиляции Smart Device Setup Project и их лечение.

Итак — при первом создании .cab файла, для установки на устройство может возникнуть, и скорее всего возникнет, такая проблема:
The Windows CE CAB Wizard encountered an error. See the output window for more information.
Для того чтобы понять в чём дело, смотрим на что же всётаки ругается для этого открываем: View->Output

Там скорее всего видим это:
Error: The INF file contains Unicode characters that could not be converted correctly to ANSI

Проблема (в моём случае) оказалась в том что в свойствах проекта Manufacturer был вписан русскими буквами. Меняешь на английские и всё замечательно начинает работать.

Подробнее

Работа с Postgresql в C#

Не так давно занялся разработкой приложения на C# работающего на базе PostreSQL, появилась информация которой спешу поделиться. В статье я опишу что необходимо для подключения к PostgreSQL из приложения написанного на C#, и как с ним работать на примерах.

Для того чтобы иметь возможность работать с базами данных PostgreSQL в нашем случае будем использовать Npgsql — .Net Data Provider for Postgresql скачиваем, добавляем Npgsql.dll в свой проект и копируем в папку с скомпилированным проектом необходимые библиотеки (чтобы работало): Npgsql.dll и Mono.Security.dll.

Подробнее

Работа с MySQL в C#

   Надеюсь данная публикация не даст читателям повторить мои ошибки и поможет сделать изначально правильный выбор. Первое с чего бы хотелось начать это с настоятельной рекомендации: «Программируя под .NET всегда пользуйтесь MySQL .NET — Коннектором!». Можно конечно и через ADO подключаться к базе но это чревато тем что в будущем вам просто будет необходимо вносить изменения при переходе на Windows Vista и выше.

Маленькое отступление: MySQL очень удобно использовать при программировании для мобильных устройств на базе Windows. Стандартные библиотеки работают и на мобильном устройстве под .NET CF точно так-же как и на сервере или рабочей станции. (Имеются ввиду те случаи, когда необходимо обращение с мобильного компьютера к базе данных на сервере. На самом мобильном устройстве сервер MySQL установить нельзя.) И в дополнение. Крайне не советую использовать на мобильном устройстве SQL.CE для больших баз данных (свыше 50000 записей в таблице) при росте базы быстродействие сильно падает. На мой взгляд гораздо лучше продумать свою систему хранения данных. Но об этом в отдельной публикации.

Для работы с MySQL вам понадобится «MySQL Connector / NET».

Подробнее

Копирование папки с вложениями на C#

Всегда считал что у .NET в System.IO существует какой нибудь метод который реализует копирование папки с содержимым, включая все подкаталоги и файлы. Оказалось что я ошибался, и такого метода нет. Поэтому привожу пример реализации этого действия, довольно простой функцией, при помощи System.IO.DirectoryInfo.

Подробнее

Вырезаем прямоугольную область изображения в C#

Из архива...
Недавно пришлось сделать простенькую подгонялку фотографий в заданные рамки, так чтобы пользователь мог собственноручно выбрать область на фото источнике и вырезать её. Впринципе ничего сложного, самое сложное пожалуй — это отрисовка прямоугольника выделения, когда нажали на кнопку мыши и перемещаем её по изображению — выделяя необходимую нам область.

Сначала самое важное. У картинки pictureBox сразу включаем свойство SizeMode в AutoSize, ни в коем случае ни какие нибудь там Zoom-ы если конечно нет желания поразбираться с масштабированием.

Далее — надо сделать так — чтобы работал скроллинг при выделении мышкой. Так уж получилось что это больное место в .NET (не работает оно само собой и всё тут).

Подробнее

Простой пример обработки XML файла C#.

Пример обработки XML файла, средствами языка C#.

Простой пример, наглядно показывает как легко разобрать по кусочкам XML файл.

string prm = "";

            XmlTextReader reader = new XmlTextReader(fi.Name.Replace(fi.Extension, ".XML"));

            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                    case XmlNodeType.Element: // Узел является элементом.
                        prm = prm + ("<" + reader.Name);

                        while (reader.MoveToNextAttribute()) // Чтение атрибутов.
                            prm = prm + (" " + reader.Name + "='" + reader.Value + "'");
                        prm = prm + (">");
                        break;
                    case XmlNodeType.Text: // Вывести текст в каждом элементе.
                        prm = prm + (reader.Value);
                        break;
                    case XmlNodeType.EndElement: // Вывести конец элемента.
                        prm = prm + ("</" + reader.Name);
                        prm = prm + (">");
                        break;
                }
            }
            MessageBox.Show(prm);
            reader.Close();
Подробнее

Полезности для .NET Compact Framework

Здесь я приведу некоторые очень полезные вещи при разработке на .NET Compact Framework.

Итак, приступаем:

Узнаём версию .NET Compact Framework

FrmTxt.Text = Environment.Version.ToString();



Узнаём версию операционной системы

OsVersion.Text = Environment.OSVersion.ToString();
Подробнее

Как правильно открывать картинки в C#

Из архива - вдруг пригодится...
Вроде бы нет ничего проще открытия картинки с диска в C#. А нет, И тут есть свои грабли!

Здесь просто приведу два примера.

Первый способ (неправильный):

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
     Image img = Image.FromFile(openFileDialog1.FileName);
     pictureBox1.Image = img;
}
Подробнее