Рейтинг@Mail.ru

WPF: Как сохранить элемент управления FrameworkElement() в виде изображения

Опубликовано в Программирование

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

Подробнее ...

LINQ+VB.NET: Выбор объектов DateTime() с уникальными значениями минут

Опубликовано в Полезные советы

Допустим, у нас есть упорядоченный список объектов MyList() типа даты: List(of DateTime), и нам нужно выбрать из него только те объекты, которые имеют уникальные значения минут (или часов, или секунд, и т.п.). Выберем только первые встреченные значения с уникальным параметром. Для этого можно воспользоваться языком запросов LINQ и языком VB.NET.

Вариант 1 (самый быстрый)

Dim selected As IEnumerable(Of DateTime) = MyList.GroupBy(Function(d As DateTime) d.TimeStamp.Minute).[Select](Function(g) g.First)

Вариант 2

Dim selected As IEnumerable(Of IGrouping(Of Integer, DateTime)) = MyList.GroupBy(Function(n As DateTime) (n.Minute)).Distinct

Вариант 3 (самый медленный, использует преобразование к типу Lookup())

Dim selected As ILookup(Of Integer, DateTime) = MyList.ToLookup(Of Integer, DateTime)(Function(ByVal x As DateTime) x.Minute, Function(ByVal y As DateTime) y)
Подробнее ...

Как проверить версию .NET, установленную на компьютере

Опубликовано в Полезные советы

Для того чтобы определить, что в системе установлена платформа .NET, можно проверить в системном каталоге C:\Windows\System32\ наличие файла mscoree.dll – основного файла платформы .NET.

Чтобы узнать, какая версия (или версии, обычно их установлено несколько) платформы .NET установлена на компьютере, нужно проверить следующий раздел системного реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

В этом разделе будут находиться подразделы установленных версий .NET, например: v3.0, v3.5, v4.0 и т.д.

Подробнее ...

Что делать если изображение видно в редакторе XAML, но при выполнении приложения - нет

Опубликовано в Полезные советы

У вас ситуация: в редакторе XAML в Visual Studio вы задали визуальный элемент Image, который использует картинку из папки проекта. Вы видите её в редакторе, всё нормально. Но стоит запустить скомпилированное приложение – и изображения в нём не видно. Что делать?

Иногда помогает очистка решения и перекомпиляция: Построение Очистить, Построение Перестроить проект.

Если не помогло, кликаем правой кнопкой мыши на изображении в обозревателе решений, выбираем Свойства, в открывшейся панели свойств идём в Действия при сборке (BuildActions) "Нет" меняем на Ресурс (Resource).

Панель свойств изображения в Visual Studio 2013
Подробнее ...

XAML: Почему текст в ListView не переносится на новую строку

Опубликовано в Полезные советы

По умолчанию, если ширина элемента списка ListView больше, чем ширина списка, его содержимое не переносится на новую строку. Чтобы перенос происходил, нужно использовать шаблон DataTemplate, применённый к элементу списка:

<ListView ItemsSource="{Binding myCollection}" ItemTemplate="{StaticResource lvDataTemplate}" />

Шаблон будет таким:

<DataTemplate x:Key="lvDataTemplate">
    <TextBlock Text="{Binding}" TextWrapping="Wrap" />
</DataTemplate>
Подробнее ...

Как посчитать контрольную сумму CRC32, CRC16, CRC8

Опубликовано в Программирование

В интернете существует большое количество вариантов расчёта контрольной суммы CRC. Но что же собственно такое контрольная сумма и почему она рассчитывается именно так? Давайте разберёмся. А заодно напишем программу, которая будет рассчитывать CRC с заданными параметрами.

Подробнее ...

WPF: Как привязать ComboBox к целочисленному массиву в XAML

Опубликовано в Полезные советы

Сначала в разделе ресурсов создадим целочисленный массив, не забыв импортировать пространство имён mscorlib:

<Window xmlns:sys="clr-namespace:System;assembly=mscorlib">
    <Window.Resources>

        <x:Array Type="{x:Type sys:Int32}" x:Key="refreshPeriods">
            <sys:Int32>100</sys:Int32>            
            <sys:Int32>500</sys:Int32>
            <sys:Int32>1000</sys:Int32>
            <sys:Int32>2000</sys:Int32>
        </x:Array>

И теперь используем ComboBox так:

<ComboBox ItemsSource="{StaticResource refreshPeriods}" SelectedValue="{Binding UpdateDiagramTimerPeriod, Mode=TwoWay}" />
Подробнее ...

Драйвер для работы с LPT портом (интегрированным или в виде платы PCI)

Опубликовано в Программирование

Лет 10-15 назад параллельный порт был довольно востребованным интерфейсом для связи между устройствами. Сегодня производители различных устройств отдают предпочтение последовательным интерфейсам. Тем не менее, и сегодня LPT порт всё ещё можно встретить. А некоторые разработчики ещё пишут под него программы (или поддерживают написанные во времена расцвета параллельных интерфейсов). Но в компьютерах сейчас LPT порт – достаточно большая редкость. Существуют, конечно, платы расширения для компьютера, которые реализуют интерфейс LPT. Они в основном представляют собой платы на шине PCI. К сожалению, далеко не весь софт, который был написан для интегрированных в материнскую плату LPT портов, будет работать с LPT-PCI-платами.

Предлагается решение этой проблемы: программный класс, написанный под .NET, и динамическую библиотеку, которая работает с LPT. Данная реализация проверена на 32- и 64-разрядных Windows XP, Windows 7, 8 и 10 как со встроенными LPT портами, так и реализованными в виде плат расширения на шине PCI или PCI-Express. Скачать драйвер для LPT порта можно по ссылке внизу после статьи.

Подробнее ...
Подписаться на этот канал RSS
  1. Arduino это...
  2. Arduino это...
  3. Arduino это...
Отличный способ начать знакомство с электроникой, микроконтроллерами и программированием!
Замечательное средство для создания собственных электронных устройств, которые пригодятся в быту или для развлечения!
Уникальный конструктор, для которого разработаны десятки совместимых датчиков и модулей!
next
prev