ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Un calendrier dans un état   



L'auteur

eric leissler
France France
Membre Simple
# 0000002784
enregistré le 06/03/2010
http://www.aumeric.fr
68 ans
LEISSLER Eric
85290 MORTAGNE SUR SEVRE
de la société AUMERIC LOGICIELS
Fiche personnelle


Note des membres
pas de note

Contributions > 03 - FRX : Etat, impression, Report

Un calendrier dans un état
# 0000000074
ajouté le 19/11/2004 09:48:11 et modifié le 24/05/2010
consulté 8857 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0
VFP 8.0
VFP 7.0
VFP 6.0
VFP 5.0
VFP 3.0
FPW 2.6

Zoomer sur l'image

Télécharger le ZIP (57.89 Ko)
Description

Salut à tous
Dans un état, je voulais mettre un calendrier paramétrable comme suit:
etat1.jpg dans le zip joint

Je n'ai pas trouve de code alors je l'ai fait Voila le résultat pour décembre 2004

etat2.jpg dans le zip joint

Je crée une table calend qui s'écrase à chaque fois.Un seul enregistrement

Dans l'état il faut placer 42 champs correspondant aux 42 champs de la table calend

etat3.jpg dans le zip joint

Voila voila

Bonne prog à tous

Cordialement

Eric

Code source :
*!* code à mettre dans la méthole beforeopentable du dataenvironment de l'état

PUBLIC MOISEDITION,quelannee,rea,an
if vartype(m.moisedition)#"C"
local rep
do form chmois with "M" TO m.moisedition
*!* le form chmois renvoi le numéro du mois choisi en alpha "11" pour novembre
 m.moisedition=val( m.moisedition)
 an=year(date())
 if moisedition=1
  m.rep=messagebox("Voulez vous traiter le mois de janvier de cette année"+alltrim(str(year(date()))),36)
  if m.rep=6
    an=year(date())
  else
      an=year(date())+1
  endif
 endif
    private jourch
    STORE SET('FDOW'TO gnPjds  && Enregistre la valeur courante
    SET FDOW TO 2  && Définit dimanche comme le premier jour de la semaine, ce qui est la valeur par défaut
        select 0
    CREATE TABLE .\temp\calend FREE;
       (calend1 c(2),;
        calend2 c(2),;
        calend3 c(2),;
        calend4 c(2),;
        calend5 c(2),;
        calend6 c(2),;
        calend7 c(2),;
        calend8 c(2),;
        calend9 c(2),;
        calend10 c(2),;
        calend11 c(2),;
        calend12 c(2),;
        calend13 c(2),;
        calend14 c(2),;
        calend15 c(2),;
        calend16 c(2),;
        calend17 c(2),;
        calend18 c(2),;
        calend19 c(2),;
        calend20 c(2),;
        calend21 c(2),;
        calend22 c(2),;
        calend23 c(2),;
        calend24 c(2),;
        calend25 c(2),;
        calend26 c(2),;
        calend27 c(2),;
        calend28 c(2),;
        calend29 c(2),;
        calend30 c(2),;
        calend31 c(2),;
        calend32 c(2),;
        calend33 c(2),;
        calend34 c(2),;
        calend35 c(2),;
        calend36 c(2),;
        calend37 c(2),;
        calend38 c(2),;
        calend39 c(2),;
        calend40 c(2),;
        calend41 c(2),;
        calend42 c(2))
    append blank

    m.dateencours=ctod("01/"+alltrim(str(m.moisedition))+"/"+alltrim(str(m.an)))
    m.finmois=ctod("01/"+alltrim(str(iif(m.moisedition=12,0,m.moisedition)+1))+"/"+alltrim(str(iif(m.moisedition=12,an+1,an  ))))
    m.jourch=dow(m.dateencours,2)
        for m.i=1 to m.finmois-m.dateencours
        if i=43
        exit
        endif
        cmd="replace calend"+alltrim(str((m.jourch-1)+m.i))+ " with "+'"'+alltrim(str(m.i))+'"'
        &cmd
      next m.I

    SET FDOW TO &gnPjds  && Restaure le jour d'origine

M.moisedition=alltrim(str(m.moisedition))
m.rea=alltrim(str(iif(val(m.moisedition)>1,val(m.moisedition)-1,12)))

select 0



endif




*!* code à mettre dans la propriété destroy de l'environnement de donnée de l'état
release m.moisedition,m.quelannee,m.rea
select calend
use

Commentaires
le 19/11/2004, eric leissler a écrit :
De quelles images parles tu ?

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3