Автоматический запуск веб-камеры QR-сканер на VB - PullRequest
0 голосов
/ 02 мая 2018

У меня есть простая программа Windows Form, использующая Visual Basic, которая сканирует QR-код с помощью веб-камеры. Но моя программа использует две кнопки при сканировании, кнопку запуска, чтобы запустить веб-камеру, и кнопку обнаружения, чтобы сканировать QR. У меня вопрос, как я могу сделать две кнопки в одну, чтобы при запуске веб-камеры она автоматически сканировала QR-код перед ней. Это моя кнопка запуска и обнаружения.

   Private Sub ButtonStart_Click(sender As Object, e As EventArgs) Handles Button1.Click
    StartWebcam()
    TextBox1.Clear()
End Sub

    Private Sub ButtonDetect_Click(sender As Object, e As EventArgs) Handles Button3.Click
    'Scans the received image
    Try
        StopWebcam()
        Reader = New QRCodeDecoder
        TextBox1.Text = Reader.decode(New Data.QRCodeBitmapImage(PictureBox1.Image))
        MsgBox("QR code is detected!")
    Catch ex As Exception
        StartWebcam()
    End Try
End Sub

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Поправьте меня, если я ошибаюсь: вы хотите выполнить / вызвать StartWebcam метод, а когда выполнение завершится, вы хотите вызвать остальную часть кода, верно? Если это так, Async / Await - ваш лучший вариант:

 ''Firstly,make your StartWebcam method an Async method :

  Async Sub StartWebcam()
  '''codes here
  End sub

  '''Now call the method from your button :    
  TextBox1.Clear()
  Await StartWebcam()

  '''now the other codes that will be executed after StartWebcam is done executing 

   Try
    StopWebcam()
    Reader = New QRCodeDecoder
    TextBox1.Text = Reader.decode(New Data.QRCodeBitmapImage(PictureBox1.Image))
    MsgBox("QR code is detected!")
Catch ex As Exception
    StartWebcam()
End Try

Надеюсь, это поможет:)

0 голосов
/ 02 мая 2018

Может быть, это длинный выстрел, но вы можете попробовать объединить его так (я предполагаю, что основная кнопка будет Button1)

Private Sub ButtonStart_Click(sender As Object, e As EventArgs) Handles Button1.Click
    StartWebcam()
    TextBox1.Clear()
    Try
        StopWebcam()
        Reader = New QRCodeDecoder
        TextBox1.Text = Reader.decode(New Data.QRCodeBitmapImage(PictureBox1.Image))
        MsgBox("QR code is detected!")
    Catch ex As Exception
        StartWebcam()
    End Try
End Sub

Надеюсь, я помог или хотя бы дал вам несколько идей:)

...