Vous pouvez utiliser AnsiIndexText (const AnsiString ATaille, un tableau const de aLes valeurs string): entier ou matchstr (const ATaille: string; const a Valeurs: tableau de chaînes): Boolean;
Quelque chose comme
Result := (AnsiIndexText('Hi',['Hello','Hi','Foo','Bar']) > -1);
ou
Result := MatchStr('Hi', ['foo', 'Bar']);
AnsiIndexText renvoie l'index 0 offset de la première chaîne qu'il trouve dans aLes valeurs qui correspond ATaille insensible à la casse. Si la chaîne spécifiée par AText n'a pas de correspondance (peut-être insensible à la casse) dans AValues, AnsiIndexText renvoie -1. Les comparaisons sont basées sur les paramètres régionaux actuels du système .
matchstr détermine si l'une des chaînes de l' aLes valeurs du tableau correspondent à la chaîne spécifiée par ATaille en utilisant un cas comparaison sensible. Il renvoie true si au moins l'une des chaînes du groupe correspond, ou false si aucune des chaînes ne correspond.
Remarque AnsiIndexText a indépendamment de la casse et matchstr est le cas donc je suppose sensible que cela dépend de votre utilisation
EDIT: 03/09/2011: Juste trouvé cette réponse et a pensé que je voudrais ajouter une note que, dans Delphi 2010, il y a aussi une fonction MatchText
qui est la même que MatchStr
mais insensible à la casse.- Larry
En fait il y en a un meilleur, juste cherché un peu dans le StrUtils.pas et trouvé le MatchStr qui retourne un booléen: Résultat: = MatchStr ('Hi' , ['foo', 'Bar']); Veuillez l'ajouter à votre réponse –
MatchStr et MatchText sont également disponibles dans Delphi 2007. –
tout équivalent pour Delphi 7? – CyprUS