Categories
VB.NET Упътвания

Вграждане на dll в assembly

Примерен код на VB.Net

1. Добавяне на Event Handler преди извикване на ресурс от dll файла

AddHandler AppDomain.CurrentDomain.AssemblyResolve, AddressOf AssemblyResolve

2. Функция за извикване на dll файла

Private Function AssemblyResolve(ByVal sender As Object, ByVal e As ResolveEventArgs) As Assembly
Dim resourceFullName As String = String.Format("Seo.{0}.dll", e.Name.Split(","
  c)(0))
Dim thisAssembly As Assembly = Assembly.GetExecutingAssembly()
Using resource As Stream = thisAssembly.GetManifestResourceStream(resourceFullName)
If resource IsNot Nothing Then
Return Assembly.Load(ToBytes(resource))
End If
Return Nothing
End Using
End Function

Private Function ToBytes(ByVal instance As Stream) As Byte()
Dim capacity As Integer = If(instance.CanSeek, Convert.ToInt32(instance.Length), 0)

Using result As New MemoryStream(capacity)
Dim readLength As Integer
Dim buffer(4096) As Byte

Do
readLength = instance.Read(buffer, 0, buffer.Length)
result.Write(buffer, 0, readLength)
Loop While readLength > 0

Return result.ToArray()
End Using
End Function
Categories
VB.NET

Нова версия на Гаусова проекция

Новата версия на програмата за преобразуване от географски координати (географска ширина и географска дължина) в проекционни Гаусови координати можете да свалите от следната връзка Гаусова проекция v1.2.1

За да работи програмата изисква версия 4.0 на Microsoft .Net Framework.

Categories
VB.NET

Обновяване на Vbox7 Downloader

Програмата Vbox7 Downloader, предназначена за сваляне на видео файлове от сайта Vbox7.com, е обновена до версия 0.6, като е добавена нова функционалност:

  • възможност за директно отваряне на файловете от списъка със свалени файлове;

Можете да свалите последната версия на Vbox7 Downloader от тази връзка Vbox7 Downloader

Програмата изисква да имате инсталиран .Net Framework 4, за да работи.

Categories
VB.NET Упътвания

Показване на точки в MapWinGIS

' дефиниране на нов точков shp файл
Dim pointShapeFile As New Shapefile
If pointShapeFile.CreateNewWithShapeID(String.Empty, ShpfileType.SHP_POINT) = True Then
    ' начален индекс на обектите в shp файла
    shapeIndex = 0
    ' за всеки връх (vertex) от списъка с върхове се създава нов точков обект в shp файла
    For Each vertex As Vertex In triangulation.VerticesList
        ' дефиниране на нов точков обект
        point = New Point
        ' координатите на точката съвпадат с координатите на върха
        With point
            .x = vertex.X
            .y = vertex.Y
        End With
        ' дефиниране на нов shp обект
        shape = New Shape
        With shape
            ' дефиниране на нов точков обект
            .Create(ShpfileType.SHP_POINT)
            ' вмъкване на точков обект
            .InsertPoint(point, 0)
        End With
        ' вмъкване на shp обекта в shp файла
        pointShapeFile.EditInsertShape(shape, shapeIndex)
        ' увеличаване на индекса с единица
        shapeIndex += 1
    Next vertex
    ' дефиниране на настройките за изобразяване на точковия shp файл
    With pointShapeFile.DefaultDrawingOptions
        ' тип на условния знак за точка
     .SetDefaultPointSymbol(tkDefaultPointSymbol.dpsCircle)
        ' запълващ цвят на условния знак
        .FillColor = color.ColorByName(tkMapColor.Blue)
        ' размер на точката
        .PointSize = 10
    End With
    ' добавяне и показване на точковия слой върху картата
    With Map
        .AddLayer(pointShapeFile, True)
        .ZoomToMaxExtents()
    End With
Else
    Throw New Exception("Не може да създаде нов shape файл с точки!")
End If
Categories
VB.NET

Задача: Sand-glass

Описание

Имало едно време един могъщ магьосник. Неговото име било Гуеногфрин. Не след дълго той станал велик магьосник. Добросърдечен бил той. Използвал магията си единствено, за да защитава хората от злите вещици, идващи през нощта. Гуеногфрин, въпреки това, бил миролюбив и не искал да се бие или нарани вещиците, затова той измислил друго решение. Щял да хваща вещиците и да ги заключва в пясъчни часовници (единственият затвор, от който  вещица не може да избяга). За нещастие, пясъчните му часовници били на привършване. Помогни на Гуеногфрин да залови всички вещици като направиш свои собствени пясъчни часовници.

Пример

Sand-glass

Решение

Categories
VB.NET

Задача: Fir Tree

Описание

Бъдни вечер наближава, така че дори и програмистите трябва да се подготвят.

В духа на празника твоята задача е да напишеш програма, която отпечатва елха в конзолата.

Форматът на дървото е показан в примера по-долу.

Пример

Fir Tree

Решение

Categories
Без категория

Задача: Tribonacci

Описание

Редицата на Трибоначи е редица, в която всеки следващ елемент се получава от сумата на предходните три елемента на редицата.

Tn = Tn-1 + Tn-2 + Tn-3

Напишете програма, която намира n-тият елемент на редицата на Трибоначи, ако са дадени първите три елемента на редицата и номерът на n-тия елемент.

Първоначално решение

Коментар

Това решение не е добро, защото N може да е число от 1 до 15000 включително, а T1, T2 и T3 – числа от -2000000 до 2000000. В решението масивът T се запълва с всички елементи на редицата.

Ново решение

Коментар

В това решение последните три члена на редицата се пазят в променливите T1, T2 и Т3. Масиви не се използват.

Categories
VB.NET

Задача: Ship Damage

Описание

За дефинирането на диагонала не е от значение реда на въвеждане на двете срещуположни точки, както и самите точки.

Визуализация

Ship Damage

Решение

Categories
VB.NET

Информация за процесор

Взимане на информация за процесор във Visual Basic чрез класа Win32_Processor.

Информацията се показва в DataGridView с име CPUInfo.

Categories
VB.NET

Четене на файл във Visual Basic

Четене на файлове във VB.NET чрез използване на StreamReader класа.