Envoyer Fichier En Hexa Dans Un Panneau

Résolu
Signaler
Messages postés
13
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
2 juin 2013
-
Messages postés
13
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
2 juin 2013
-
Bonjour,
Je suis en projet d'évolution avec ma société.
En VB.NET, j'envoie les données en Hexadécimal comme ceci :
Dim Message = New Byte() {&H54, &H43, &H4C, &H59, &H39, &H3, &H0, &H0, &H18, &H0, &H92, &HA9, &H80, &H0, &H0, &H0, &H78, &H79, &HD9, &H0, &HB8, &HF6, &H12, &H0}

Cette exemple indique au panneau de se mettre en pause afin d'envoyer les textes et les images.

Pour envoyer du texte, je dois convertir le fichier de format rtf (WordPad) en xml qui est le format que comprend le panneau.

Imports System.Net
Imports System.Net.Sockets
Imports System.IO
Public Class Form1
    Dim _Socket As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp) ' Mode De Connection
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        _Socket.Connect(TextBox1.Text, 27694) ' Conection Avec Le Panneau Sur Le Port 27694
    End Sub
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Shell("ping " & TextBox1.Text, AppWinStyle.MaximizedFocus) ' Test De Ping Avec Le Panneau
    End Sub
    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If TextBox3.Text = "" Then ' Si Pas De Texte
            MsgBox("Erreur") ' Erreur
            Exit Sub ' Quitte Toute Operation
        End If
        Dim MessageDePause = New Byte() {&H54, &H43, &H4C, &H59, &H39, &H3, &H0, &H0, &H18, &H0, &H92, &HA9, &H80, &H0, &H0, &H0, &H78, &H79, &HD9, &H0, &HB8, &HF6, &H12, &H0} ' Mise En Pause Du Panneau
        IO.Directory.CreateDirectory("C:\RtfToXmp") ' Creation Du Dossier
        IO.File.WriteAllBytes("C:\RtfToXmp\RTF2XMP.exe", My.Resources.RTFTOXMPEXE) 'Ecriture De L'Application Pour Convertir Les Rtf En Xml
        IO.File.WriteAllText("C:\RtfToXmp\rtf2xmp.ini", My.Resources.RTFTOXMPINI) ' Ecriture Du Fichier De Config Pour RTFTOXML
        IO.File.WriteAllText("C:\RtfToXmp\REG.rtf", "{\rtf1\ansi\ansicpg936\deff0{\fonttbl{\f0\fnil\fprq2\fcharset0 ABACP8X5;}{\f1\fnil\fcharset0 abacp8x5;}}" & vbNewLine & "{\colortbl ;\red255\green255\blue0;}" & vbNewLine & "{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\qc\cf1\lang1036\f0\fs48 " & TextBox3.Text & "\f1\par") ' Contenu Du Fichier RTF Avec TextBox3.Text Pour Choisir Quoi Ecrire Sur Le Panneau
        Shell("C:\RtfToXmp\RTF2XMP.exe", AppWinStyle.Hide) ' Lancement De La L'Application
        Threading.Thread.Sleep(10000) ' Pause Pour Que RTF2XMP Finit Ses Operations
        Dim MessageDeTexteDebut = New Byte() {&H54, &H43, &H4C, &H59, &H1A, &H2, &H0, &H0, &H18, &H4, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H4, &H0, &H0} ' Code Pour Commencer A Envoyer Le Contenu Des Textes
        Dim MessageDeTexteFin New Byte() "" ' Contenu Hexadecimal Du Fichier A Envoyer
        _Socket.Send(MessageDePause, 0, MessageDePause.Length, SocketFlags.None) 'Envoie
        _Socket.Send(MessageDeTexteDebut, 0, MessageDePause.Length, SocketFlags.None) 'Envoie
        _Socket.Send(MessageDeTexteFin, 0, MessageDePause.Length, SocketFlags.None) 'Envoie

    End Sub


MessageDeTexteDebut dit au panneau que je vais envoyer du texte
MessageDeTexteFin est le contenu du fichier a envoyer

2 réponses

Messages postés
13
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
2 juin 2013

Resolu :
Je Mal Lu, ET J'Ai Oublier De Changer Ca :
        _Socket.Send(MessageDePause, 0, MessageDePause.Length, SocketFlags.None) 'Envoie
        _Socket.Send(MessageDeTexteDebut, 0, MessageDePause.Length, SocketFlags.None) 'Envoie
        _Socket.Send(MessageDeTexteFin, 0, MessageDePause.Length, SocketFlags.None) 'Envoie


En Ca :
        _Socket.Send(MessageDePause, 0, MessageDePause.Length, SocketFlags.None) 'Envoie
        _Socket.Send(MessageDeTexteDebut, 0, MessageDeTexteDebut.Length, SocketFlags.None) 'Envoie
        _Socket.Send(MessageDeTexteFin, 0, MessageDeTexteFin.Length, SocketFlags.None) 'Envoie

Bonsoir,

Montre un exemple de fichier rtf à transformer ainsi que le résultat souhaité de sa transformation xml.

Merci.