Voici une base de travail.
Public Class Form1
Public Declare Function Inp Lib "INPOUT32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "INPOUT32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
Public V0, V1, V2, V3, V4, V5, V6, V7 As Integer
Public Vout As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'------------------------ RECUPERATION DE LA VALEUR DECIMALE --------------------
Dim valeur As Integer
valeur = Inp(&H379)
'valeur = 213 'Valeur de test
MsgBox(valeur)
' -------------------------- CONVERSION EN VALEUR BINAIRE -----------------------
'Dim digit As Boolean
Dim index As Integer
Dim entree(8) ' Declaration d'un tableau de 8 elements (de 0 à 7)
index = 7
If valeur >= 0 Then
Do While valeur > 0
'digit = valeur Mod 2
entree(index) = valeur Mod 2
index = index - 1
valeur = valeur \ 2
Loop
End If
' ------------------ MISE EN EVIDENCE DES ENTREES SUR CHECKBOX -------------------
'For index = 0 To 4
' check_in_&(index).Checked = entree(index)
'Next index
check_in_0.Checked = entree(0)
check_in_1.Checked = entree(1)
check_in_2.Checked = entree(2)
check_in_3.Checked = entree(3)
check_in_4.Checked = entree(4)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Vout = V0 + V1 + V2 + V3 + V4 + V5 + V6 + V7
TextBox1.Text = Vout
Out(&H378, Vout)
End Sub
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
Out(&H378, 0) 'Remise à zéro des sorties à la fermeture du programme
End Sub
' ---------------------- GESTION DES CHECKBOX POUR L'ECRITURE -----------------------
Private Sub D0_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles D0.CheckedChanged
Dim Out0 As Boolean
If (D0.Checked = True) Then
Out0 = True
Else : Out0 = False
End If
If Out0 = True Then
V0 = 1
Else : V0 = 0
End If
End Sub
Private Sub D1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles D1.CheckedChanged
Dim Out1 As Boolean
If (D1.Checked = True) Then
Out1 = True
Else : Out1 = False
End If
If Out1 = True Then
V1 = 2
Else : V1 = 0
End If
End Sub
Private Sub D2_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles D2.CheckedChanged
Dim Out2 As Boolean
If (D2.Checked = True) Then
Out2 = True
Else : Out2 = False
End If
If Out2 = True Then
V2 = 4
Else : V2 = 0
End If
End Sub
Private Sub D3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles D3.CheckedChanged
Dim Out3 As Boolean
If (D3.Checked = True) Then
Out3 = True
Else : Out3 = False
End If
If Out3 = True Then
V3 = 8
Else : V3 = 0
End If
End Sub
Private Sub D4_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles D4.CheckedChanged
Dim Out4 As Boolean
If (D4.Checked = True) Then
Out4 = True
Else : Out4 = False
End If
If Out4 = True Then
V4 = 16
Else : V4 = 0
End If
End Sub
Private Sub D5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles D5.CheckedChanged
Dim Out5 As Boolean
If (D5.Checked = True) Then
Out5 = True
Else : Out5 = False
End If
If Out5 = True Then
V5 = 32
Else : V5 = 0
End If
End Sub
Private Sub D6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles D6.CheckedChanged
Dim Out6 As Boolean
If (D6.Checked = True) Then
Out6 = True
Else : Out6 = False
End If
If Out6 = True Then
V6 = 64
Else : V6 = 0
End If
End Sub
Private Sub D7_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles D7.CheckedChanged
Dim Out7 As Boolean
If (D7.Checked = True) Then
Out7 = True
Else : Out7 = False
End If
If Out7 = True Then
V7 = 128
Else : V7 = 0
End If
End Sub
End Class
il faut bien sur placé la dll déclaré en entête dans le rep de ton appli. salut