bug ou pas ??

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

bug ou pas ??

Message 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
:?
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message 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





@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message 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.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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 :)
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message 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




@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Répondre