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

VC++ .NET Discussion :

[C++.NET] erreur "aucune ligne"


Sujet :

VC++ .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    122
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par défaut [C++.NET] erreur "aucune ligne"
    Bonjour à tous,
    Alors j'ai une erreur lors de l'execution d'une partie de mon code:
    il me dit qu'il n'y a pas de ligne a la position 2 par exemple.
    Alors que mon tableau (datagrid) comporte bien 3 lignes:
    10 | 10
    20 | 200
    (null) | (null)

    Pourtant j'ai bien quelque chose à la ligne 2 (qui est null normalement).

    Et lorsque je compte les lignes de mon tableau avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int nblignes=fen_carac->Table_asp1->Rows->Count;
    et que je laffiche il mindique qu'il y a 2 lignes.

    Quand il n'y a rien dans mon tableau a part:
    (null) | (null)
    il m'affiche bien 0 lignes.

    J'ai donc essaye de faire ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int nblignes=fen_carac->Table_asp1->Rows->Count;
    nblignes = nblignes-1;
    Et la pas d'erreur mais le programme plante ou boucle a linfini (je sais pas).

    Je pense que l'erreur vient de ces lignes la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for (a=0;a<nblignes;a++)

    Voici mon code:
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    /////variables pour boucles/////
        int x=0;
        int y=0;
        int i=1;
        int a=0;
        int j=0;
        int k=0;
        ////////////////////////////
        int nbr_comp=0;
        int max=0;
        int min=0;
        int testabs=0;
        int testangle=0;
        int valeur_trouvee=0;
        int nblignes=fen_carac->Table_asp1->Rows->Count;
        float distance=0;
        float precip=0;
        float precipT=0;
        const double PI=3.141592;
     
       for(y=1;y<=(fen_dim->piste_long);y++)
       {
        for(x=1;x<=(fen_dim->piste_larg);x++)
        {
         //Test angle
         testabs = abs((y-(fen_position->pos_long_asp1))/(x-(fen_position->pos_larg_asp1)));
         testangle = abs(Math::Tan((((fen_position->angle1)/2)*PI)/180));
         while(testabs<testangle)
         {
           distance = Math::Sqrt(Math::Pow((x-(fen_position->pos_larg_asp1)),2.0)+(Math::Pow((y-(fen_position->pos_long_asp1)),2.0)));
           distance = Math::Round(distance,1);
           distance = distance*10;
           //min & max de la colonne distance
            for (a=0;a<nblignes;a++)//Pour chaque ligne
            {
             //Selection de la ligne
             DataRow* myRow1 = fen_carac->Table_asp1->get_Rows()->get_Item(k);
             //selection de la colonne 
             String* valeur_distance = myRow1->get_Item(0)->ToString();
             //Conversion de valeur_cellule en int pour traitement math
             nbr_comp = Convert::ToInt32(valeur_distance);
             k++;
             if (nbr_comp<min)
             {
              min=nbr_comp;
             }
             if(nbr_comp>max)
             {
              max=nbr_comp;
             }
            }
            //recup valeur precipitation
            while(distance!=valeur_trouvee)
            {
             for (a=0;a<nblignes;a++)//Pour chaque ligne
             {
              //Selection de la ligne
              DataRow* myRow2 = fen_carac->Table_asp1->get_Rows()->get_Item(j);
              //selection de la colonne 
              String* valeur_distance2 = myRow2->get_Item(0)->ToString();
              //Conversion de valeur_temp en int pour traitement math
              valeur_trouvee = Convert::ToInt32(valeur_distance2);
              j++; 
             }
            }
            j--;
            DataRow* myRow3 = fen_carac->Table_asp1->get_Rows()->get_Item(j);
            //selection de la colonne 
            String* precip_temp = myRow3->get_Item(1)->ToString();
            //Conversion de valeur_cellule en int pour traitement math
            precip = Convert::ToSingle(precip_temp);
            //Addition de precip pour chaque asperseurs
            precipT = precipT + precip;
            i++;
         }
        MessageBox::Show(Convert::ToString(precipT));
        }
       }
       }
    Merci @+++

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut
    Il va falloir que tu nous explique ce que tu comprend par null, car null en Csharp/C/C++ ou bien EN VB : Nothing ben ça veut dire "rien" donc si tu dis que a la ligne 3 de ton tableau il y a : "rien" ben c'est que il n'y a pas de ligne.
    Met donc une valeur valide plutot que de mettre null.

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    122
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par défaut
    Bah en fait c'est pas moi qui met "null" il s'y met automatiquement a cause de l'incrementation automatique des lignes. C'est a dire que lorsque jentre une valeur dans ma 1ere ligne, automatiquement une 2eme ligne se cree et ainsi de suite.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut
    Citation Envoyé par raboin
    Bah en fait c'est pas moi qui met "null" il s'y met automatiquement a cause de l'incrementation automatique des lignes. C'est a dire que lorsque jentre une valeur dans ma 1ere ligne, automatiquement une 2eme ligne se cree et ainsi de suite.
    oui .... c'est juste "visuel" ... elle n'existe pas concretement.

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    122
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par défaut
    Oki d'accord ca ne cree pas de nouvelle ligne dans ma datatable.
    Mais pourquoi il y a cette erreur alors?

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut
    Quelle erreur ? celle la : ?
    il me dit qu'il n'y a pas de ligne a la position 2 par exemple.
    Alors que mon tableau (datagrid) comporte bien 3 lignes:
    10 | 10
    20 | 200
    (null) | (null)

    Pourtant j'ai bien quelque chose à la ligne 2 (qui est null normalement).
    Bien tout simplement car il a raison il n'y a rien a la ligne 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ligne 0 :  10 | 10
    ligne 1 :  20 | 200

Discussions similaires

  1. [Erreur] Aucune ligne à la position 0.
    Par a_ferre dans le forum Windows Forms
    Réponses: 7
    Dernier message: 03/02/2014, 18h56

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