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

VB.NET Discussion :

performance SerialPort optimisation ?


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 30
    Par défaut performance SerialPort optimisation ?
    bonjour,

    j'ai fait un programme en VB pour envoyer un fichier texte à une imprimante série. Cela fonction bien sauf que en terme de rapidité cela ne me convient pas , la commande windows
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print /d:com 2 texte.txt
    est une seconde plus rapide que le programme.

    voici le code du programme :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Imports System.IO.Ports
    Imports System.IO
     
    Module Module1
     
        Sub Main(ByVal args() As String)
     
            Dim com1 As New SerialPort
     
            Dim ligne As String
     
            With com1
     
                .PortName = "Com2"
     
                .BaudRate = 19200
     
                .Parity = Parity.None
     
                .DataBits = 8
     
                .StopBits = StopBits.One
     
            End With
     
            If Not (com1.IsOpen = True) Then
                com1.Open()
            End If
     
            Dim monStreamReader As StreamReader = New StreamReader(args(0))
     
            Do
                ligne = monStreamReader.ReadLine()
     
                com1.WriteLine(ligne)
     
                System.Threading.Thread.Sleep(0.6) 'si je ne fait pas une tempo pas d'impression
     
            Loop Until ligne Is Nothing
     
            monStreamReader.Close()
     
        End Sub
     
     
    End Module
    Il y a t il un moyen d'optimiser le code ou de compiler le programme d'une façon meilleure (windows xp 32bit) ?

    Merci.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    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 204
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    com1.write(system.io.readalltext("x:\fichier.txt"))
    ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 30
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    com1.Write(My.Computer.FileSystem.ReadAllText("c:\temp\txt.txt"))
    ne fonctionne pas ... pas d'impression

    Je pense que cela vient d'un problème de buffer mais je ne sais pas comment le gérer si vous avez des exemples avec des explications je suis preneur.

    Merci.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 30
    Par défaut
    Bonjour,

    j'aimerai envoyer plusieurs ligne d'un coup mais comment faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    com1.write("plusieurs ligne") ???
    j'ai essayer cela mais cela imprime une fois sur dix ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ligne = "ligne1" & vbCrLf & "ligne2" & vbCrLf & "ligne3" & vbCrLf
    com1.WriteLine(ligne)
    par contre cela fonctionne bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    com1.WriteLine("ligne1" & vbCrLf & "ligne2" & vbCrLf & "ligne3" & vbCrLf)
    D'où peut venir le problème, je ne comprends pas ???

    Un peut d'aide s'il vous plait (des heures à chercher sur google )
    Merci.



    .....quelques heures plus tard : ca marche voici comment faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    com1.WriteLine(File.ReadAllText("c:\temp\txt.txt"))
    System.Threading.Thread.Sleep(50)
    com1.Close()
    Par contre si je supprime la tempo ca ne marche pas pourquoi je ne sais pas ?
    Merci comme même de votre attention.

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

Discussions similaires

  1. Performance et Optimisation en C#
    Par Identifiant dans le forum C#
    Réponses: 2
    Dernier message: 18/11/2009, 09h22
  2. [Performance]Comment optimiser la vitesse ?
    Par le Daoud dans le forum Général Java
    Réponses: 13
    Dernier message: 03/06/2005, 15h47

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