Savoir si une liste existe
Posté le 10/02/2012 17:10
Tout le monde s'est déjà posé cette question :
"Comment faire pour savoir si une liste existe ?"
Ce serait très utile de le savoir pour pouvoir continuer une partie enregistrée sans avoir l'habituelle "erreur" quand la liste n'existe pas.
Et à la place avoir un message indiquant qu'il n'y a pas de partie en cours.
Oui mais voila, Casio n'a pas créé cette fonction...
Et bien je suis heureux de vous annoncez que j'ai réussi à trouver une astuce qui permet de savoir si une liste existe !
Voici comment :
1) faites ''BTL''->List 1[0]
attention, il faut mettre BTL entre guillemets
2) Dim List 1
Ici je fais la manip' avec la list 1 mais vous pouvez le faire avec toutes les listes !
Et voila vous savez maintenant s'il existe une liste ou non. Mais en plus vous connaissez le nombre de cases que possède cette liste et ensuite vous pouvez vérifier quelles sont les valeurs de cette liste car vous connaissez sa longueur.
Attention, si une autre liste s'appelle ''BTL'' il va y avoir une erreur donc je vous conseille de nettoyer les noms des listes avant de faire la manip !
Voila j'espère que cette astuce vous sera utile.
J'attends des réactions, n'hésitez pas à donner votre avis
BTL
Citer : Posté le 22/04/2012 14:50 | #
Très utile
Merci BTL !
Programmeur Basic sur Casio 75+
Citer : Posté le 14/07/2012 01:33 | #
Je m'y prend autrement :
If DimList1!=nombre de cases voulues
Then {valeur,valeur,valeur...}->List1
Ifend
Ce qui permet de voir si une partie a dèja été crée, sinon ça crée la liste automatiquement.
Rentré en 1ère S, je peux plus venir souvent...
Citer : Posté le 14/07/2012 21:24 | #
Mais si ta liste n'existe pas, il y aura forcément une erreur. Tandis que celle de Btl permet de la contourner.
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 14/07/2012 22:49 | #
Silver disait juste qu'on peut faire "text"->List 1 au lieu de "text"->List 1[0]
Citer : Posté le 14/07/2012 23:29 | #
D'accord, je n'avais pas compris son code dans ce sens. Au temps pour moi !
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 15/07/2012 00:09 | #
Non dsl, ce n'étais pas ce que je voulais dire :
En fait je me suis trompé, je voulais bien mettre "text"->List1[0],
mais non Totoyo, ça ne bug pas si la List n'existe pas, car en entrant un nom tu la crée, ou tu rajoute quelque chose si elle est dèja crée, et sinon cela la crée, essayez !
Par exemple, pour un jeu qui utilise jusqu'à la List1[10], on peut deviner que la sauvegarde y est toujours si la liste prend 10 cases. Si elle a été modifiée, ou si elle n'a jamais été crée, ça en crée une et cela te redirige vers une nouvelle partie, c'est ce que j'utilise dans mon rpg.
Rentré en 1ère S, je peux plus venir souvent...
Citer : Posté le 15/07/2012 02:59 | #
en passant, on peut aussi tester la première case de la liste quand crée une liste de cette manière car l'ors de la création d'une liste, si elle était précédemment totalement vide, la première case seras remplie par un 0:
If List 1[1]=0
Then {...}->List 1
IfEnd
vous vous dites que ce que je met la ne sert a rien? c'est pourtant utile si dans votre programme votre liste change de taille souvent et prend parfois une seule case, car après création, une liste fait aussi une case!
Mais cette astuce que je donne n'est évidement pas utile si la première case peut être égale a 0.
Si une liste dans un programme peut faire une seule case et peut valoir 0, aucune des astuces permet de la tester vraiment, mais après tout dépend de ce que vous voulez programmer (moi, sa me sert quand je fais des utilitaires pour mes cours...).
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 15/07/2012 12:51 | #
C'est pour cela qu'avec mon astuce, tu vois si la liste fait exactement la taille voulue, donc logiquement si elle a été crée precedement.
Rentré en 1ère S, je peux plus venir souvent...
Citer : Posté le 16/07/2012 22:01 | #
... oui mais je viens de dire que sa ne marche pas si la liste que l'on veut avoir fait une seule case.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 16/07/2012 23:31 | #
C'est vrai dsl je n'avais pas compris.
Mais tu peux quand meme voir si la valeur n'est de la List1[1] n'est pas égale a 0. (si dans ne prog elle ne peux pas être égale a 0)
Rentré en 1ère S, je peux plus venir souvent...
Citer : Posté le 17/07/2012 01:08 | #
c'est pourquoi j'ai précisé "uniquement si la case 1 ne peut pas avoir 0 pour valeur".
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 17/07/2012 01:24 | #
A oui pardon... Bon ok je sors...
Rentré en 1ère S, je peux plus venir souvent...
Citer : Posté le 27/07/2012 15:24 | #
Mais après on s'en fout si l'initialisation de la liste c'est {0}->List (insérez le chiffre de votre choix ici, je ne veux pas vous forcer la main )
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 29/07/2012 23:41 | #
{0->List si tu veux faire plus court
Citer : Posté le 31/07/2012 19:05 | #
dsl eiyo, mais j'ai pas l'habitude de couper des bouts de code
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 31/07/2012 23:01 | #
en fait le principe du tuto c'est que les gens comprennent ce qu'ils font.
Donc vous pouvez dans vos programmes simplifier l'astuce autant que vous voulez, mais ici on écrit clairement ce qu'on fait.
Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games
Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Citer : Posté le 11/11/2019 18:21 | #
Et pour effacer le nom de la liste ?
Citer : Posté le 11/11/2019 18:37 | #
-Planétarium 2
Citer : Posté le 11/11/2019 18:50 | #
Sans espace c'est ça ?
Citer : Posté le 11/11/2019 18:50 | #
Ça ne marche pas sous la forme ""→List "A"[0] (Error: Already Exists), et c'est inutile si tu connais le numéro de la liste.