begin process at 2012 02 13 22:42:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

Tableau Byte et déclaration


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tableau Byte et déclaration

jeudi 8 janvier 2009 à 15:50:38 | Tableau Byte et déclaration

toosdu87

Bonjour à tous,

Voici ce que je voudrai faire:

Dim Octet_hexa As Byte ()

If Longueur_Trame = "5" Then

Octet_hexa =

{ CByte (Tableau_emission(0)), CByte (Tableau_emission(1)), CByte (Tableau_emission(2)), CByte (Tableau_emission(3)), CByte (Tableau_emission(4)), CByte (Tableau_emission(5)), CByte (Tableau_emission(6)), CByte (Tableau_emission(7)), CByte (Tableau_emission(8)), CByte (Tableau_emission(9))}

End if

J'ai une erreur à la premiere accolade qui me dit : Expression attendue!!!

Pourriez vous m'aider à ce sujet car cela doit être tout bête mais je bloque.

Merci

Cyril
jeudi 8 janvier 2009 à 16:03:04 | Re : Tableau Byte et déclaration

jack

Administrateur CodeS-SourceS
Salut
Juste des idées (parce que .NET me file des boutons) :
- Ton tableau de Byte (Octet_hexa) n'est pas dimensionné, il devrait avoir un (9) quelque part, non ?
- Avant l'accolade, ne faudrait-il pas un mot clé comme Array ?
- Tableau_emission est-il bien un tableau valide ?
  Un tableau de quoi ? S'il est déjà un tableau de Bytes, CByte et Byte ne vont pas ensemble

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
jeudi 8 janvier 2009 à 16:17:57 | Re : Tableau Byte et déclaration

fauve

Membre Club
Salut,

C'est tout simple, il faut déclarer et initialiser ton tableau de Byte en même temps :

Dim  Octet_hexa As Byte() = {CByte(Tableau_emission(0)), CByte(Tableau_emission(1)), CByte(Tableau_emission(2)), CByte(Tableau_emission(3)), CByte(Tableau_emission(4)), CByte(Tableau_emission(5)), CByte(Tableau_emission(6)), CByte(Tableau_emission(7)), CByte(Tableau_emission(8)), CByte(Tableau_emission(9))}

++

Fauve

Pensez : Réponse Acceptée 
jeudi 8 janvier 2009 à 16:19:43 | Re : Tableau Byte et déclaration

toosdu87

Merci Jack

Ton tableau de Byte (Octet_hexa) n'est pas dimensionné, il devrait avoir un (9) quelque part, non ?
J'obtiens l'erreur "Les tailles de tableau ne peuvent figurer dans les spécificateurs de type"

Le Array devant n'a pas l'aire de fonctionner.

Tableauemission contient des valeurs décimales.

A titre d'info :

Dim Octet_hexa AsByte() = {CByte(Tableau_emission(0)), CByte(Tableau_emission(1)), CByte(Tableau_emission(2)), _

CByte

(Tableau_emission(3)), CByte(Tableau_emission(4)), CByte(Tableau_emission(5)), CByte(Tableau_emission(6)), CByte(Tableau_emission(7)), _

CByte

(Tableau_emission(8)), CByte(Tableau_emission(9))}Le code précédent fonctionne bien mais je ne souhaite pas remplir mon tableau durant la déclaration.

Cyril
jeudi 8 janvier 2009 à 16:20:22 | Re : Tableau Byte et déclaration

PCPT

Administrateur CodeS-SourceS
salut,
et de toute façon CBYTE n'est pas DOTNET, il faut passer par la classe CONVERT, voire simplement passer par un tableau de CHAR ou de INT32
++

Prenez un instant pour répondre à ce sondage svp 
jeudi 8 janvier 2009 à 16:48:14 | Re : Tableau Byte et déclaration

toosdu87

PCPT
Je suis preneur si tu as une solution DOTNET
Cyril
jeudi 8 janvier 2009 à 17:33:34 | Re : Tableau Byte et déclaration

PCPT

Administrateur CodeS-SourceS
Réponse acceptée !
toosdu87 -> OK mais quel est le but?
un tableau de byte d'une "bonjour" donnerait un tableau de 0 à 6, contenant les codes ascii de chaque lettre

ici tu as un tableau de décimal (nombres à virgules donc) et tu voudrais tout mettre dans un tableau de byte, donc en fait juste un tableau d'entier positifs de 0 à 255 ?

peux-tu expliquer le but stp?

