Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPublic Class Form1 #Region "déclaration de la DLL" Private Declare Function OpenDevice Lib "k8055d.dll" (ByVal CardAddress As Integer) As Integer Private Declare Sub CloseDevice Lib "k8055d.dll" () Private Declare Sub Version Lib "k8055d.dll" () Private Declare Function SearchDevices Lib "k8055d.dll" () As Integer Private Declare Function SetCurrentDevice Lib "k8055d.dll" (ByVal CardAddress As Integer) As Integer Private Declare Function ReadAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Integer Private Declare Sub ReadAllAnalog Lib "k8055d.dll" (ByRef Data1 As Integer, ByRef Data2 As Integer) Private Declare Sub OutputAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer, ByVal Data As Integer) Private Declare Sub OutputAllAnalog Lib "k8055d.dll" (ByVal Data1 As Integer, ByVal Data2 As Integer) Private Declare Sub ClearAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub SetAllAnalog Lib "k8055d.dll" () Private Declare Sub ClearAllAnalog Lib "k8055d.dll" () Private Declare Sub SetAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub WriteAllDigital Lib "k8055d.dll" (ByVal Data As Integer) Private Declare Sub ClearDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub ClearAllDigital Lib "k8055d.dll" () Private Declare Sub SetDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub SetAllDigital Lib "k8055d.dll" () Private Declare Function ReadDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Boolean Private Declare Function ReadAllDigital Lib "k8055d.dll" () As Integer Private Declare Function ReadCounter Lib "k8055d.dll" (ByVal CounterNr As Integer) As Integer Private Declare Sub ResetCounter Lib "k8055d.dll" (ByVal CounterNr As Integer) Private Declare Sub SetCounterDebounceTime Lib "k8055d.dll" (ByVal CounterNr As Integer, ByVal DebounceTime As Integer) #End Region OpenDevice(CardAddress=0) 'Quand je branche ma carte et que je regarde sur le logiciel de test de la carte c'est la carte numéro 0 Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown ' Select Case e.KeyCode Case Keys.Left SetDigitalChannel(1) WriteAllDigital(11111111) 'Je ne sais pas si c'est en héxadécimal ou en binaire. 'ClearAllDigital() => Je ne sais pas si je dois mettre cette commande, car si je ne la met pas j'ai peur que la commande reste en permanance 'et si je le met j'ai peur que la commande soit instantanné Label8.Text = "Tu appuis sur la flèche Gauche" Case Keys.Right SetDigitalChannel(2) WriteAllDigital(11111111) 'Je ne sais pas si c'est en héxadécimal ou en binaire. 'ClearAllDigital() => Idem que pour au dessus Label8.Text = "Tu appuis sur la flèche Droite" Case Else SetDigitalChannel(1 And 2) WriteAllDigital(0) 'Je ne sais pas si c'est en héxadécimal ou en binaire. 'ClearAllDigital() => Idem que pour au dessus Label8.Text = "Clavier erroné" End Select End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Text = "Test Clavier par Adn" End Sub CloseDevice End Class
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing If connect = True Then ClearAllDigital() ' a faire avant de fermer la carte ^^ ClearAllAnalog() CloseDevice() ' et enfin on ferme la carte End If End Sub ' a la fermeture du programme (en fait de la form) on ferme tout (surtout les sorties ;) )
Dim status As Integer = OpenDevice(0) 'adresse de la carte en 0 If status = -1 Then 'opendevice retourne l'adresse si OK et -1 si NOK connect = False Else connect = True Me.Text = " Gestion d'une carte VM110 par timer .: en ligne :. " End If
Public Class Form1 #Region "déclaration de la DLL" Private Declare Function OpenDevice Lib "k8055d.dll" (ByVal CardAddress As Integer) As Integer Private Declare Sub CloseDevice Lib "k8055d.dll" () Private Declare Sub Version Lib "k8055d.dll" () Private Declare Function SearchDevices Lib "k8055d.dll" () As Integer Private Declare Function SetCurrentDevice Lib "k8055d.dll" (ByVal CardAddress As Integer) As Integer Private Declare Function ReadAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Integer Private Declare Sub ReadAllAnalog Lib "k8055d.dll" (ByRef Data1 As Integer, ByRef Data2 As Integer) Private Declare Sub OutputAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer, ByVal Data As Integer) Private Declare Sub OutputAllAnalog Lib "k8055d.dll" (ByVal Data1 As Integer, ByVal Data2 As Integer) Private Declare Sub ClearAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub SetAllAnalog Lib "k8055d.dll" () Private Declare Sub ClearAllAnalog Lib "k8055d.dll" () Private Declare Sub SetAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub WriteAllDigital Lib "k8055d.dll" (ByVal Data As Integer) Private Declare Sub ClearDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub ClearAllDigital Lib "k8055d.dll" () Private Declare Sub SetDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) Private Declare Sub SetAllDigital Lib "k8055d.dll" () Private Declare Function ReadDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Boolean Private Declare Function ReadAllDigital Lib "k8055d.dll" () As Integer Private Declare Function ReadCounter Lib "k8055d.dll" (ByVal CounterNr As Integer) As Integer Private Declare Sub ResetCounter Lib "k8055d.dll" (ByVal CounterNr As Integer) Private Declare Sub SetCounterDebounceTime Lib "k8055d.dll" (ByVal CounterNr As Integer, ByVal DebounceTime As Integer) #End Region Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown Dim status As Integer = OpenDevice(0) 'adresse de la carte est 0 If status = -1 Then 'opendevice retourne l'adresse si OK et -1 si pas OK connect = False Else connect = True Me.Text = " Gestion d'une carte VM110 .: en ligne :. " End If Select Case e.KeyCode Case Keys.Left SetDigitalChannel(1) ClearDigitalChannel(2) Label8.Text = "Tu appuis sur la flèche Gauche" Case Keys.Right SetDigitalChannel(2) ClearDigitalChannel(1) Label8.Text = "Tu appuis sur la flèche Droite" Case Else ClearDigitalChannel(1 And 2) Label8.Text = "Clavier erroné" End Select End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Text = "Test Clavier par Dimitri VINCENT" End Sub Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing If connect = True Then ClearAllDigital() ClearAllAnalog() CloseDevice() End If End Sub ' End Class