*current_element = DeleteElement()

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

*current_element = DeleteElement()

Message par graph100 »

Actuellement la fonction DeleteElement() n'a pas de valeur de retour.
Or ce n'est absolument pas logique dans la mesure ou chacune des autres fonctions de liste retournent l'adresse du nouvel élément courant.

Je cite l'aide :
Aide PureBasic 5.20LTS a écrit :DeleteElement()

Syntaxe

DeleteElement(Liste() [, Options])
Description

Supprime l'élément courant de la liste.
Arguments

Liste() Le nom la liste créée à l'aide de la commande NewList.
Les parenthèses sont obligatoires après le nom de la liste.
Options (optionnel) Si ce paramètre est égal à 1, le nouvel élément courant sera le suivant.
Cette option veille à ce que il y aie toujours un élément en cours de validité après une suppression aussi longtemps que il y a encore des éléments de la liste.

Valeur de retour

Cette fonction n'a pas de valeur de retour.
Bref, ça serait pratique, et logique.
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: *current_element = DeleteElement()

Message par Backup »

faudrait meme que la valeur de retour soit egale a l'element en cours (celui qui remplace l'element disparu )
ou =0 si plus d'elements :)
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: *current_element = DeleteElement()

Message par graph100 »

effectivement, j'ai oublié de le mentionner, mais c’était là ou je voulais en venir
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: *current_element = DeleteElement()

Message par Ar-S »

Dobro a écrit :ou =0 si plus d'elements :)
Oui !
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: *current_element = DeleteElement()

Message par G-Rom »

Je ne comprend pas trop pourquoi , tu voudrais quel élément , le suivant , le précédent ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: *current_element = DeleteElement()

Message par Backup »

G-Rom a écrit :Je ne comprend pas trop pourquoi , tu voudrais quel élément , le suivant , le précédent ?
justement , tu vois toi meme qu'a l'heure actuel , tu ne peux pas etre sur de ça ;)

avoir l'indice de l'element sur lequel le pointeur se retrouve apres un effacement serai un plus !

aaaaaaaaaa
bbbbbbbbbb
ccccccccccc
dddddddddd

on efface bbbbbbbbbb (qui etait pointé )

reste

aaaaaaaaaa
ccccccccccc
dddddddddd

mais l'element pointé c'est quoi ? aaaaaaaa ou ccccccccc ?

bon la doc dit que c'est le suivant .....
mais si on pouvais recuperer l'indice dans la foulée , ce serai pratique
et eviterai l'utilisation de la fonction
Index = ListIndex(Liste())

:)
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: *current_element = DeleteElement()

Message par Ar-S »

C'est vrai qu'avec un 1 en [option], on ne risque pas de se retrouver avec un element qui n'existe pas. (-1)
DeleteElement(list(), 1)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: *current_element = DeleteElement()

Message par graph100 »

le problème ne vient pas de la fonction. Elle fait ce que la doc dit.

Mais cette fonction serait bien mieux utilisée si comme toutes les autres de sa catégorie elle renvoyait le pointeur sur l'élément courant après l'opération de suppression.

à savoir :
@élément précédant par défaut,
@élément suivant si l'option 1 est utilisée
0 si il n'y a plus d'élément courant
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: *current_element = DeleteElement()

Message par Fig »

je plussoine (+1) :!:
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Répondre