si c'est juste ce que je viens de dire (étrange...), çà donnerait quelque chose dans ce goût là :

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim i As Integer

        ' "Tableauemission contient des valeurs décimales."
        Dim Tableauemission(0 To 9As Double
        For i = 0 To 9
            Tableauemission(i) = i * 2.05
        Next i

        'tableau de byte
        Dim Octet_hexa() As Byte

        'remplissage et cast
        ReDim Octet_hexa(Tableauemission.GetUpperBound(0))
        For i = 0 To 9
            Octet_hexa(i) = Convert.ToByte(Tableauemission(i))
        Next i

        'verif
        For i = 0 To 9
            System.Console.WriteLine(String.Format("{0}. '{1}' devient '{2}'", i, Tableauemission(i), Octet_hexa(i)))
        Next i
    End Sub
Coloration syntaxique vb/vba/vb.net



TRACE :

0. '0' devient '0'
1. '2,05' devient '2'
2. '4,1' devient '4'
3. '6,15' devient '6'
4. '8,2' devient '8'
5. '10,25' devient '10'
6. '12,3' devient '12'
7. '14,35' devient '14'
8. '16,4' devient '16'
9. '18,45' devient '18'




Prenez un instant pour répondre à ce sondage svp 
vendredi 9 janvier 2009 à 08:47:48 | Re : Tableau Byte et déclaration

toosdu87

Réponse acceptée !
Merci PCPT,

pour récap:
je remplie mon tableau de string (qui sont des valeurs HEXA) de la façon suivante:

Tableau_emission(7) = Val(

"&h" + Mid(Parameter_number, 3, 2)) ''''D2

Tableau_emission(8) = Val(

"&h" + Mid(Parameter_number, 1, 2)) ''''D3Je travail uniquement avec des entiers.
Mon tableau permet de créer une trame que je vais envoyer par RS232 a un microcontroleur.
C'est pourquoi il faut que je convertisse en Octet.

En tout cas grâce à toi et aux autres que je remercie, le code marche très bien de cette façon, c'est exactement ce que je voulais. MERCI

Dim Octet_hexa AsByte()

'remplissage et cast

ReDim Octet_hexa(Longueur_Trame + 1)

For i = 0 To Longueur_Trame + 1

Octet_hexa(i) = Convert.ToByte(Tableau_emission(i))

Next i

Me.COM_NITOO.Write((Octet_hexa), 0, Octet_hexa.Length)
***Dernière petite question, est ce que Convert.toByte utilise la classe Convert DOTNET?





Cyril
vendredi 9 janvier 2009 à 10:31:52 | Re : Tableau Byte et déclaration

PCPT

Administrateur CodeS-SourceS
salut,

l'HEXA n'est qu'une représentation d'un LONG, tu as dis que c'était un tableau de decimal et pour finir tu stockes dans un tableau de string en faisant VAL qu'il ne faudrait plus utiliser non plus (vb6)...

pareil pour cette ligne
For i = 0 To Longueur_Trame + 1
tu avais écrit Longueur_Trame = "5" , çà veut dire que tu additionnes des string et des integer, le reste de ton code doit contenir pas mal d'erreurs

Convert.ToByte(... ,=> oui c'est le convert de dotnet

bon courage

Prenez un instant pour répondre à ce sondage svp 


Cette discussion est classée dans : tableau, byte, déclaration, emission, cbyte


Répondre à ce message

Sujets en rapport avec ce message

déclaration de tableau [ par MyLoRdPl ] je voudrais savoir si il est possible de déclarer un tableau du genre ReDim Tab(m, 2) où m = ListFile.ListCount dans une application mais de façon pub .NET : Stocker un tableau de tableau de Byte dans un fichier [ par Scurio ] SalutEst-ce que quelqu'un à une idée pour stocker de façon simple un tableau de tableau de Byte dans un fichier pour pouvoir le récupérer par la suite Transtypage : Byte() ---> String [ par jockos ] Bonjour,Existe t-il une fontion VB toute faite qui permette de TRANSTYPER un tableau dynamique Binaire (Byte()) en une chaine de caractères (String).E déclaration de type tableau de tableaux... [ par mahana ] Est-il possible de créer sous visual basic 6.0 un type de variable taableau contenant lui-même des tableaux..ex: type1 = tableau de 15 élémentset type VB.NET+SQL SERVER+IMAGE [ par crilun ] crilunBonjour,J'ai une petit soucis en VB.NET,je dois a partir d'un champ contenant le chemin d'une photo inserer dans un un autre champ cette photo s probleme avec une déclaration de tableau [ par Cookai ] j'ai déclare mon tableau ds le module malheureusement je me suis rendue compte que en compilant mon programme q le tableau n'étais pas reconnue aussi Passage d'un tableau de byte à une fonction encapsulé dans un ACtiveX Dll [ par novik ] J'aimerai pouvoir passer un tableau de Byte a ma fonction (Activex Dll)lors de l'appel j'ai une erreur Type Mismatch.Or lorsque j'appelle cette foncti déclaration d'un tableau en public [ par aurelia345 ] Je veux déclarer un tableau en public.Je dois donc créer un module.BAS mais je ne sais pas si je dois seulement mettre DIM LANG() AS STRING et/ou la f Déclaration de tableau [ par Aymeric71 ] Bonjour à tous ! Je suis actuellement en train de commencer à developper un excercice donné par un professeur, sur VB.NET en C#, application windows, utilisation d'un tableau bidimensionnel dans une fonction [ par ihsen ] j'ai un problème de déclaration d'une fonction dont le paramètre a utiliser est un tableau a deux dimensions (exemple : function somme ( tab(n,n) as d


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,217 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales