Votre aide sur un code...

Le
Paul
Bonjour,

Je dispose d'une table mémoire qui liste des codes et des désignation.

J'ai fait un timer qui actualise ma table. Voici mon code :

i est un entier
Pour i=1 a TableOccurrence(Table)

si Table.Code[i]="UneValeurQuelconque" alors
tablesupprime(Table,i)
fin

FIN

Le code marche très bien mais arrivé un moment, la ligne étant supprimée, le
parcours ne marche plus convenablement.C'est un peu comme si on scie la
branche sur laquelle on est assis

Une aide ? une astuce ?

merci.

Paul
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel HERRSCHER
Le #14640411
Bonjour Paul ,

Le Tuesday, May 22, 2007 5:43 PM , vous écriviez:

Bonjour,

Je dispose d'une table mémoire qui liste des codes et des désignation.

J'ai fait un timer qui actualise ma table. Voici mon code :

i est un entier
Pour i=1 a TableOccurrence(Table)

si Table.Code[i]="UneValeurQuelconque" alors
tablesupprime(Table,i)
fin

FIN

Le code marche très bien mais arrivé un moment, la ligne étant supprimée,
le parcours ne marche plus convenablement.C'est un peu comme si on scie la
branche sur laquelle on est assis...

Une aide ? une astuce ?

merci.

Paul



2 points :

1) En cas de suppression ton i saute 2 crans (1 parceque tu as supprime et
un par le POUR

2) Es tu sur que tableoccurence s'actualise après ta suppression? car sinon
tu risque bien de sortir de la table ...

je fais plutot :

i , J sont des entier
J = tableTableOccurrence(Table)
i=1
Tant que i <=J

si Table.Code[i]="UneValeurQuelconque" alors
tablesupprime(Table,i)
j--
sinon
i++
FIN

A+
Michel HERRSCHER CONSULTANT
Tel : +33450870912
http://www.mhc.herrscher.fr
Président de WINDASSO - Association des utilisateurs WxxDEV(c)
http://www.windasso.org
Gregg
Le #14640281
Bonjour,

En fait ce qu'il se passe c'est qu'un moment donné tu vas passer des lignes.

Exemple:

Table

1 "UneValeur"

2 "UneValeur"

3 "UneValeurQuelconque"

4 "UneValeurQuelconque"

5 "UneValeur"

6 "UneValeur"

Phase

------

I = 1 et valeur recherchée différente --> rien

I = 2 et valeur recherchée différente --> rien

I = 3 et valeur recherchée trouvé --> suppression de ta ligne

Ta table ressemble à ceci :

Table

1 "UneValeur"

2 "UneValeur"

3 "UneValeurQuelconque"

4 "UneValeur"

5 "UneValeur"

I = 4 et valeur recherchée différente --> rien

I = 5 et valeur recherchée différente --> rien



CONCLUSION : Tu a passer une ligne. !!!



Je pense que c'est ça ton problème.

@bientôt

"Paul" 46530fa2$0$24282$
Bonjour,

Je dispose d'une table mémoire qui liste des codes et des désignation.

J'ai fait un timer qui actualise ma table. Voici mon code :

i est un entier
Pour i=1 a TableOccurrence(Table)

si Table.Code[i]="UneValeurQuelconque" alors
tablesupprime(Table,i)
fin

FIN

Le code marche très bien mais arrivé un moment, la ligne étant supprimée,
le parcours ne marche plus convenablement.C'est un peu comme si on scie la
branche sur laquelle on est assis...

Une aide ? une astuce ?

merci.

Paul



alain
Le #14637971
hello

le plus simple c'est de faire une boucle dans l'autre sens

for i = tableoccurence(table) to 1 step -1

cqfd

"Gregg"
Bonjour,

En fait ce qu'il se passe c'est qu'un moment donné tu vas passer des
lignes.

Exemple:

Table

1 "UneValeur"

2 "UneValeur"

3 "UneValeurQuelconque"

4 "UneValeurQuelconque"

5 "UneValeur"

6 "UneValeur"

Phase

------

I = 1 et valeur recherchée différente --> rien

I = 2 et valeur recherchée différente --> rien

I = 3 et valeur recherchée trouvé --> suppression de ta ligne

Ta table ressemble à ceci :

Table

1 "UneValeur"

2 "UneValeur"

3 "UneValeurQuelconque"

4 "UneValeur"

5 "UneValeur"

I = 4 et valeur recherchée différente --> rien

I = 5 et valeur recherchée différente --> rien



CONCLUSION : Tu a passer une ligne. !!!



Je pense que c'est ça ton problème.

@bientôt

"Paul" 46530fa2$0$24282$
Bonjour,

Je dispose d'une table mémoire qui liste des codes et des désignation.

J'ai fait un timer qui actualise ma table. Voici mon code :

i est un entier
Pour i=1 a TableOccurrence(Table)

si Table.Code[i]="UneValeurQuelconque" alors
tablesupprime(Table,i)
fin

FIN

Le code marche très bien mais arrivé un moment, la ligne étant supprimée,
le parcours ne marche plus convenablement.C'est un peu comme si on scie
la branche sur laquelle on est assis...

Une aide ? une astuce ?

merci.

Paul







farid.koumimi
Le #14637841
On 22 mai, 17:43, "Paul"
Bonjour,

Je dispose d'une table mémoire qui liste des codes et des désignation.

J'ai fait un timer qui actualise ma table. Voici mon code :

i est un entier
Pour i=1 a TableOccurrence(Table)

si Table.Code[i]="UneValeurQuelconque" alors
tablesupprime(Table,i)
fin

FIN

Le code marche très bien mais arrivé un moment, la ligne étant supp rimée, le
parcours ne marche plus convenablement.C'est un peu comme si on scie la
branche sur laquelle on est assis...

Une aide ? une astuce ?

merci.

Paul





Salut Paul,
Essais ça plutot

i est un entier
nNbEnregistrement est un entier = tableoccurence(Table)

Pour i=1 a nNBEnregistrement
si Table.Code[i]="UneValeurQuelconque" alors
tablesupprime(Table,i)
//Lorsque tu supprime une ligne, ton compteur n'est plus juste, il
faut le décrémenter
i = i-1
fin

Ca devrais marcher
++

FIN
alain
Le #14637601
bonjour tout le monde

pourquoi se compliquer la vie

voir mon msg ci dessus

faire une boucle inverse et ca marchera tout seul et dans tous les cas de
figure

alain


On 22 mai, 17:43, "Paul"
Bonjour,

Je dispose d'une table mémoire qui liste des codes et des désignation.

J'ai fait un timer qui actualise ma table. Voici mon code :

i est un entier
Pour i=1 a TableOccurrence(Table)

si Table.Code[i]="UneValeurQuelconque" alors
tablesupprime(Table,i)
fin

FIN

Le code marche très bien mais arrivé un moment, la ligne étant supprimée,
le
parcours ne marche plus convenablement.C'est un peu comme si on scie la
branche sur laquelle on est assis...

Une aide ? une astuce ?

merci.

Paul





Salut Paul,
Essais ça plutot

i est un entier
nNbEnregistrement est un entier = tableoccurence(Table)

Pour i=1 a nNBEnregistrement
si Table.Code[i]="UneValeurQuelconque" alors
tablesupprime(Table,i)
//Lorsque tu supprime une ligne, ton compteur n'est plus juste, il
faut le décrémenter
i = i-1
fin

Ca devrais marcher
++

FIN
Publicité
Poster une réponse
Anonyme