Работаем с 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

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

Подробнее