Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Long Date in French
Message
From
16/05/2008 02:43:31
 
 
To
15/05/2008 17:25:26
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP
Miscellaneous
Thread ID:
01317471
Message ID:
01317557
Views:
8
I would rewrite the functions mois and mois2 with Do Case instead of all the nested IFs. But as long as it runs... :-)

>>Is there anyway to get the long date to display in French - e.g. Thursday, May 15, 2008 but in French?
>
>Yes, I have a function for that:
>
>
>FUNCTION WRITDATE
>* expD1 Date
>* expN1 Number of days (default 1)
>* expN1 Pass 1 to trim the article (use only for french)
>PARAMETER tdDate,tnDays,tnTrim
>PRIVATE lcDate
>lcDate=''
>tnDays=IIF(TYPE('tnDays')='N',tnDays,1)
>tcLangue=IIF(TYPE('tcLangue')='C',tcLangue,'F')
>IF TYPE('oApp')='O'
>   DO IIF(oApp.Langue=1,'WRITFREN','WRITENGL')
>   ELSE
>   DO WRITENGL
>ENDIF
>RETURN IIF(TYPE('tnTrim')<>'N',lcDate,SUBSTR(lcDate,4))
>
>FUNCTION WRITFREN
>LOCAL lcAnnee
>lcAnnee=ALLTRIM(STR(YEAR(tdDate)))
>IF tnDays=1
>   lcDate="le "+JOUR(tdDate)+MOIS(tdDate)+lcAnnee
>ENDIF
>IF tnDays=2
>   IF MONTH(tdDate)=MONTH(tdDate+1)
>      lcDate="les "+JOUR(tdDate)+" et "+JOUR(tdDate+1)+MOIS(tdDate)+lcAnnee
>      ELSE
>      lcDate="les "+JOUR(tdDate)+MOIS(tdDate)+"et "+JOUR(tdDate+1)+MOIS(tdDate+1)+lcAnnee
>   ENDIF
>ENDIF
>IF tnDays=3
>   IF MONTH(tdDate)=MONTH(tdDate+2)
>      lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+" et "+JOUR(tdDate+2)+MOIS(tdDate)+lcAnnee
>      ELSE
>      IF MONTH(tdDate)=MONTH(tdDate+1)
>         lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+MOIS(tdDate)+;
>         "et "+JOUR(tdDate+2)+MOIS(tdDate+2)+lcAnnee
>         ELSE
>         lcDate="les "+JOUR(tdDate)+TRIM(MOIS(tdDate))+", "+JOUR(tdDate+1)+;
>         " et "+JOUR(tdDate+2)+MOIS(tdDate+1)+lcAnnee
>      ENDIF
>   ENDIF
>ENDIF
>IF tnDays=4
>   IF MONTH(tdDate)=MONTH(tdDate+3)
>      lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+;
>      " et "+JOUR(tdDate+3)+MOIS(tdDate)+lcAnnee
>      ELSE
>      IF MONTH(tdDate)=MONTH(tdDate+2)
>         lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+" et "+JOUR(tdDate+2)+;
>         MOIS(tdDate)+"et "+JOUR(tdDate+3)+MOIS(tdDate+3)+lcAnnee
>         ELSE
>         IF MONTH(tdDate)=MONTH(tdDate+1)
>            lcDate="les "+JOUR(tdDate)+" et "+JOUR(tdDate+1)+TRIM(MOIS(tdDate))+;
>            ", "+JOUR(tdDate+2)+" et " +JOUR(tdDate+3)+MOIS(tdDate+3)+lcAnnee
>            ELSE
>            lcDate="les "+JOUR(tdDate)+TRIM(MOIS(tdDate))+", "+JOUR(tdDate+1)+;
>            ", "+JOUR(tdDate+2)+" et " +JOUR(tdDate+3)+MOIS(tdDate+3)+lcAnnee
>         ENDIF
>      ENDIF
>   ENDIF
>ENDIF
>IF tnDays=5
>   IF MONTH(tdDate)=MONTH(tdDate+4)
>      lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+", "+;
>      JOUR(tdDate+3)+" et "+JOUR(tdDate+4)+MOIS(tdDate)+lcAnnee
>      ELSE
>      IF MONTH(tdDate)=MONTH(tdDate+3)
>         lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+;
>         " et "+JOUR(tdDate+3)+MOIS(tdDate)+"et "+JOUR(tdDate+4)+MOIS(tdDate+4)+lcAnnee
>         ELSE
>         IF MONTH(tdDate)=MONTH(tdDate+2)
>            lcDate="les "+JOUR(tdDate)+", "+JOUR(tdDate+1)+;
>            " et "+JOUR(tdDate+2)+TRIM(MOIS(tdDate))+", "+JOUR(tdDate+3)+;
>            " et "+JOUR(tdDate+4)+MOIS(tdDate+4)+lcAnnee
>            ELSE
>            IF MONTH(tdDate)=MONTH(tdDate+1)
>               lcDate="les "+JOUR(tdDate)+" et "+JOUR(tdDate+1)+TRIM(MOIS(tdDate))+;
>               ", "+JOUR(tdDate+2)+", "+JOUR(tdDate+3)+" et " +JOUR(tdDate+4)+MOIS(tdDate+4)+lcAnnee
>               ELSE
>               lcDate="les "+JOUR(tdDate)+TRIM(MOIS(tdDate))+", "+JOUR(tdDate+1)+;
>               ", "+JOUR(tdDate+2)+", "+JOUR(tdDate+3)+" et " +JOUR(tdDate+4)+MOIS(tdDate+4)+lcAnnee
>            ENDIF
>         ENDIF
>      ENDIF
>   ENDIF
>ENDIF
>IF tnDays>1
>   IF MONTH(tdDate)=12 .AND. MONTH(tdDate+tnDays-1)=1
>      lcDate=STUFF(lcDate,AT(ALLTRIM(STR(YEAR(tdDate))),lcDate),;
>      4,ALLTRIM(STR(YEAR(tdDate+tnDays-1))))
>      lcDate=STUFF(lcDate,AT('décembre',lcDate)+9,0,ALLTRIM(STR(YEAR(tdDate)))+' ')
>      IF AT('décembre,',lcDate)>0
>         lcDate=STUFF(lcDate,AT('décembre,',lcDate)+8,1,' ')
>         lcDate=STUFF(lcDate,AT('décembre',lcDate)+13,1,',')
>      ENDIF
>   ENDIF
>ENDIF
>
>FUNCTION WRITENGL
>LOCAL lcAnnee
>lcAnnee=ALLTRIM(STR(YEAR(tdDate)))
>IF tnDays=1
>   lcDate=MOIS2(tdDate)+JOUR(tdDate)+', '+lcAnnee
>ENDIF
>IF tnDays=2
>   IF MONTH(tdDate)=MONTH(tdDate+1)
>      lcDate=MOIS2(tdDate)+JOUR(tdDate)+" and "+JOUR(tdDate+1)+', '+lcAnnee
>      ELSE
>      lcDate=MOIS2(tdDate)+JOUR(tdDate)+" and "+MOIS2(tdDate+1)+JOUR(tdDate+1)+', '+lcAnnee
>   ENDIF
>ENDIF
>IF tnDays=3
>   IF MONTH(tdDate)=MONTH(tdDate+2)
>      lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+" and "+JOUR(tdDate+2)+', '+lcAnnee
>      ELSE
>      IF MONTH(tdDate)=MONTH(tdDate+1)
>         lcDate=MOIS2(tdDate)+JOUR(tdDate)+" and "+JOUR(tdDate+1)+;
>         " and "+MOIS2(tdDate+2)+JOUR(tdDate+2)+', '+lcAnnee
>         ELSE
>         lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+MOIS2(tdDate+1)+JOUR(tdDate+1)+;
>         " and "+JOUR(tdDate+2)+', '+lcAnnee
>      ENDIF
>   ENDIF
>ENDIF
>IF tnDays=4
>   IF MONTH(tdDate)=MONTH(tdDate+3)
>      lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+;
>      " and "+JOUR(tdDate+3)+', '+lcAnnee
>      ELSE
>      IF MONTH(tdDate)=MONTH(tdDate+2)
>         lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+" and "+;
>         JOUR(tdDate+2)+" and "+MOIS2(tdDate+3)+JOUR(tdDate+3)+', '+lcAnnee
>         ELSE
>         IF MONTH(tdDate)=MONTH(tdDate+1)
>            lcDate=MOIS2(tdDate)+JOUR(tdDate)+" and "+JOUR(tdDate+1)+;
>            ", "+MOIS2(tdDate+2)+JOUR(tdDate+2)+" and " +JOUR(tdDate+3)+', '+lcAnnee
>            ELSE
>            lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+MOIS2(tdDate+1)+JOUR(tdDate+1)+;
>            ", "+JOUR(tdDate+2)+" and " +JOUR(tdDate+3)+', '+lcAnnee
>         ENDIF
>      ENDIF
>   ENDIF
>ENDIF
>IF tnDays=5
>   IF MONTH(tdDate)=MONTH(tdDate+4)
>      lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+;
>      ", "+JOUR(tdDate+3)+" and "+JOUR(tdDate+4)+', '+lcAnnee
>      ELSE
>      IF MONTH(tdDate)=MONTH(tdDate+3)
>         lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+", "+JOUR(tdDate+2)+;
>         " and "+JOUR(tdDate+3)+" and "+MOIS2(tdDate+4)+JOUR(tdDate+4)+', '+lcAnnee
>         ELSE
>         IF MONTH(tdDate)=MONTH(tdDate+2)
>            lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+JOUR(tdDate+1)+" and "+JOUR(tdDate+2)+;
>            ", "+MOIS2(tdDate+3)+JOUR(tdDate+3)+" and " +JOUR(tdDate+4)+', '+lcAnnee
>            ELSE
>            IF MONTH(tdDate)=MONTH(tdDate+1)
>               lcDate=MOIS2(tdDate)+JOUR(tdDate)+" and "+JOUR(tdDate+1)+;
>               ", "+MOIS2(tdDate+2)+JOUR(tdDate+2)+", "+JOUR(tdDate+3)+" and " +JOUR(tdDate+4)+', '+lcAnnee
>               ELSE
>               lcDate=MOIS2(tdDate)+JOUR(tdDate)+", "+MOIS2(tdDate+1)+JOUR(tdDate+1)+;
>               ", "+JOUR(tdDate+2)+", "+JOUR(tdDate+3)+" and " +JOUR(tdDate+4)+', '+lcAnnee
>            ENDIF
>         ENDIF
>      ENDIF
>   ENDIF
>ENDIF
>IF tnDays>1
>   IF MONTH(tdDate)=12 .AND. MONTH(tdDate+tnDays-1)=1
>      lcDate=STUFF(lcDate,AT(ALLTRIM(STR(YEAR(tdDate))),lcDate),;
>      4,ALLTRIM(STR(YEAR(tdDate+tnDays-1))))
>      IF DAY(tdDate)=31
>         IF tnDays=2
>            lcDate=STUFF(lcDate,AT('and',lcDate)-1,0,', '+ALLTRIM(STR(YEAR(tdDate))))
>            ELSE
>            lcDate=STUFF(lcDate,AT(',',lcDate),0,', '+ALLTRIM(STR(YEAR(tdDate))))
>         ENDIF
>         ELSE
>         lcDate=STUFF(lcDate,AT('and',lcDate)+6,0,', '+ALLTRIM(STR(YEAR(tdDate))))
>      ENDIF
>   ENDIF
>ENDIF
>
>FUNCTION JOUR
>PARAMETER tdDate
>LOCAL lcDay
>lcDay=ALLTRIM(STR(DAY(tdDate)))
>RETURN lcDay
>
>FUNCTION MOIS
>PARAMETER tdDate
>LOCAL lcMois
>IF MONTH(tdDate)=1
>   lcMois=" janvier "
>   ELSE
>   IF MONTH(tdDate)=2
>      lcMois=" février "
>      ELSE
>      IF MONTH(tdDate)=3
>         lcMois=" mars "
>         ELSE
>         IF MONTH(tdDate)=4
>            lcMois=" avril "
>            ELSE
>            IF MONTH(tdDate)=5
>               lcMois=" mai "
>               ELSE
>               IF MONTH(tdDate)=6
>                  lcMois=" juin "
>                  ELSE
>                  IF MONTH(tdDate)=7
>                     lcMois=" juillet "
>                     ELSE
>                     IF MONTH(tdDate)=8
>                        lcMois=" août "
>                        ELSE
>                        IF MONTH(tdDate)=9
>                           lcMois=" septembre "
>                           ELSE
>                           IF MONTH(tdDate)=10
>                              lcMois=" octobre "
>                              ELSE
>                              IF MONTH(tdDate)=11
>                                 lcMois=" novembre "
>                                 ELSE
>                                 lcMois=" décembre "
>                              ENDIF
>                           ENDIF
>                        ENDIF
>                     ENDIF
>                  ENDIF
>               ENDIF
>            ENDIF
>         ENDIF
>      ENDIF
>   ENDIF
>ENDIF
>RETURN lcMois
>
>FUNCTION MOIS2
>PARAMETER tdDate
>LOCAL lcMois
>IF MONTH(tdDate)=1
>   lcMois="January "
>   ELSE
>   IF MONTH(tdDate)=2
>      lcMois="February "
>      ELSE
>      IF MONTH(tdDate)=3
>         lcMois="March "
>         ELSE
>         IF MONTH(tdDate)=4
>            lcMois="April "
>            ELSE
>            IF MONTH(tdDate)=5
>               lcMois="May "
>               ELSE
>               IF MONTH(tdDate)=6
>                  lcMois="June "
>                  ELSE
>                  IF MONTH(tdDate)=7
>                     lcMois="July "
>                     ELSE
>                     IF MONTH(tdDate)=8
>                        lcMois="August "
>                        ELSE
>                        IF MONTH(tdDate)=9
>                           lcMois="September "
>                           ELSE
>                           IF MONTH(tdDate)=10
>                              lcMois="October "
>                              ELSE
>                              IF MONTH(tdDate)=11
>                                 lcMois="November "
>                                 ELSE
>                                 lcMois="December "
>                              ENDIF
>                           ENDIF
>                        ENDIF
>                     ENDIF
>                  ENDIF
>               ENDIF
>            ENDIF
>         ENDIF
>      ENDIF
>   ENDIF
>ENDIF
>RETURN lcMois
>
>
>This goes up to 5 days.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform