Рейтинг@Mail.ru
Полезные советы

Полезные советы (47)

Короткие практические полезные советы из области ИТ.

Краткий алгоритм создания приложений .NET Core

Print Friendly, PDF & Email

.NET Core – это универсальная платформа для разработки приложений на знакомых нам языках .NET, которые будут работать в разных операционных системах. Для быстрого старта можно воспользоваться следующими подсказками.

  1. Установить SDK.
  2. Запустить консоль cmd.exe.
  3. Для создания нового проекта консольного приложения .NET Core с именем, расположением и содержимым по умолчанию: dotnet new console
  4. Для создания нового приложения .NET Core с заданным именем: dotnet new console -o MyFirstApp
  5. Для перехода в директорию только что созданного приложения: cd MyFirstApp
  6. Для установки необходимых пакетов .NET Core: dotnet restore
  7. Для запуска приложения: dotnet run
  8. Для компиляции приложения: dotnet build
  9. Для публикации приложения .NET Core: dotnet publish -c Release -r win10-x64

Список поддерживаемых платформ можно посмотреть здесь.

Технология быстро развивается и меняется. Список команд для .NET Core, актуальных на данный момент, приводится на сайте.

Print Friendly, PDF & Email

Как добавить пункт "Затемнять дисплей после" в Windows 10

Print Friendly, PDF & Email
Если в дополнительных настройках управления планом питания в вашем компьютере с Windows 10 нет пункта «Затемнять дисплей после», его можно включить несколькими способами.

1. С помощью редактирования реестра

Запускаем редактор реестра regedit с правами админимстратора и ищем путь:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\7516b95f-f776-4464-8c53-06167f40cc99\17aaa29b-8b43-4b94-aafe-35f64daaf1ee

Здесь открываем свойства Attributes типа REG_DWORD и устанавливаем следующее значение:

  • 1 – Чтобы удалить пункт затемнения дисплея
  • 2 – Чтобы добавить пункт затемнения дисплея
Включение затемнения дисплея в редакторе реестра

2. С помощью командной строки

Запускаем командную строку или Windows PowerShell с правами администратора и вводим следующие команды. Для добавления пункта затемнения дисплея:

powercfg -attributes SUB_VIDEO 17aaa29b-8b43-4b94-aafe-35f64daaf1ee -ATTRIB_HIDE

Для удаления:

powercfg -attributes SUB_VIDEO 17aaa29b-8b43-4b94-aafe-35f64daaf1ee +ATTRIB_HIDE
Print Friendly, PDF & Email

Как получить название дня недели по его номеру в .NET

Print Friendly, PDF & Email

В .NET имеется очень полезный класс, который позволяет вывести локализованное название дня недели по его порядковому номеру. Этот класс называется DateAndTime:

Dim day As String = WeekdayName(dayNumber)

Так просто! Также этот класс имеет и другие полезные методы, связанные с работой с датами, обратите на него внимание :)

Print Friendly, PDF & Email

Как использовать командную строку в для загрузки прошивки в Quartus ii

Print Friendly, PDF & Email

Среда разработки Quartus II имеет удобное средство для загрузки «прошивки» в ПЛИС с помощью интерфейса командной строки (CLI) – консольную программу quartus_pgm.exe. Чтобы её использовать, проще всего использовать bat-файл примерно вот с таким содержимым:

@echo off
cd C:\altera\81\quartus\bin\ rem переход к директории исполняемых файлов 
quartus_pgm.exe -c "USB-Blaster [USB-0]" -m JTAG -o p;C:\projects\test\project1.sof 
pause 

Здесь необходимо внести некоторые пояснения. Посмотрим на следующую таблицу:

Print Friendly, PDF & Email

WPF: Как получить список всех элементов UIElement заданного типа

Print Friendly, PDF & Email

Напишем метод, который будет возвращать список всех элементов некоторого контейнера:

