Substring?

Salutations,
Dans une procédure d’un champ avec cette expression D.2002/0089/179
je voulait récupérer le 11è caractère par la formule :
$Adh:=[Bibliothèque]Depot Legal
$Adh:=Substring($Adh;11;1)

je n’obtiens pas ce qui est indiqué dans la Doc :
http://doc.4d.com/4Dv17R2/4D/17-R2.1720/Substring.301-3857502.fe.html
vRésultat:=Substring(“Important”;1;6) qui donne “Import“

j’obtiens : D.2002/0089/179
au lieu de 9
J’ai essayé avec
$Adh:=Substring(Chaine($Adh);11;1)
c’est pire.

Une explication ?
Cordialement,
BG

<code 4D>
C_TEXT($vt_text)
$vt_text:=“D.2002/0089/179” // le 11eme caractères est “9”
ASSERT(Substring($vt_text;11;1)=“9”)
</code 4D>

<code 4D>
$Adh:=Substring(Chaine($Adh);11;1)
</code 4D>
Au vu de cette ligne, je suis incapable de dire si ton 4d est réglé sur le langage français ou anglais.
Substring // Sous chaine
String // Chaine
Forcément une de ces deux commandes qui n’est pas reconnue dans l’éditeur.

Merci pour vos réponses. :slight_smile:
Normalement 4D est bien réglé pour le français.
J’ai essayé :
$Adh:=Substring(Sous chaîne($Adh;11;1)

Ça marche, maintenant je saurai que String c’est avec Chaine et Substring avec sous chaine.
J’ai évité d’avoir 2 lignes avec Supprimer Chaine.

Merci beaucoup.
Cordialement,
Brice Graignic

Essaie ça :

<code 4D>
C_TEXT($T_String;$T_11eChar)
$T_String:=“D.2002/0089/179”
If (Length($T_String)>=11)
$T_11eChar:=$T_String[11]
End if
</code 4D>