Parallelport: Motor mit "Taster-Verriegelung"

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Mad Andy.

    Parallelport: Motor mit "Taster-Verriegelung"

    hallo zusammen
    ich habe vor zwei motoren mit den pfeiltasten anzusteuern.
    das programm selber läuft auch, nur bevor ich tatsächlich die motoren anschliesse,will ich das programm so verändern, das wenn ich z.b.
    links und rechts drücke, nur links aktiv ist.das gleiche für hoch und runter.
    es soll halt immer nur die erste eingabe funktionieren.

    VB.NET-Quellcode

    1. Public Class parallelport
    2. Public Declare Function Inp Lib "inpout32.dll" Alias _
    3. "Inp32" (ByVal PortAddress As Integer) As Integer
    4. Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" _
    5. (ByVal PortAddress As Integer, ByVal Value As Integer)
    6. Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    7. If e.KeyCode = Windows.Forms.Keys.Up Then
    8. PictureBox2.Visible = True
    9. Out(888, 1)
    10. ElseIf e.KeyCode = Windows.Forms.Keys.Down Then
    11. PictureBox3.Visible = True
    12. Out(888, 2)
    13. ElseIf e.KeyCode = Windows.Forms.Keys.Left Then
    14. PictureBox1.Visible = True
    15. Out(888, 4)
    16. ElseIf e.KeyCode = Windows.Forms.Keys.Right Then
    17. PictureBox4.Visible = True
    18. Out(888, 8)
    19. End If
    20. End Sub
    21. Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
    22. If e.KeyCode = Windows.Forms.Keys.Up Then
    23. PictureBox2.Visible = False
    24. Out(888, 0)
    25. ElseIf e.KeyCode = Windows.Forms.Keys.Down Then
    26. PictureBox3.Visible = False
    27. Out(888, 0)
    28. ElseIf e.KeyCode = Windows.Forms.Keys.Left Then
    29. PictureBox1.Visible = False
    30. Out(888, 0)
    31. ElseIf e.KeyCode = Windows.Forms.Keys.Right Then
    32. PictureBox4.Visible = False
    33. Out(888, 0)
    34. End If
    35. End Sub
    36. End Class


    so hab ich probiert nur klappt das leider nicht


    VB.NET-Quellcode

    1. Public Class parallelport
    2. Public Declare Function Inp Lib "inpout32.dll" Alias _
    3. "Inp32" (ByVal PortAddress As Integer) As Integer
    4. Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" _
    5. (ByVal PortAddress As Integer, ByVal Value As Integer)
    6. Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    7. If e.KeyCode = Windows.Forms.Keys.Up Then
    8. If e.KeyCode = Windows.Forms.Keys.Down Then
    9. PictureBox2.Visible = False
    10. Out(888, 0)
    11. Else
    12. PictureBox2.Visible = True
    13. Out(888, 1)
    14. End If
    15. ElseIf e.KeyCode = Windows.Forms.Keys.Down Then
    16. If e.KeyCode = Windows.Forms.Keys.Up Then
    17. PictureBox3.Visible = False
    18. Out(888, 0)
    19. Else
    20. PictureBox3.Visible = True
    21. Out(888, 2)
    22. End If
    23. ElseIf e.KeyCode = Windows.Forms.Keys.Left Then
    24. PictureBox1.Visible = True
    25. Out(888, 4)
    26. ElseIf e.KeyCode = Windows.Forms.Keys.Right Then
    27. PictureBox4.Visible = True
    28. Out(888, 8)
    29. End If
    30. End Sub
    31. Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
    32. If e.KeyCode = Windows.Forms.Keys.Up Then
    33. PictureBox2.Visible = False
    34. Out(888, 0)
    35. ElseIf e.KeyCode = Windows.Forms.Keys.Down Then
    36. PictureBox3.Visible = False
    37. Out(888, 0)
    38. ElseIf e.KeyCode = Windows.Forms.Keys.Left Then
    39. PictureBox1.Visible = False
    40. Out(888, 0)
    41. ElseIf e.KeyCode = Windows.Forms.Keys.Right Then
    42. PictureBox4.Visible = False
    43. Out(888, 0)
    44. End If
    45. End Sub
    46. End Class


    der schaltet trotzdem beide gleichzeitig

    gruss dohr83

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mad Andy“ ()