Включение виброзвонка в Windows Mobile на C#

Архив - может кому пригодится
Большинство моделей современных телефонов поддерживают функцию виброзвонка, а значит его можно использовать (например в играх при взрывах для придания ещё большей реалистичности, или при написании коммуникационных программ, для того чтобы устройство находясь в кармане дало знать о пришедшем сообщении).
 

Здесь я приведу три метода реализации виброзвонка на устройствах Windows Mobile в среде .NET CF. Хотя, по правде говоря, все они реализованы через использование API поэтому могут быть использованы не только в .NET.

Подробнее

Пример преобразования цветного изображения в черно белое на C#

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

Подробнее

Условная компиляция в C#

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

Но есть очень хороший выход из этой ситуации, называется он условная компиляция.

Для условной компиляции используются директивы: #define, #if#else, #endif.

Подробнее

Работаем с Excel из C# (архив)

Это самый простой и примитивный пример, может пригодится, но лучше использовать OpenXML.
В данной публикации приведён пример создания и вывода документа Excel из программы написанной на языке C#.
Приведён самый простенький пример для использования в целях обучения.

Подробнее

Пример расчета EAN13 на C#

Для начала о самой процедуре:
Вся суть генерации штрихового кода EAN-13 заключается в поиске контрольного разряда (последней 13-ой цифры). 
Алгоритм поиска этого значения таков:
1) Оставляем 12 цифр (последняя 13 - контрольная которую ищем). 
2) Суммируем разряды, стоящие на четных местах.
3) Результат пункта 2 умножаем на 3 .
4) Суммируем разряды, стоящие на нечетных местах.
5) Суммируем результаты пунктов 3 и 4.
6) В полученном числе крайнюю справа цифру (остаток от деления на 10) вычесть из 10, если остаток 0 то значение равно 0.

Полученный результат и есть значение контрольной цифры.

Теперь пример на класса реализующего этот алгоритм на C#:

Подробнее

Делаем скриншоты в C# под .NET CF (из архивов)

Публикация из архивов, вдруг пригодится...
Столкнулся когда-то с необходимостью делать скриншоты с КПК, и так и не нашёл ни одной подходящей программы. А именно простой, маленькой и чтобы ничего не устанавливалось, но при этом работала.
Решил написать, часа два окучивал интернет по поводу того как это сделать - всё оказалось не так то просто, на мобильных устройствах через .NET в чистом виде не получится только через API.

Подробнее

Пример работы с SerialPort в C#

Простой пример работы чтения поступающих данных из COM порта с использованием SerialPort на C#.

Всё довольно просто, для получения данных нам потребуется использовать событие DataReceived.

Пример:

private string stroka="";

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            this.Invoke(new EventHandler(DoUpdate));
        }
private void DoUpdate(object s,EventArgs e)
        {
            stroka = stroka + serialPort1.ReadExisting();
        }
Подробнее

Интерполяция строк в C#.

Интерполированная строка в C#, это строа перед которой находится символ $.

Такая строка может содержать специальные выражения в фигурных скобках:

int x = 18;
Console.Write($"Указанный возраст {x} лет."); // Выводит: Указанный возраст 18 лет.

Внутри фигурных скобо может находится любое допустимое выражение C# любого типа. C# преобразует значение value в string, используя метод ToString() или эквивалентный ему для выбранного типа.

Формат вывода может быть изменен добавлением выражения форматирования после двоеточия, например:

string s = $"223 in HEX format: {223:X2}"; // X2 - Двухзначный шестнадцатиричный формат числа.
// Результат \"223 in HEX format: DF\"


Интерполированная строка должна быть в одну строку или содержать дословный идентификатор "@", к примеру:

int x = 10;
string s = $@"The wall height is {
x} meters.";


Чтобы включить фигурную скобкук в интерполированную строку, надо просто повторить фигурную скобку дважды.

Подробнее

Пример преобразования XML в DYNAMIC и его использование.

Пример преобразования XML в DYNAMIC и его использование.

Для начала, нам понадобятся некоторые библиотеки:

using System;
using System.ComponentModel;
using System.Xml.Linq;
using Newtonsoft.Json;


Код:

string str = "<response><setter><name>Kiril</name></setter></response>";
XDocument doc = XDocument.Parse(str);
string jsn = JsonConvert.SerializeXNode(doc);
dynamic res = JsonConvert.DeserializeObject(jsn);

Console.WriteLine(res.response.setter.name);


Этот код преобразует строку string в XML, затем XML в JSON и затем в объект dynamic.
Затем из объекта получает свойство Name и выводит его в консоль.

Подробнее

Передача набора данных в MSSQL из С# в одном запросе

Часто бывает необходимость передать за один раз некоторый набор данных в процедуру, в этой публикации будет приведен пример как это сделать на языке C# для базы данных MSSQL.

Использовать будем обычный способ вызова процедуры без каких либо фреймворков.

Для начала создадим тестовую таблицу в базе данных:

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Bottles](
	[Uid] [uniqueidentifier] NOT NULL,
	[Name] [varchar](50) NULL,
	[Color] [varchar](50) NULL
) ON [PRIMARY]
GO

В данной таблице будем размещать бутылки разных названий и цветов (просто для теста).

Подробнее