Les Snippets

Connexion

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

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 02/07/2007 21:20:19 et initié par PCPT [Liste]
Date de mise à jour : 19/12/2007 17:47:53
Vue : 8309
Catégorie(s) : Date & Heure, Chaîne de caractères
Langages dispo pour ce code :
- VB6, VBA
- VB6, VBA
- Javascript
- Java
- PHP 3, PHP 4, PHP 5
- Delphi 5
- Delphi 5
- Delphi 5
- VB6, VBA
- PHP 5
- PHP 5
- Voir tous les langages pour ce code snippet



Langage : Delphi 5
Date ajout : 03/10/2007
Posté par japee [Liste]
DateMAJ : 03/10/2007
function GetMonthNum(Month: string): Word;
const
  ArrTypeInfo: array[0..1, 1..13] of LCTYPE = (
   (LOCALE_SMONTHNAME1,
    LOCALE_SMONTHNAME2,
    LOCALE_SMONTHNAME3,
    LOCALE_SMONTHNAME4,
    LOCALE_SMONTHNAME5,
    LOCALE_SMONTHNAME6,
    LOCALE_SMONTHNAME7,
    LOCALE_SMONTHNAME8,
    LOCALE_SMONTHNAME9,
    LOCALE_SMONTHNAME10,
    LOCALE_SMONTHNAME11,
    LOCALE_SMONTHNAME12,
    LOCALE_SMONTHNAME13),
   (LOCALE_SABBREVMONTHNAME1,
    LOCALE_SABBREVMONTHNAME2,
    LOCALE_SABBREVMONTHNAME3,
    LOCALE_SABBREVMONTHNAME4,
    LOCALE_SABBREVMONTHNAME5,
    LOCALE_SABBREVMONTHNAME6,
    LOCALE_SABBREVMONTHNAME7,
    LOCALE_SABBREVMONTHNAME8,
    LOCALE_SABBREVMONTHNAME9,
    LOCALE_SABBREVMONTHNAME10,
    LOCALE_SABBREVMONTHNAME11,
    LOCALE_SABBREVMONTHNAME12,
    LOCALE_SABBREVMONTHNAME13));
var
  i, j: Integer;
  LCData : array[0..255] of Char;
begin
  Result := 0;
  Month := AnsiLowerCase(Month);
  for i := 0 to 1 do
    for j := 1 to 13 do
    begin
      GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,
                    ArrTypeInfo[i, j],
                    LCData,
                    SizeOf(LCData) - 1);
      if (Month = LCData) and (LCData <> '') then
      begin
        Result := j;
        Break
      end;
    end;
end;
Remarque :
Version basée sur les informations locales du système.
Les mois sont admis sous leur forme courte ou longue, minuscule ou majuscule.
Fait appel à l'API GetLocaleInfo().
Adapté donc à la langue du système d'exploitation.
Prend en compte un éventuel 13ème mois.
Pour mémoire, formes courtes françaises admises par l'OS :
janv., févr., mars, avr., mai, juin, juil., août, sept., oct., nov., déc.

Snippets en rapport avec : Mois, Date, Numéro



Codes sources en rapport avec : Mois, Date, Numéro

{Visual Basic, VB6, VB.NET, VB 2005} CALENDRIER SOUS VBA (EXCEL)
Ce code permet de sélectionner une date dans un calendrier Le nombre de jour par mois et défini Le...

{Delphi} GESTION DE CALENDRIER DYNAMIQUE
Dans n'importe quelle application de gestion vous avez besoin d'un calendrier d'activité. Et bien c...

{SQL} DERNIER JOUR DU MOIS, OU DE LA SEMAINE
J'ai mis ces fonctions toujour utiles dans CODIX (les snippets) mais l'un est faut et on peut pas le...

{Javascript / DHTML} NUMERO DE LA SEMAINE
Trois méthodes pour l'objet Date, une pour connaître le numéro du jour dans l'année, une pour obteni...

{Delphi} GETYMDBETWEEN() - DIFFÉRENCE ENTRE 2 DATES (ANNÉES, MOIS, JOURS)
Calcule la différence entre deux dates au format TDateTime. Différence comptée en Ans, Jours, Mois....

{PHP} CALENDRIER - FLOPTWO
Calendrier - floptwo : Il s'agit d'un script qui réalise un calendrierà partir de la date du jour. ...

{Visual Basic, VB6, VB.NET, VB 2005} VBA EXCEL TRANSFORME UNE DATE ENREGISTRÉE AU FORMAT ANGLAIS (BOGUE D'INVERSION MOIS / JOUR)
A ma grande surprise, je constate qu'il existe encore des fichiers Excel contenant l'anomalie liée a...

{PHP} DIFFÉRENCE ENTRE DEUX DATE (LISTE RÉCUPÉRÉE DANS UN TABLEAU)
Salut les codeurs fou ! Je développe actuellement une petite appli pour faire mes comptes, et j'en ...

{Javascript / DHTML} LA DATE TOUTE SIMPLE.
Il permet de mettre sur votre site la date sans pub....

{PHP} CALENDRIER DU MOIS EN COURS
Le calendrier affiche le mois en cours, le jour est affiché en gras. Il suffit de copier le calque d...