Une petite fonction CompareString

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Une petite fonction CompareString

Message par MLD »

Il est quelque fois bien utile de comparer deux chaines. En natif ce serait le pied. :lol:
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Une petite fonction CompareString

Message par dayvid »

Explique toi stp :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Une petite fonction CompareString

Message par MLD »

@David
Tu ne comprends pas se que veut dire le mot compare! 8O
chaine1$ = "A"
chaine2$ ="A"
CompareString(chaine1,chaine2$) Résultat 0 c'est pareil
chaine1$ = "A"
chaine2$ ="B"
CompareString(chaine1,chaine2$) Résultat 1 c'est pas pareil
toi yen a compris :mrgreen:
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Une petite fonction CompareString

Message par dayvid »

:lol: Si je sais ce que cella voulais dire, je comprenais pas le reste lol
ça > En natif ce serait le pied
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Une petite fonction CompareString

Message par kernadec »

lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: Une petite fonction CompareString

Message par lepiaf31 »

heu mais ptite question débile:

Code : Tout sélectionner

a$ = "abcd"
b$ = "abcd"
if a$ = b$
...
endif
Ca ne suffit pas ? ^^
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Une petite fonction CompareString

Message par dayvid »

Mouais :?
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Une petite fonction CompareString

Message par Ar-S »

L’intérêt d'une procédure dans ce cas précis est de pouvoir pousser la comparaison.
Sinon un if a$<>b$ suffit effectivement :)

Code : Tout sélectionner

Procedure.s CompareString(StringA.s,StringB.s,ModeCompare = 1)
  Shared ReZult.s
  #COMP_Basic = 1
  #COMP_Lenght = 2
  
  If ModeCompare <1 Or ModeCompare >2
    ProcedureReturn "Erreur de mode"
  EndIf
  
  Select ModeCompare
       
     
      
    Case #COMP_Basic
      If StringA = StringB
        ReZult = "Identique"
      Else
        ReZult = StringA +" <> "+ StringB
      EndIf
      
    Case #COMP_Lenght
      LA = Len(StringA)
      LB = Len(StringB)
      
      If LA > LB
        ReZult = StringA + " > " + StringB
      ElseIf LB > LA
        ReZult = StringB + " > " + StringA
      ElseIf LA = LB
        If StringA = StringB
          ReZult = "Identique"
        Else
          ReZult = "Longueur identique mais mots différents"
        EndIf

      EndIf
      
  EndSelect
  
  ProcedureReturn ReZult
  
EndProcedure

Debug "test 1"
Debug CompareString("Toto","Tutu" , #COMP_Basic)

Debug "test 2"
Debug CompareString("Toto","Tutu" , #COMP_Lenght)

Debug "test 3"
Debug CompareString("Toto","Toto" , #COMP_Basic)

Debug "test 4"
Debug CompareString("Toto","Toto" , #COMP_Lenght)
On pourrait ajouter plein d'autres Flag comme #COMP_Case pour montrer que les 2 termes sont identiques mais pas la Case etc...
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Une petite fonction CompareString

Message par nico »

Il y a déjà CompareMemoryString qui existe, vois pas l'utilité d'un code!
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Une petite fonction CompareString

Message par MLD »

Rien de plus a ajouter
@nico la doc indique pour programmeurs expérimentés seulement :wink:
Bonne journée a tous
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: Une petite fonction CompareString

Message par Guimauve »

MLD a écrit :@nico la doc indique pour programmeurs expérimentés seulement :wink:
Et parce que c'est indiqué pour programmeurs expérimentés, on touche pas ?

Je vous dirais : Arrêter d'essayé de faire de la programmation et faite-le ! Arrêter d'être des amateurs et soyez des pros.

A+
Guimauve
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Une petite fonction CompareString

Message par dayvid »

:)

Complètement d'accord avec toi !
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Une petite fonction CompareString

Message par MLD »

@ Guimauve
Je ne parlais pas pour moi. Mais pourquoi faire simple quand on peut faire compliquer :mrgreen:
Répondre