Récupérer le numéro du mois à partir de son nom


Contenu du snippet

Auteur: Cirec
Function GetMonthNum(Month: String): Word;
Var I : Integer;
    PMonth, PShortMonth, PLongMonth : PChar;
Begin
  Result := 0;
  PMonth := PChar(Month);
  For I := 1 To 12 Do Begin
    PShortMonth := PChar(ShortMonthNames[I]);
    PLongMonth := PChar(LongMonthNames[I]);
    If (CompareString(LOCALE_USER_DEFAULT, SORT_STRINGSORT Or NORM_IGNORECASE
       Or NORM_IGNORENONSPACE Or NORM_IGNORESYMBOLS, PMonth, -1, PShortMonth,
       -1) = CSTR_EQUAL) Or (CompareString(LOCALE_USER_DEFAULT, SORT_STRINGSORT
       Or NORM_IGNORECASE Or NORM_IGNORENONSPACE Or NORM_IGNORESYMBOLS, PMonth,
       -1, PLongMonth, -1) = CSTR_EQUAL) Then
    Begin
      Result := I;
      Break;
    End;
  End;
End;



Remarque :
Cette fonction accèpte toutes les langues
la comparaison ne tient pas compte des accents ni des caractères spéciaux
ni de la case.
"Déc", "dec", "dèc", "Dec.", "[Dec.]", "[ Dec. ]" -------->> donne 12
"Aout", "aôut", "août", "aout", "[Aout]", "[ Aout ]" ----->> donne 8

Compatibilité : Delphi 5

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.