>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 >>