Jusqu'ici je développer mes application sous VB2008, j'aimerais en réaliser avec Autoit.
La carte nécessite deux dll = "mpusbapi.dll et K8061.dll" (fournis avec la carte).
Je n'ai pas de base pour l'utilisation des dll avec autoit, si vous pouviez m'orienter sur un tuto ou un truc simple...
Voila une source qui tourne sous VB2008 que j'aimerai refaire avec Autoit =
► Afficher le texte
Code : Tout sélectionner
Option Strict Off
Option Explicit On
Friend Class K8061
Inherits System.Windows.Forms.Form
Dim bDoNothing As Boolean
Dim shtCount As Short
Dim intCardNumber As Integer
Private Declare Function OpenDevice Lib "k8061.dll" () As Integer
Private Declare Sub CloseDevices Lib "k8061.dll" ()
Private Declare Function ReadAnalogChannel Lib "k8061.dll" (ByVal intCardNumber As Integer, ByVal Channel As Integer) As Integer
Private Declare Function PowerGood Lib "k8061.dll" (ByVal intCardNumber As Integer) As Boolean
Private Declare Function Connected Lib "k8061.dll" (ByVal intCardNumber As Integer) As Boolean
Private Declare Sub ReadVersion Lib "k8061.dll" (ByVal intCardNumber As Integer, ByRef Buffer As Integer)
Private Declare Sub ReadAllAnalog Lib "k8061.dll" (ByVal intCardNumber As Integer, ByRef Buffer As Integer)
Private Declare Sub OutputAnalogChannel Lib "k8061.dll" (ByVal intCardNumber As Integer, ByVal Channel As Integer, ByVal Data As Integer)
Private Declare Sub OutputAllAnalog Lib "k8061.dll" (ByVal intCardNumber As Integer, ByRef Buffer As Integer)
Private Declare Sub ClearAnalogChannel Lib "k8061.dll" (ByVal intCardNumber As Integer, ByVal Channel As Integer)
Private Declare Sub SetAllAnalog Lib "k8061.dll" (ByVal intCardNumber As Integer)
Private Declare Sub ClearAllAnalog Lib "k8061.dll" (ByVal intCardNumber As Integer)
Private Declare Sub SetAnalogChannel Lib "k8061.dll" (ByVal intCardNumber As Integer, ByVal Channel As Integer)
Private Declare Sub OutputAllDigital Lib "k8061.dll" (ByVal intCardNumber As Integer, ByVal Data As Integer)
Private Declare Sub ClearDigitalChannel Lib "k8061.dll" (ByVal intCardNumber As Integer, ByVal Channel As Integer)
Private Declare Sub ClearAllDigital Lib "k8061.dll" (ByVal intCardNumber As Integer)
Private Declare Sub SetDigitalChannel Lib "k8061.dll" (ByVal intCardNumber As Integer, ByVal Channel As Integer)
Private Declare Sub SetAllDigital Lib "k8061.dll" (ByVal intCardNumber As Integer)
Private Declare Function ReadDigitalChannel Lib "k8061.dll" (ByVal intCardNumber As Integer, ByVal Channel As Integer) As Boolean
Private Declare Function ReadAllDigital Lib "k8061.dll" (ByVal intCardNumber As Integer) As Integer
Private Declare Sub OutputPWM Lib "k8061.dll" (ByVal intCardNumber As Integer, ByVal Data As Integer)
Private Declare Sub Version Lib "k8061.dll" ()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'connect la carte1
Dim intCard As Integer
intCard = 0
intCard = OpenDevice
'connect la carte2
Dim intCard2 As Integer
intCard2 = 1
intCard2 = OpenDevice
'demare le timer qui verifie l'etat des digitales inputs 1 des deux cartes
Timer1.Interval = 500
Timer1.Start()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'reset
ClearAllDigital(0)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
'O1 carte1 on
SetDigitalChannel(0, 1)
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
'O1 carte1 off
ClearDigitalChannel(0, 1)
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
'O1 carte2 on
SetDigitalChannel(1, 1)
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
'O1 carte2 off
ClearDigitalChannel(1, 1)
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
'verifie l'etat des digitales inputs 1 des deux cartes
ReadDigitalChannel(0, 1)
ReadDigitalChannel(0, 1)
'indique leur etats
If ReadDigitalChannel(0, 1) = True Then
CheckBox1.Checked = 1
End If
If ReadDigitalChannel(1, 1) = True Then
CheckBox2.Checked = 1
End If
End Sub
End Class
http://sites.google.com/site/brikop/k8061-1
Ayant galérer pour apprendre a utiliser ces cartes, j' avais fait ce site il y'a quelque années pour aider les débutants a exploiter leur cartes...