1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
Imports System.IO
Imports System
Imports System.Threading
Imports System.IO.Ports
Imports System.ComponentModel
Public Class Form1
'DATA RECEIVED recevoir les données
Dim inputData As String
Public Event DataReceived As IO.Ports.SerialDataReceivedEventHandler
Dim myPort As Array 'les ports Com détecter sur le pc seront stokés ici
Delegate Sub SetTextCallback(ByVal [text] As String) 'Added to prevent threading errors during receiveing of data
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'When our form loads, auto detect all serial ports in the system and populate the cmbPort Combo box.
myPort = IO.Ports.SerialPort.GetPortNames() 'Obtenir tout les ports series
For i = 0 To UBound(myPort)
PortBox.Items.Add(myPort(i))
Next
PortBox.Text = PortBox.Items.Item(0) 'Set cmbPort text to the first COM port detected
DeconnecteButton.Enabled = False
Me.KeyPreview = True
End Sub
'BUTTON CHARGER
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles ChargeButton.Click
Dim dlg As OpenFileDialog = New OpenFileDialog() 'Charge un fichier sur le disque
If dlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
End If
Dim sDatasTexte = System.IO.File.OpenText(dlg.FileName).ReadToEnd() 'Récup le contenu format texte
' Place le contenu dans un buffer d'octets (ASCII: 1 char = 1 octet) (UNICODE: 1 Char = 2 octets)
Dim bBufferBytes() As Byte = System.Text.Encoding.ASCII.GetBytes(sDatasTexte)
'TextBox.Text = sDatasTexte ' Affiche le bloc de texte
' Et affiche le bloc sour forme d'octets (Convertit les retour chariots pour l'affichage)
For i = 0 To UBound(bBufferBytes)
TextBox.Text = TextBox.Text & String.Format("{0:X2} ", bBufferBytes(i)) ' Ou Hex(bBufferBytes(i))
If System.Text.Encoding.ASCII.GetString(bBufferBytes, i, 1)(0) = vbLf Then TextBox.Text = TextBox.Text & vbCrLf
Next
' Ecrit le buffer complet sur le SerialPort
SerialPort1.Write(bBufferBytes, 0, bBufferBytes.Length)
Timer1.Start()
End Sub
'BUTTON CONNECTER
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles ConnecteButton.Click
SerialPort1.PortName = PortBox.Text 'Réglez le port série ou port COM sélectionné au démarrage
'Autres propriété du port com
SerialPort1.BaudRate = 9600
SerialPort1.Parity = IO.Ports.Parity.None
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.DataBits = 8
SerialPort1.Open() 'Open our serial port
'ecrire les informations dans la memoire tampon de sortie du port serie
If SerialPort1.IsOpen = True Then
ToolStripStatusLabel1.Text = "Port ouvert"
End If
'ToolStripStatusLabel1.Text = "Connecter"
ConnecteButton.Enabled = False 'Désactiver bouton Connect
DeconnecteButton.Enabled = True 'activer le bouton Déconnecter
RadioButton.BackColor = Color.Gray
ChargeButton.Enabled = True
End Sub
'BUTTON ENVOYER
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles EnvoyButton.Click
' SerialPort1.Write(ChargeButton.Text & vbCr) 'The text contained in the txtText will be sent to the serial port as ascii
'plus the carriage return (Enter Key) the carriage return can be ommitted if the other end does not need it
ToolStripStatusLabel1.Text = "Appuyez sur 'F6' de la commande numérique puis patientez..."
If Me.KeyPreview = True Then
SerialPort1.Write(ChargeButton.Text & vbCr)
'SerialPort1.Write(Chr(10))
End If
End Sub
'BUTTON DECONNECTER
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles DeconnecteButton.Click
SerialPort1.Close() 'Close our Serial Port
ConnecteButton.Enabled = True
DeconnecteButton.Enabled = False
RadioButton.BackColor = Color.Red
ChargeButton.Enabled = False
End Sub
'BUTTON RECEVOIR
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles RecevButton.Click
ToolStripStatusLabel1.Text = "Appuyez sur 'F6' de la commande numérique puis patientez..."
If Me.KeyPreview = True Then ' le teste de button F6
'SerialPort1.Write(ChargeButton.Text & vbCr)
SerialPort1.Write(Chr(10))
Timer1.Start()
End If
'SerialPort1.Write(Chr(13))
End Sub
'BUTTON SAUVEGARDER
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles SauvegardeButton.Click
End Sub
'TIMER DE LA BAR
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
ProgressBar1.Increment(1)
If ProgressBar1.Value = 100 Then
'Label2.Text = "Télechargement Réussi"
ToolStripStatusLabel1.Text = "Télechargement Réussi"
End If
Label1.Text = ProgressBar1.Value & ("%")
End Sub
'TESTE DU BUTTON F6
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.F6 Then
MsgBox("uvres")
End If
End Sub
Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
inputData = SerialPort1.ReadExisting
Me.Invoke(New EventHandler(AddressOf Affiche))
End Sub
'afficher les donnees recues dans linterface utilisateur
Private Sub Affiche()
TextBox1.Text &= inputData
End Sub
End Class |
Partager