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 :

[VB.net] tableau à 2 dimensions


Sujet :

Windows Forms

  1. #1
    Membre confirmé Avatar de grand_prophete
    Inscrit en
    Avril 2005
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 85
    Par défaut [VB.net] tableau à 2 dimensions
    Bonjour

    J'ai un tableau à 2 dimensions et je voudrais affecter les éléments de la première ligne à un autre tableau à 1 dimension et ceux de la deuxième ligne à un autre tableau encore à 1 dimension.

    Merci

  2. #2
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    dans ce cas, moi je créerais un tableau de tableaux....

    c-à-d un tableau qui contient tes tableaux à 1 dimension... après tu n'as qu'à parcourir et ajouter les elements....

  3. #3
    Membre confirmé Avatar de grand_prophete
    Inscrit en
    Avril 2005
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 85
    Par défaut
    Salut

    En fait je n'ai aucun contrôle sur le premier tableau à 2 dimensions. Ce n'est pas moi qui le crée et le gère. Faut que je me débrouille avec ça pour récupérer les valeurs de chacune des lignes.

  4. #4
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    t'as pas besoin d'avoir un controle sur le tableau à 2 dimensions.. tu dois juste pouvoir le lire...

  5. #5
    Membre confirmé Avatar de grand_prophete
    Inscrit en
    Avril 2005
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 85
    Par défaut
    Oui enfin je parle pas de le modifier ou quoi que ce soit. Je veux juste récupérer ses éléments pour les affecter 2 nouveaux tableaux à 1 dimension chacun. Et je ne sais pas comment faire ça

  6. #6
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    il vient d'ou ton tableau?

    c'est quel type?

    un bout de code??

    si tu arrives à lire ton tableau, tu peux le manipuler comme tu veux après..

  7. #7
    Membre confirmé Avatar de grand_prophete
    Inscrit en
    Avril 2005
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 85
    Par défaut
    on déclare (c'est waveforms le tableau)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim recordLength As Integer = CInt(1000)
        Dim Waveforms() As Double
    Ici on lui affecte ses valeurs. ce sont les echantillons de 2 signaux,"0,1"(voie 0 et voie 1). 1000 echantillons pour chaque signaux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my_niScope.Read("0,1", 1, 1000, Waveforms, Waveform_Info) 'read from Digitizer
    J'ai une doc mais je pige pas entièrement.
    Returns an array whose length is the numSamples times number of waveforms. Call niScope_ActualNumWfms to determine the number of waveforms.
    NI-SCOPE returns this data sequentially, so all record 0 waveforms are first. For example, with a channel list of 0,1, you would have the following index values:

    index 0 = record 0, channel 0

    index x = record 0, channel 1

    index 2x = record 1, channel 0

    index 3x = record 1, channel 1

    Where x = the record length (qui vaut 1000 ici)

  8. #8
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    le methode read retourne un tableau à 2 dymensions si je comprends bien...
    mais ils sont de quel type???

  9. #9
    Membre confirmé Avatar de grand_prophete
    Inscrit en
    Avril 2005
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 85
    Par défaut
    C'est bien ça, de type double

    J'ai oublié un petit detail, avant la methode read
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     ReDim waveforms(recordLength)
    Ce dont j'ai besoin c'est ça en fait
    index 0 = record 0, channel 0
    index x = record 0, channel 1
    Ensuite j'affiche les echantillons de chaque signal sur 2 oscillos virtuels
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     U1.PlotY(waveforms) 'ça c'est pour une lecture sur une voie seulement

  10. #10
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    tu dois lire les 2 premier element du tableau retourné par la méthode reand?=

    j'ai vraiment du mal à comprendre...

  11. #11
    Membre confirmé Avatar de grand_prophete
    Inscrit en
    Avril 2005
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 85
    Par défaut
    En fait quand j'utilise la methode read, il va lire le signal qui arrive sur la carte et l'echantillonner (j'ai 2 prises bnc pour brancher une tension). Pour une lecture je précise que je veux 1000 échantillons de ce signal, puis il enregistre dans le tableau (waveforms) les 1000 echantillons. Seulement si je lis 2 signaux en même temps il va transformer waveforms en un tableau à 2 dimensions. Sur la première ligne j'aurai les 1000 echantillons du signal de la voie 0 (index 0 donc) et sur la seconde ligne j'aurai les 1000 echantillons du signal de la voie 2 (index 1).
    Enfin si moi aussi j'ai tout compris c'est comme ça que ça se passe

  12. #12
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    t'as qu'à faire un truc comme ça alors...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim recordLength As Integer = CInt(1000)
        Dim Waveform1() As Double
    Dim WareForm2() as Double
    dim temp() as Double
    ReDim waveform1(recordLength)
    Redim waveform2(recordlength)
    temp = my_niScope.Read("0,1", 1, 1000, Waveforms, Waveform_Info) 'read from Digitizer
     
    dim i as integer
    for i=0 to recordlength-1
     waveform1(i)=temp(0,i)
     waveform2(i)=temp(1,i)
    next i
    comme ça tu as deux tableaux de 1 dimension..

    adapte la synthaxe car je ne suis vraiment pas sûr... ça fait longtemps que je n'ai plus fait de VB.

  13. #13
    Membre confirmé Avatar de grand_prophete
    Inscrit en
    Avril 2005
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 85
    Par défaut
    En fait c'est plutot ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim recordLength As Integer = CInt(1000)
    Dim Waveforms() As Double
     
    ReDim waveforms(recordLength)
    my_niScope.Read("0,1", 1, 1000, Waveforms, Waveform_Info) 'read from Digitizer
    Puisque la methode read (qu'on utilise 1 seule fois) enregistre les echantillons des 2 signaux dans un seul et même tableau qui est waveforms.

    Je vais essayer de m'inspirer de ton idée pour mon problème. Je suis également en train de trouver des piste.

    Merci du coup de main.

  14. #14
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    ah excuse j'avais pa bien vu le prototype de la méthode read....


    alros ce que tu dois faire c'est plutot ça


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim temp1() As Double
    Dim temp2() as Double
    redim temp1(recordlength)
    redim temp2(recordlength)
     
    for i=0 to recordlength-1
     temp1(i)=waveforms(0,i)
     temp2(i)=waveforms(1,i)
    next i

  15. #15
    Membre confirmé Avatar de grand_prophete
    Inscrit en
    Avril 2005
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 85
    Par défaut
    Wahoo !!
    ça y est je viens de le faire marcher. Mais la doc qu'ils fournissent je crois qu'ils peuvent se la garer ou j'pense. Leur soit disant tableau à plusieurs dimensions comme on pourrait le comprendre avec leur histoire d'index, n'a en fait qu'une dimension, saut que la premiere moitée des valeurs sont les echantillons du premier signal et la seconde moitiée celles du deuxieme signal. Il a donc fallu adapter le nombre d'échantillons à acquérir
    (qu'est ce qu'on se sent c... dans ces cas la... )

    Merci quand même du mal que tu t'es donné

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

Discussions similaires

  1. [.net] tableau à 2 dimensions
    Par noinneh dans le forum C++/CLI
    Réponses: 13
    Dernier message: 21/02/2006, 17h12
  2. [tableau à 2 dimensions] association String et float
    Par LoLoSS dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 12/07/2004, 10h53
  3. Tableau à n dimensions
    Par youb dans le forum MFC
    Réponses: 10
    Dernier message: 13/05/2004, 14h13
  4. Passage d'un tableau à deux dimensions
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 20/10/2003, 14h50
  5. Réponses: 23
    Dernier message: 21/08/2003, 07h16

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