Рейтинг@Mail.ru
aave

aave

Print Friendly, PDF & Email

С версии .NET 4.5 можно определить глобальный объект блокировки:

Private ReadOnly LockObj As New Object()

И далее в коде перед использованием наблюдаемой коллекции указать этот объект как параметр статического метода EnableCollectionSynchronization():

BindingOperations.EnableCollectionSynchronization(MyObservableCollection, LockObj)
Print Friendly, PDF & Email
Читать далее...

Утилита для расчёта XOR массива байтов

Published in Приложения

Print Friendly, PDF & Email

Предалагется маленькая утилита, которая выполняет только одну функцию – объединение по XOR массива байтов.

Вводить массив можно в любом формате с любым разделителем, главное чтобы числа были в 16-ном формате.

Скачать утилиту можно по ссылке ниже. Для запуска приложения необходима среда .NET 4.5.1.

Print Friendly, PDF & Email
Читать далее...
Print Friendly, PDF & Email

Часто в приложении бывает необходимо использовать объёмные ресурсы, например, динамические библиотеки. Их можно включить в ресурсы приложения в сжатом виде. .NET имеет встроенный архиватор GZip. Его можно использовать, например, так:

''' 
''' Проверяет наличие необходимых DLL в текущей директории и при отсутствии создаёт.
''' 
Private Sub CheckDlls()
    Dim dlls As New Dictionary(Of String, Byte()) From {
        {"myLib1.dll", My.Resources.myLib1},
        {"myLib2.dll", My.Resources.myLib2}
    }
    For Each dll In dlls
        If (Not IO.File.Exists(dll.Key)) Then
            Using compressed As New IO.MemoryStream(dll.Value),
            gzStm As New IO.Compression.GZipStream(compressed, IO.Compression.CompressionMode.Decompress),
            decompressed As IO.FileStream = IO.File.Create(dll.Key)

                gzStm.CopyTo(decompressed)

            End Using
        End If
    Next

End Sub
Print Friendly, PDF & Email
Читать далее...
Subscribe to this RSS feed