Просмотр "Уроки Visual Basic.NET"

Вычисление дискриминанта и его корней

Консольный вариант вычисления дискриминанта и его корней на Visual Basic.NET и C#

Формовый вариант

Module Module1
    Sub Main()
        Disc() 'при запуске, вызываем процедуру ↓
    End Sub
    Sub Disc()
        Dim a, b, c, x1, x2, D As Double
        'ввод значений
        Console.WriteLine("Введите значение переменной A")
        a = Console.ReadLine()
        Console.WriteLine("Введите значение переменной B")
        b = Console.ReadLine
        Console.WriteLine("Введите значение переменной C")
        c = Console.ReadLine()
        D = b ^ 2 - (4 * a * c) 'вычисление дискриминанта
        Console.WriteLine("Дискриминант = " & D)
        'два корня
        If D > 0 Then
            Console.WriteLine("Два корня:")
            x1 = (-b + Math.Sqrt(D)) / (2 * a)
            x2 = (-b - Math.Sqrt(D)) / (2 * a)
            Console.WriteLine("X1 = " & x1 & vbNewLine & "X2 = " & x2)
            'один корень
        ElseIf D = 0 Then
            Console.WriteLine("Один корень:")
            x1 = -b / (2 * a)
            Console.WriteLine("X = " & x1)
            'нет корней
        Else
            Console.WriteLine("Нет корней")
        End If
        'сообщение, если захотим решить новое уравнение - нужно нажать клавишу Enter
        Console.WriteLine("Решить новое? Нажмите клавишу Enter...")
        Dim k As ConsoleKeyInfo = Console.ReadKey
        If k.Key = ConsoleKey.Enter Then
            Console.Clear()
            Disc()
        End If
    End Sub
End Module

discr 300x178 Вычисление дискриминанта и его корней

Дискриминант.zip

  Метки: , ,
  Евгений
  Просмотров: 4 034
  Запись опубликована в 12:40

Завершение работы, перезагрузка, блокировка компьютера

В продолжение к

Хотелось бы рассказать еще про один способ завершения работы компьютера.

Изначально хотел написать про API функцию ExitWindowsEx, но нашел более адекватный вариант с помощью WMI.

Windows Management Instrumentation (WMI) в дословном переводе — это инструментарий управления Windows. Если говорить более развернутo, то WMI — это одна из базовых технологий для централизованного управления и слежения за работой различных частей компьютерной инфраструктуры под управлением платформы Windows.                                                   https://ru.wikipedia.org/wiki/WMI 

Первое, что мы сделаем, это добавим ссылку на System.Management, для этого нажимаем Проект->Добавить ссылку

sysman 300x238 Завершение работы, перезагрузка, блокировка компьютера

Подробнее »

  Метки: , , , , ,
  Евгений
  Просмотров: 3 546
  Запись опубликована в 15:33

Скриншот активного окна

Сегодня попробуем написать простой скриншотер активных окон. Работать будем, практически с одним Windows API. Ииспользуем такие функции:

  • RegisterHotKey - определяем (регистрируем) глобальную клавишу
  • UnregisterHotKey - освобождаем клавишу
  • GetForegroundWindow - функция возвращает Handle активного окна
  • GetWindowRect - узнаем размеры окна
  • RECT - структура, которую требует GetWindowRect для извлечения размера окна

Приступаем

Создаем новый проект, на форму кидаем кнопку.

img form Скриншот активного окна

Подробнее »

  Метки: ,
  Евгений
  Просмотров: 11 128
  Запись опубликована в 16:42

Скрыть курсор — функция ShowCursor (user32)

Функция ShowCursor показывает или скрывает курсор мыши.

  • True - показать курсор
  • False - скрыть курсор

Курсор невидно только в пределах формы.

Imports System.Runtime.InteropServices
Imports System.Threading
Public Class Form1
    <DllImport("user32.dll", CharSet:=CharSet.Auto, ExactSpelling:=True)> _
Public Shared Function ShowCursor(ByVal bShow As Boolean) As Integer
    End Function
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ShowCursor(False) ' Скрываем курсор
        Thread.Sleep(3000) ' Ждем 3с..
        ShowCursor(True) ' Показываем курсор
    End Sub
End Class

Подробнее »

  Метки: , ,
  Евгений
  Просмотров: 10 619
  Запись опубликована в 10:12

Растягиваем форму без стиля

Пример, как растягивать форму за какой-либо объект. Добавляем Label, пришвартовываем его к нижнему правовому углу.

Public Class Form1
    Dim pt As Point
    Private Sub Label1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseDown
        pt = New Point(e.X, e.Y)
    End Sub
    Private Sub Label1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseMove
        If e.Button = MouseButtons.Left Then
            Size = New Size(Width + (e.X - pt.X), Height + (e.Y - pt.Y))
        End If
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        FormBorderStyle = FormBorderStyle.None
        Label1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
    End Sub
End Class

form gif Растягиваем форму без стиля

Растягиваем форму C#

  Метки: , ,
  Евгений
  Просмотров: 1 868
  Запись опубликована в 12:25

Страниц:«1234567...24»