j'ai peut être été un peu rapide mes explications ... On peut accéder au contenu des variables alpha du HP71B comme dans un tableau :
A$ = B$[3,5] affectera à A$ 3 caractères : du 3ème au 5ème de B$ - comme un MID$(B$,3,3) sur une Sharp par exemple.
Le gros avantage HP est que ça marche dans l'autre sens - Dans mon code je l'ai utilisé pour affecter un caractère (A$[I,I]= "x") . Facile.
Pour plusieurs caractères ça mérite de s'y pencher un peu plus ...
extrait du manuel P74, traduit à la volée :
Ca mérite un essai pour bien comprendre ... sortons la bête et essayons :V$[I,J] = "teacup" étend ou contracte la partie de V$ à partir de la position I jusqu'à la position J de manière à ce que le mot "teacup" entre exactement - tout caractère existant auparavant entre I et J sont écrasés, y compris les positions I et J
Code : Tout sélectionner
A$="SILICIUM C'EST SUPER"
LEN(A$) renvoit 20
A$[5,8] = "GLOUPS"
A$ renvoie "SILIGLOUPS C'EST SUPER" donc on élimine les 4 caractères entre du 5éme au 8éme et on les remplace par les 6 caractères de "GLOUPS"
A$[5,10] = "CIUM"
A$ contient "SILICIUM C'EST SUPER" on élimine les 6 caractères (entre 5 et 10) et on les remplace par 4 "CIUM"
Avec cet éclaircissement, C.ret, il faut je pense revoir ta ligne 30 (pas le temps d'aller plus loin aujourd'hui ...)
Autre précision, l'instruction N$=STR$(VAL(N$)) sert aussi à éliminer d'éventuels zéros en début de ligne, changer par exemple, 0001485 en 1485 - sinon les zéros sont considérés, on est en mode alpha ...
A suivre
Baba