Nspirecas wrote:Non non ton code prend 175 caractères sans les espaces et celui-ci :
Pas avec le code que tu avais posté plus tôt, c'est tout.
Nspirecas wrote:Non non ton code prend 175 caractères sans les espaces et celui-ci :
Try
If string(expr(g&"("&i&")"))≠g&"("&i&")" Then
Disp g&" nécessite au moins "&string(a)&" argument"&when(a>1,"s","")
Else
Disp g&" n'existe pas dans ce classeur"
EndIf
Else
Disp g&" n'existe pas dans ce classeur"
EndTry
Bisam wrote:Si la chaîne de caractères ne correspond pas au nom d'une fonction ou d'un programme, on affichera un message d'erreur compréhensible.
Define getnargs(s)=
Prgm
Local i
0→i
s&"("→s
While true
Try
expr(s&")")
Stop
Else
If errCode≠930
Exit
s&when(inString(s,"(_")>0,",_","_")→s
i+1→i
EndTry
EndWhile
Disp i
EndPrgm
Define getnargs(s)=
Prgm
""→i
0→a
930→b
While b=930
0→b
Try
expr(s&"("&i&")")
Else
errCode→b
a+1→a
EndTry
i&when(a=1,"_",",_")→i
EndWhile
Disp a
EndPrgm
Levak wrote:Histoire d'honorer ma lignée (sans prélude, 129 caractères dont 4 espaces mandatory) :
- Code: Select all
Define getnargs(s)=
Prgm
Local i
0→i
s&"("→s
While true
Try
expr(s&")")
Stop
Else
If errCode≠930
Exit
s&when(inString(s,"(_")>0,",_","_")→s
i+1→i
EndTry
EndWhile
Disp i
EndPrgm
Define getnargs(s)=
Prgm
""→i
0→a
930→b
While b=930
0→b
Try
expr(s&"("&i&")")
Else
errCode→b
If b=930
a+1→a
EndTry
i&when(a=1,"_",",_")→i
EndWhile
Disp a
EndPrgm
Define getnargs(s)=
Prgm
0→i
s&"("→s
Loop
Try
expr(s&")")
Stop
Else
If errCode≠930
Exit
s&when(i>0,",_","_")→s
i+1→i
EndTry
EndLoop
Disp i
EndPrgm
Users browsing this forum: ClaudeBot [spider] and 4 guests