manipulation de chaîne de + de 10 caractères

Pour toutes les questions, remarques, commentaires concernant mes programmes.
Post Reply
p_apanoel1
Posts: 2
Joined: 31 Oct 2006, 13:01

manipulation de chaîne de + de 10 caractères

Post by p_apanoel1 »

Bonjour,

Je cherche à manipuler des chaînes de caractère de grande taille :
- chargement d'un fichier de 10 Ko dans une variable en raison de la gestion des fin de ligne
- éclatement en sous-chaînes pour alimenter un robot de saisie
- boucle de progression dans la chaîne initiale jusqu'à la fin de chaîne.

Je rencontre un problème : dans la version utilisée l'ordre substr se plante dans 2 cas :
1) la position de départ est > 10
2) la longueur extraite est > 10

voici un exemple de code posant le problème (ordre substr({$test10},11,1)})

Code: Select all

ACT
v[1.0.0.8]
n[9]
s[windows]
p[actionaz]
e[2.0.5.0]
r[1024#768]
u[p_apanoel]
l[fr]
i[1000]
t[1]
a[10#test10#1#1234567890abcdef#0]
a[10#l-ssch1#0#{##strlen({$test10})}#0]
a[13#{$l-ssch1}#l-ssc1#0#0#0#null#0#null#9000]
a[10#ssc1#1#{##substr({$test10},0,1)}#0]
a[13#{$ssc1}#ssc1#0#0#0#null#0#null#9000]
a[10#ssc2#1#{##substr({$test10},11,1)}#0]
a[13#{$ssc2}#ssc2#0#0#0#null#0#null#9000]
a[10#concat#1#{$ssc1}&{$ssc2}#0]
a[13#{$concat}#concat#0#0#0#null#0#null#9000]
1) existe-t'il une limite à 10 caractères dans la taille des chaînes ?
2) si oui, existe-t'il une solution de contournement (copier coller,etc.) ?

Merci d'avance,
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Post by Jmgr »

Je vais voir ce que je peux faire, mais à priori je n'ai pas fixé de limite, il doit donc s'agir d'un bug.
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Post by Jmgr »

Bon en fait ce n'est pas un bug : tu as fait une erreur dans ton script.
En effet la fonction substr contient 3 paramètres, le premier : la chaîne à analyser, le second : le caractère de début où couper et le troisième le caractère de fin de la coupure.

Donc le deuxième paramètre doit être inférieur au troisième, ce qui n'était pas le cas.

Voici le script corrigé :

Code: Select all

ACT
v[1.0.0.9]
n[9]
s[windows]
p[actionaz]
e[2.0.6.0]
r[1280#1024]
u[Jmgr]
l[fr]
i[1000]
t[1]
a[10#test10#1#1234567890abcdef#0]
a[10#l-ssch1#0#{##strlen({$test10})}#0]
a[13#{$l-ssch1}#l-ssc1#0#0#0#null#0#null#9000]
a[10#ssc1#1#{##substr({$test10},0,1)}#0]
a[13#{$ssc1}#ssc1#0#0#0#null#0#null#9000]
a[10#ssc2#1#{##substr({$test10},11,13)}#0]
a[13#{$ssc2}#ssc2#0#0#0#null#0#null#9000]
a[10#concat#1#{$ssc1}&{$ssc2}#0]
a[13#{$concat}#concat#0#0#0#null#0#null#9000]
Cela dit merci car tu m'as permis de trouver quelques bugs :p
Post Reply