Erreur lors : Réception de données sur VB 2010 (Port série) !
Ihcaamel
-
13 oct. 2012 à 14:48
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
14 oct. 2012 à 16:10
Salut tout le monde
voila j'ai une erreur dont je ne sais pas la réponse, je suis débutant en vb et j'utilise VB 2010, donc pour vous éclaircir ce que je fais j'ai essayé d'envoyer des données du PIC vers l'interface VB j'ai réussi à afficher par ex "Hello" mais lorsque j'ai essayé de faire deux zones de textes pour faire la différence entre deux données je trouve une erreur si vous pouvez m'aider à comprendre la faute réside ou ?
voila le code :
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SerialPort1.Open()
End Sub
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
CheckForIllegalCrossThreadCalls = False
Dim data = SerialPort1.ReadExisting
If data.Substring(0, 2) = "tem" Then
TextBox1.Text = data.Substring(3)
End If
If data.Substring(0, 2) = "tee" Then
TextBox2.Text = data.Substring(3)
End If
End Sub
End Class
voila l'erreur que je trouve :
Index and length must refer to a location within the string.
Parameter name: length
A voir également:
Erreur lors : Réception de données sur VB 2010 (Port série) !
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 13 oct. 2012 à 15:05
Bonjour,
J'ai déplacé dans la catégorie .NET (VB2010 étant du .NET).
Sinon, sur quelle ligne apparait l'erreur ?
Quelle est la chaine en cours (Shift+F9 pour espionner la valeur) ?
Quelle partie de la chaine cherches-tu ? Tout est bien dans la chaine récupérée ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site
donc j’espère afficher dans une zone texte 35 et l'autre 50 c'est pour cela je veux faire la différence par ex par ces deux préfixe (tem,tee) "dans l'intention de réaliser l'affichage de deux grandeurs différentes" mais je ne comprend pas peut être que c'est au niveau du test que j'ai un problème.
Avant de tenter de découper une chaîne de caractères avec substring, on s'assure qu'elle soit non vide et qu'elle ait une longueur suffisante pour le faire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Pour les 'freeze' je n'arrive pas à bien comprendre les codes posés dans la discussion :( est ce vraiment c'est compliqué pour séparer les données et les afficher ?
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 14 oct. 2012 à 16:10
Bonjour,
Ce n'est pas compliqué, mais cela nécessite parfois de faire un test dans un projet à part.
Il faut essayer, ensuite, viens avec les problèmes rencontrés.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site