Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Votre aide sur un code...

5 réponses
Avatar
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

5 réponses

Avatar
Michel HERRSCHER
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
Avatar
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" a écrit dans le message de news:
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



Avatar
alain
hello

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

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

cqfd

"Gregg" a écrit dans le message de news:

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" a écrit dans le message de news:
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







Avatar
farid.koumimi
On 22 mai, 17:43, "Paul" wrote:
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
Avatar
alain
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

a écrit dans le message de news:

On 22 mai, 17:43, "Paul" wrote:
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