Page 1 sur 1

bug ou pas ??

Publié : jeu. 16/avr./2009 21:22
par Backup
je fatigue ou quoi ?

pourquoi ce petit code d'exemple plante ? 8O

Code : Tout sélectionner

Dim parametre.s(2)
Dim pos_signe.l(5)
pos_signe(1)=FindString(parametre(1),">",1) 
pos_signe(2)=FindString(parametre(1),"<",1)
pos_signe(3)=FindString(parametre(1),"=",1)
pos_signe(4) =FindString(parametre(1),"<>",1)
pos_signe(5)=FindString(parametre(1),"<=",1)
If pos_signe(5)=0
    pos_signe(5)=FindString(parametre(1),"=<",1)
EndIf
    
pos_signe(5)=FindString(parametre(1),">=",1)
If pos_signe(5)=0
    pos_signe(5)=FindString(parametre(1),"=>",1)
EndIf
    
For r=1 To 5
    If pos_signe(r)>0
        parti_1$=Mid(parametre(1),1,pos_signe(r))
        parti_2$=Mid(parametre(1), pos_signe(r), Len(pos_signe(r)) )
        parti_3$=Mid(parametre(1),pos_signe(r)+Len(pos_signe(r)),Len(parametre(1)))
    EndIf
    
Next r
    
mauvais parametre de string qu'il me dit !!

n'importe quoi !!!

finalement je me demande si je vais pas revenir a la version 3.94 moi
:?

Publié : jeu. 16/avr./2009 21:42
par venom
je dit peut être des bêtise mais les paramètres de len() sont :

len(chaine$). et ton exemple pos_signe() et retourner par
resultat = pos_signe(). il y a donc erreur en revanche si tu fait

len(str(pos_signe(r))) sa fonctionne non ?

fin je doit mal me faire comprendre donc voici ton code a ma sauce mais pas sur du resultat :wink:

Code : Tout sélectionner

Dim parametre.s(2)
Dim pos_signe.l(5)
pos_signe(1)=FindString(parametre(1),">",1)
pos_signe(2)=FindString(parametre(1),"<",1)
pos_signe(3)=FindString(parametre(1),"=",1)
pos_signe(4) =FindString(parametre(1),"<>",1)
pos_signe(5)=FindString(parametre(1),"<=",1)
If pos_signe(5)=0
    pos_signe(5)=FindString(parametre(1),"=<",1)
EndIf
   
pos_signe(5)=FindString(parametre(1),">=",1)
If pos_signe(5)=0
    pos_signe(5)=FindString(parametre(1),"=>",1)
EndIf
   
For r=1 To 5
    If pos_signe(r)>0
        parti_1$=Mid(parametre(1),1,pos_signe(r))
        parti_2$=Mid(parametre(1), pos_signe(r), Len(Str(pos_signe(r))) )
        parti_3$=Mid(parametre(1),pos_signe(r)+Len(Str(pos_signe(r))),Len(parametre(1)))
    EndIf
   
Next r 
dit moi quoi





@++

Publié : jeu. 16/avr./2009 21:48
par Progi1984
Venom, tu m'as pris de quelques minutes :)

Le premier paramètre de Len est une chaine et non une valeur numérique.

Publié : jeu. 16/avr./2009 21:49
par Backup
oui c'est bien ça :) :oops: :oops:

j'ai mis un long dans le parametre de la fonction len() ,qui attends une chaine !! je fatigue !! :roll:

faut dire que je suis a fond sur mon pureGolo
et que je viens de me bouffer 3 jours de récursivité, a paramétrer dans mon petit language :)

ça commence a prendre forme

Merci de votre aide :)

Publié : jeu. 16/avr./2009 21:53
par venom
ça commence a prendre forme
ont en verra un morceau bientôt ? :P

en attendant ont va metre sa sur le dos de la fatigue :lol:

après une bonne nuit tout s'éclaircit :wink:
Venom, tu m'as pris de quelques minutes
:P




@++