''' <summary>
''' Возвращает все элементы UIElement заданного типа.
''' </summary>
Public Shared Iterator Function FindVisualChildren(Of T As DependencyObject)(ByVal depObj As DependencyObject) As IEnumerable(Of T)
    If (depObj IsNot Nothing) Then
        For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(depObj) - 1
            Dim child As DependencyObject = VisualTreeHelper.GetChild(depObj, i)
            If (child IsNot Nothing) AndAlso (TypeOf child Is T) Then
                Yield CType((CObj(child)), T)
            End If
            For Each current As T In MainWindow.FindVisualChildren(Of T)(child)
                Yield current
            Next
        Next
    End If
    Return
End Function

Теперь можно использовать данный метод таким способом (здесь MainWindow – это тот контейнер, список чьих потомков нужно получить):

Dim sameTypeElements as New List(Of ComboBox)
For Each cb As ComboBox In FindVisualChildren(Of ComboBox)(MainWindow)
    sameTypeElements.Add(cb)
Next
Print Friendly, PDF & Email

Как перехватить нажатие клавиши в консольном приложении (.NET)

Print Friendly, PDF & Email

Если нужно проверить, не была ли нажата пользователем определённая клавиша клавиатуры во время выполнения длительной операции в консольном приложении, используется свойство Console.KeyAvailable().

Для примера напишем процедуру CheckEscapePressed(), которая будет проверять, не была ли нажата клавиша Escape:

Public Function CheckEscapePressed() as Boolean
    If Console.KeyAvailable Then
        Dim k As ConsoleKey = Console.ReadKey(True).Key
        If k.Equals(ConsoleKey.Escape) Then
            Console.Write("Операция была прервана.")
            Return True
        End If
    End If
    Return False
End Function 

Можно проверять нажатие любой из доступных в перечислении System.ConsoleKey клавиш.

А теперь в любом месте программы можем использовать нашу процедуру CheckEscapePressed(). Например, для прерывания бесконечного цикла по нажатию на клавишу "Escape":

Do 
    Console.WriteLine("Ожидаем нажатия клавиши ""Escape""...")
    Thread.Sleep(1000)
Loop Until CheckEscapePressed()
Print Friendly, PDF & Email

Как прекратить общий доступ к сетевой папке в Windows

Print Friendly, PDF & Email

Чтобы прекратить доступ к общему ресурсу (папки Users, Documents и др.), нужно через панель управления открыть оснастку «Управление компьютером» и далее:

Управление компьютером Общие папки Общие ресурсы Выбрать нужный ПКМ Прекратить доступ.
Прекратить общий доступ к сетевой папке в Windows
Прекратить общий доступ к сетевой папке в Windows
Print Friendly, PDF & Email

Как изменить загрузочный носитель в виртуальной машине VMWare

Print Friendly, PDF & Email

При включении виртуальной машины VMWare, на короткое время появляется экран загрузки, на котором можно увидеть клавиши, которыми можно управлять загрузкой. Например, F2 – вход в BIOS виртуальной машины, а ESC – меню загрузки с возможностью выбора загрузочного устройства.

Загрузка виртуальной машины VMWare
Загрузка виртуальной машины VMWare

И вот мы вошли в BIOS виртуальной машины. Идём в раздел Boot, задаём последовательность загрузочных устройств, как в обычном компьютере.

BIOS виртуальной машины VMWare
BIOS виртуальной машины VMWare

По какой-то причине, виртуальная машина VMWare пока ещё не поддерживает загрузку с загрузочной флешки. Но ничего, мы можем воспользоваться сторонним менеджером загрузки. Воспользуемся, например, Plop Boot Manager.

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

Print Friendly, PDF & Email

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

Print Friendly, PDF & Email

Допустим, у нас есть упорядоченный список объектов 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)
Print Friendly, PDF & Email

WPF: Использование системных цветов

Print Friendly, PDF & Email

Для использования системных цветов в XAML необходимо объявить цвет в секции ресурсов:

<Window.Resources>
    <SolidColorBrush x:Key="sysColor" Color="{DynamicResource {x:Static SystemColors.ControlColorKey}}" />
</Window.Resources>

А затем его можно использовать в разметке так:

<Menu Background="{StaticResource sysColor}"></Menu>
Print Friendly, PDF & Email

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

Print Friendly, PDF & Email

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

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

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

Print Friendly, PDF & Email

WPF: Изменение источника элементов при изменении свойства

Print Friendly, PDF & Email

Чтобы динамически изменять коллекцию – источник привязки, можно воспользоваться триггерами данных DataTrigger:

<Style TargetType="ComboBox" x:Key="comboSourceStyle">
  <Style.Triggers>
    <DataTrigger Binding="{Binding Speed}" Value="0">
      <Setter Property="ItemsSource" Value="{StaticResource MyCollection1}" />
    </DataTrigger>
    <DataTrigger Binding="{Binding Speed}" Value="1">
      <Setter Property="ItemsSource" Value="{StaticResource MyCollection2}" />
    </DataTrigger>
  </Style.Triggers>
</Style>
Print Friendly, PDF & Email

Создание архива 7zip с помощью bat-файла

Print Friendly, PDF & Email

Для того чтобы быстро создавать архив с помощью архиватора 7-zip, напишем такой скрипт и сохраним его с расширением ".bat":

start cmd /c ""c:\Program Files\7-Zip\7z.exe"" a d:\Baсkup\%DATE:~0,2%.%DATE:~3,2%.%DATE:~-4%.7z d:\Projects

Этот скрипт автоматически называет файл в соответствии с текущей датой. Чтобы скрипт запускался автоматически, можно создать в планировщике задач Windows задание и указать расписание: Панель управления – Администрирование – Планировщик заданий. В планировщике нажимаем Создать задачу, на вкладке Действие добавляем Запуск программы и указываем путь к нашему bat-файлу. Настраиваем расписание на вкладке Триггеры.

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

Кстати, можно создавать архивы с паролем. Это убережёт Ваши данные, если они попадут не в те руки. Всё что нужно для создания архива с паролем – добавить в конец предыдущего скрипта параметр -p, а сразу за ним без пробела пароль, например:

start cmd /c ""c:\Program Files\7-Zip\7z.exe"" a d:\Baсkup\%DATE:~0,2%.%DATE:~3,2%.%DATE:~-4%.7z d:\Projects -pMyPassWord
Print Friendly, PDF & Email
Подписаться на этот канал RSS