IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Lecture/Ecriture en binaire


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Par défaut Lecture/Ecriture en binaire
    Bonjour,
    je n'ai encore rien fait en binaire je me perd un peu dans tout ce que j'ai pu trouver sur internet...
    Ce que je voudrais faire c'est écrire dans un fichier texte deja existant, sans remplacer son contenu, a partir du texte saisi dans un TextBox, et faire aussi l'inverse c'est à dire lire un fichier texte en binaire pour l'afficher dans un TextBox. Le tout écrit en Vb.Net.
    Je voudrais aussi pouvoir afficher le code binaire directement dans un TextBox sans l'écrire sous forme de texte.

    Quelqu'un sait il comment faire ?

    merci d'avance

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    si c'est pour mettre dans un textbox, ca paraitrait logique de traiter le fichier en texte

    m'enfin si tu veux juste voir binairement ce qu'il y a dedans ca reste faisable

    il faut utiliser un System.IO.FileStream
    tu peux lire un fichier, ou écrire un fichier (soit en mode rewrite soit en mode append)
    et donc tu récupères ou écris des octets directement ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre expérimenté Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Par défaut
    j'ai essayé avec FileStream ca marche sans problème pour l'écriture. Par contre quand je veux lire le contenu du fichier ca m'affiche bien des valeurs dans le TextBox mais ce ne sont pas des valeurs binaires.

    Ex: s'il y a le fichier contient le caractère "a", le TextBox va afficher: "970"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            pathFile = "C:\ecrireBinaire.txt"
            Dim TailleOctets As Long = GetFileLength(pathFile)
            If Not File.Exists(pathFile) Then
                File.Create(pathFile)
            End If
            Dim fs2 As FileStream = File.OpenRead(pathFile)
            For i = 0 To TailleOctets
                Try
                    valByte = fs2.ReadByte()
                    totalByte = totalByte & valByte
                Catch ex As Exception
                End Try
            Next
            fs2.Close()
            TextBox3.Text = totalByte
        End Sub
     
    'cette fonction me sert juste a trouver la taille en octets du fichier
        Function GetFileLength(ByVal sPathFile As String) As Long
            Dim oFile As New System.IO.FileInfo(sPathFile)
            Dim lRet As Long
            If oFile.Exists Then lRet = oFile.Length Else lRet = -1
            oFile = Nothing
            Return lRet
        End Function
    End Class
    Est ce qu'il y a moyen d'afficher la valeur en binaire uniquement?

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    tu veux des 1 et des 0 ? des octets ? de l'hexadecimal ?


    quels sont les types de valbyte et totalbyte dans ton code ? (string ?)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre expérimenté Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Par défaut
    je voudrais obtenir des 0 et des 1
    et j'ai déclaré valByte et totalByte en tant que string

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    readbyte te permet d'obtenir des octet, pas des bit

    regarde la classe bitconverter si elle peut te donner les bit de l'octet, que tu pourras ensuite ajouter au string

    nb : pour de la concaténation, la classe system.text.stringbuilder est beaucoup plus rapide qu'un string qui est obligé de réallouer de l'espace mémoire à chaque concaténation
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre expérimenté Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Par défaut
    Il semblerait que la classe BitConverter ne marche qu'avec les tableau de byte, mais je ne sais pas comment en faire un avec le code que j'ai utilisé.

    Est ce qu'il n'existe pas de fonction pour lire bit par bit directement?

    Sinon est ce que tu pourrais donner un exemple d'utilisation de la classe system.text.stringbuilder car je ne m'en suis jamais servit et je ne vois pas comment faire.

    merci beaucoup pour les réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lecture et ecriture fichier binaire
    Par gedonet dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 20/04/2009, 19h51
  2. lecture ecriture fichier binaire
    Par jonckers dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/04/2007, 09h12
  3. Lecture ecriture dans un fichier binaire
    Par laetous dans le forum C
    Réponses: 13
    Dernier message: 26/08/2006, 08h50
  4. ouverture/lecture/ecriture dans un fichier en mode binaire
    Par dirty_boy dans le forum Débuter
    Réponses: 2
    Dernier message: 15/03/2006, 08h38
  5. [fichier binaire]lecture ecriture dump
    Par parsy dans le forum Langage
    Réponses: 7
    Dernier message: 10/08/2005, 18h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo