AnsiIndexStr sans etre case sensitive

Résolu
furax13 Messages postés 90 Date d'inscription mardi 28 octobre 2003 Statut Membre Dernière intervention 24 avril 2008 - 9 août 2006 à 12:20
ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 - 9 août 2006 à 14:04
bonjour,
j'utilise la méthode AnsiIndexStr  pour créer des objets typés comme l'indique l'exemple ci-desous :

CONSTRUCTOR TCMContrainte.creation(noContrainte, typeContraint: integer; name: STRING; noCoil, priority: integer);
BEGIN
CASE AnsiIndexStr(name, ['Contrainte_Heating_Speed_1',
      'Contrainte_Gaz_Flow_1',
      'Contrainte_Gaz_Flow_2',
      'Contrainte_Gaz_Flow_3',
      'Contrainte_Carbon_Deposition_1',
      'Contrainte_Carbon_Deposition_2',
      'Contrainte_Carbon_Deposition_3']) OF
    0: self := TCMContrainteHeatingSpeed1.creation(noContrainte, name, noCoil, typeContraint, priorite, 700, 40);
    1: self := TCMContrainteGazFlow1.creation(noContrainte, name, noCoil, typeContraint, priorite, 650, 10.5, 650);
    2: self := TCMContrainteGazFlow2.creation(noContrainte, name, noCoil, typeContraint, priorite, 650, 10.5, 650);
    3: self := TCMContrainteGazFlow3.creation(noContrainte, name, noCoil, typeContraint, priorite, 650.0, 17);
    4: self := TCMContrainteCarbonDeposition1.creation(noContrainte, name, noCoil, typeContraint, priorite, 700, 50, 650);
    5: self := TCMContrainteCarbonDeposition2.creation(noContrainte, name, noCoil, typeContraint, priorite, 700, 50, 650);
    6: self := TCMContrainteCarbonDeposition3.creation(noContrainte, name, noCoil, typeContraint, priorite, 700, 50, 650);
 END;
END;

Malheureusement, la méthode AnsiIndexStr gère le case sensitive

Comment faire pour s'en affranchir?

merci beaucoup.

5 réponses

ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
9 août 2006 à 13:42
Salut,


Utilise la fonction AnsiIndexText (qui compare sans tenir compte de la casse, mais attention aux accents). 


A +
Thierry
3
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
9 août 2006 à 13:41
Salut furax13,

Tiens, je connaissais pas AnsiIndexStr, m'a l'air bien pratique... dommage que j'aie que D4 !

Quoi qu'il en soit, pourquoi ne pas utiliser UpperCase, tout simplement ?
Comme ceci :

CONSTRUCTOR TCMContrainte.creation(noContrainte, typeContraint: integer; name: STRING; noCoil, priority: integer);
BEGIN
CASE AnsiIndexStr(UpperCase(name), [UpperCase('Contrainte_Heating_Speed_1'),
      UpperCase('Contrainte_Gaz_Flow_1'),
      UpperCase('Contrainte_Gaz_Flow_2'),
      UpperCase('Contrainte_Gaz_Flow_3'),
      UpperCase('Contrainte_Carbon_Deposition_1'),
      UpperCase('Contrainte_Carbon_Deposition_2'),
      UpperCase('Contrainte_Carbon_Deposition_3')]) OF
    0: self := TCMContrainteHeatingSpeed1.creation(noContrainte, name, noCoil, typeContraint, priorite, 700, 40);
    1: self := TCMContrainteGazFlow1.creation(noContrainte, name, noCoil, typeContraint, priorite, 650, 10.5, 650);
    2: self := TCMContrainteGazFlow2.creation(noContrainte, name, noCoil, typeContraint, priorite, 650, 10.5, 650);
    3: self := TCMContrainteGazFlow3.creation(noContrainte, name, noCoil, typeContraint, priorite, 650.0, 17);
    4: self := TCMContrainteCarbonDeposition1.creation(noContrainte, name, noCoil, typeContraint, priorite, 700, 50, 650);
    5: self := TCMContrainteCarbonDeposition2.creation(noContrainte, name, noCoil, typeContraint, priorite, 700, 50, 650);
    6: self := TCMContrainteCarbonDeposition3.creation(noContrainte, name, noCoil, typeContraint, priorite, 700, 50, 650);
 END;
END;

Bonne prog'

signé <strike>furax</strike> japee, lol
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
9 août 2006 à 13:45
Ou AnsiUpperCase, mais ça ne me paraissait pas utile dans le contexte...
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
9 août 2006 à 13:47
Ah, salut Thierry... on s'est croisés, lol.


Encore une que je ne connaissais pas !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
9 août 2006 à 14:04
Salut japee,

on s'est même croisé 2 x. (lol)
ceci dit, la fonction AnsiIndexText ne fait probablement rien d'autre que de comparer en majuscules (uppercase).
0
Rejoignez-nous