Tu peux sauvegarder le pseudo dans une chaîne de caractères, l'avantage c'est que c'est plus rapide. Sinon il y a effectivement la solution de la liste, qu'on peut nommer, mais c'est plus long à traiter.
Pour convertir ta chaîne Str1 en liste L1, tu peux faire ça :
"ABCDEFGHIJKLMNOPQRSTUVWXYZ->Str2
length(Str1->dim(L1
For(A,1,Ans
inString(Str2,sub(Str1,A,1->L1(A
End
Et pour convertir la liste L1 en chaîne Str1 :
"ABCDEFGHIJKLMNOPQRSTUVWXYZ->Str2
" ->Str1
For(A,1,dim(L1
Ans+sub(Str2,L1(A),1
End
sub(Ans,2,dim(L1->Str1
Voilà, c'est une méthode rapide, mais ça prend de la place quand Str1 est grand. Dis-moi si ça te convient, et si tu ne comprends pas qqchose.
Pour les sous-programmes, tout dépend de comment ils sont utilisés. L'appel d'un programme prend un temps, donc il faut l'utiliser quand c'est nécessaire. Ensuite, et c'est valable pour les Goto, il faut toujours fermer les boucles ouvertes, surtout si l'opération est répétée. Donc enfait, il vaut mieux ne pas faire ça :
PROGRAM:A
While 1
{code 1}
prgmB
End
PROGRAM:B
{code 2}
prgmA
Ici, le End du While 1 n'est jamais atteint, alors que des boucles While 1 sont ouvertes : l'exécution des programmes ralentit.
Pour le GarbageCollect, je ne crois pas que ce soit utile. En plus si tu le fais dans un programme, ça peut prendre du temps.