FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
ecart date Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
ecart date Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
ecart date Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
ecart date Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
ecart date Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
ecart date Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
ecart date Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
ecart date Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
ecart date Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
ecart date Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
ecart date Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
ecart date Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
ecart date Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
ecart date Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
ecart date Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-39%
Le deal à ne pas rater :
Pack Home Cinéma Magnat Monitor : Ampli DENON AVR-X2800H, Enceinte ...
1190 € 1950 €
Voir le deal

 

 ecart date

Aller en bas 
3 participants
AuteurMessage
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

ecart date Empty
MessageSujet: ecart date   ecart date EmptyLun 1 Mar 2010 - 15:45

Je cherche désespéremmment un moyen de calculer le nombre de jours entre deux date entées dans des edit sous format JJ/MM/AAAA

du moins le moyen de récupérer la valeur système de ces dates . scratch
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2709
Date d'inscription : 13/09/2009

ecart date Empty
MessageSujet: +++   ecart date EmptyLun 1 Mar 2010 - 17:59

J'ai un moyen simple qui marche si les deux dates sont suffisamment éloignées
(approximation à environ 1 jour près)
(c'est suffisant si on veut calculer l'âge de quelqu'un en années et en mois)
je multiplie les années par 365.2422 (jours)
et les mois par 30.43685 (jours)
et j'additionne le tout avec les jours.
geek
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

ecart date Empty
MessageSujet: Re: ecart date   ecart date EmptyLun 1 Mar 2010 - 19:29

Bonjour, Ygeronimi,

J'ai un petit module Panoramic qui fait exactement cela. Toute la documentation est dans le source, y compris un petit programme de test. Il suffit de prendre le source en le surlignant puis copier par control/C, puis le coller dans l'éditeur. Amuse-toi bien !

Voici le source:
Code:

rem **********************************************************
rem *                                                        *
rem * déclaration nécessaires en début de programme          *
rem *                                                        *
rem **********************************************************

label ecart_en_jours, eej_eclater, eej_eclater_fin
dim eej_debut$, eej_fin$, eej_date$, eej_ecart%
dim eej_d%(1,2)  :rem "dates début et éclatées"
dim eej_i%, eej_j%, eej_jours%(12)
dim eej_nad%, eej_naf%, eej_nd%, eej_nf%


rem **********************************************************
rem * programme de test                                      *
rem *                                                        *
rem **********************************************************

label calculer

width 0,250
height 0,200

alpha 1
caption 1,"Jour début:"
top 1,10
left 1,10

edit 2
top 2,10
left 2,100

alpha 3
caption 3,"Jour début:"
top 3,30
left 3,10

edit 4
top 4,30
left 4,100

button 5
caption 5,"Calculer l'écart"
top 5,70
left 5,100
on_click 5,calculer

alpha 6
top 6,110
left 6,100
font_size 6,16
font_color 6,0,0,255
caption 6,"0"

end

rem ----------------- ceci montre comment appeler la routine !!!!!!!!!!!!
calculer:
    eej_debut$ = text$(2)
    eej_fin$ = text$(4)
    gosub ecart_en_jours
    caption 6,str$(eej_ecart%)
return

rem ************************************************************
rem *                                                          *
rem * ecart en jours  - routine à inclure dans le source      *
rem *                                                          *
rem * en entrée, charger les variiables eej_debut$ et eej_fin$ *
rem * en sortie, utiliser la variable eej_ecart%              *
rem *                                                          *
rem * Si la date de fin est plus petite que la date de début,  *
rem * le programme retourne 0.                                *
rem *                                                          *
rem * ATTENTION:  il faut spécifier des dates valides !!!    *
rem *                                                          *
rem ************************************************************

ecart_en_jours:
    eej_ecart% = 0                                  :rem "suppoer aucun écart"
    eej_jours%(1) = 31
    eej_jours%(2) = 28
    eej_jours%(3) = 31
    eej_jours%(4) = 30
    eej_jours%(5) = 31
    eej_jours%(6) = 30
    eej_jours%(7) = 31
    eej_jours%(8) = 31
    eej_jours%(9) = 30
    eej_jours%(10) = 31
    eej_jours%(11) = 30
    eej_jours%(12) = 31
    eej_date$ = eej_debut$
    eej_i% = 0        :rem "date de début"
    gosub eej_eclater  :rem "indice (0,x) pour début"
    eej_date$ = eej_fin$
    eej_i% = 1        :rem "date de fint"
    gosub eej_eclater  :rem "indice (1,x) pour fin"
    if eej_d%(0,2)>eej_d%(1,2) then return          :rem "année début>fin ?
    if eej_d%(0,2)=eej_d%(1,2)
        if eej_d%(0,1)>eej_d%(1,1) then return      :rem "mois début>fin ?
        if eej_d%(0,1)=eej_d%(1,1)
            if eej_d%(0,0)=eej_d%(1,0) then return  :rem "jour début>=fin ?
        end_if
    end_if
rem    ici, on a des dates différentes avec certitude !
    eej_nad% = 365
    if frac(eej_d%(0,2)/4)=0 then eej_nad% = 366    :rem "longueur année début"
    eej_naf% = 365
    if frac(eej_d%(1,2)/4)=0 then eej_naf% = 366    :rem "longueur année fin"
    eej_nd% = eej_d%(0,0)                            :rem "numero de jour début"
    if eej_d%(0,1)>1
        for eej_i%=1 to eej_d%(0,1)-1                :rem "ajouter les autres mois"
            eej_nd% = eej_nd% + eej_jours%(eej_i%)
            if eej_i%=2                              :rem "février ?"
                if eej_nad%=366 then eej_nd% = eej_nd% + 1    :"rem année bisextile"
            end_if
        next eej_i%
    end_if
    eej_nf% = eej_d%(1,0)                            :rem "numero de jour fin"
    if eej_d%(1,1)>1
        for eej_i%=1 to eej_d%(1,1)-1                :rem "ajouter les autres mois"
            eej_nf% = eej_nf% + eej_jours%(eej_i%)
            if eej_i%=2                              :rem "février ?"
                if eej_naf%=366 then eej_nf% = eej_nf% + 1    :rem "rem année bisextile"
            end_if
        next eej_i%
    end_if
    eej_ecart% = eej_nf% - eej_nd%
    while eej_d%(0,2)<eej_d%(1,2)
        eej_nad% = 365                              :rem "écart des années"
        if eej_d%(0,1)<3                            :rem "janvier ou février ?"
            if frac(eej_d%(0,2)/4)=0
              eej_nad% = 366                      :rem "année bisextite"
            end_if
        end_if
        eej_d%(0,1) = 2                              :rem "gérer bisextile pour les autres années
        eej_ecart% = eej_ecart% + eej_nad%          :rem "ajouter année"
        eej_d%(0,2)= eej_d%(0,2) + 1                :rem "passer à l'année suivante"
    end_while
return

rem ---------------------- routine de service à inclure aussi dans le source !
eej_eclater:
    eej_d%(eej_i%,0) = 0
    eej_d%(eej_i%,1) = 0
    eej_d%(eej_i%,2) = 0
rem    on_error_goto eej_eclater_fin
    eej_j% = instr(eej_date$,"/")
    if eej_j%>0
        eej_d%(eej_i%,0) = val(left$(eej_date$,eej_j%-1))
        eej_date$ = right$(eej_date$,len(eej_date$)-eej_j%)
        eej_j% = instr(eej_date$,"/")
        if eej_j%>0
            eej_d%(eej_i%,1) = val(left$(eej_date$,eej_j%-1))
            eej_date$ = right$(eej_date$,len(eej_date$)-eej_j%)
            eej_d%(eej_i%,2) = val(eej_date$)
        end_if
    end_if
eej_eclater_fin:
return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




ecart date Empty
MessageSujet: Re: ecart date   ecart date EmptyLun 1 Mar 2010 - 19:36

Klaus, tu es sur ton ordi toute la journée. Il faut se reposer de temps en temps et courir.
@+
courir et se reposer, je me rends compte que ce n'est pas compatible.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

ecart date Empty
MessageSujet: Re: ecart date   ecart date EmptyLun 1 Mar 2010 - 20:35

Salut, cosmos70,

Oui, je suis souvent devant l'ordinateur. Surtout tant que le temps n'est pas très agréable. J'ai la grande chance de travailler à domicile, ce qui change tout ! De plus, programmer, c'est ma passion, mon premier métier, mes études aussi, alors,ça me rappelle de bons souvenirs.

Comme tu vois, j'ai fait cette fois un programme en Panoramic. Ca change des utilitaires externes que j'ai mis en ligne ces derniers jours. Eh oui, quand on peut faireen Panoramic, on fait en Panoramic !

Au fait, c'est le troisième programme Panoramic que je publie en rapport avec les dates. Jes deux autres sont "date_add" et "jour_de_semaine". Cela commence à ressembler à une jolie collection, non ?

Allez, blaque à part, si cela peut rendre service...

Bonne soirée Klaus
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

ecart date Empty
MessageSujet: ecart date   ecart date EmptyVen 5 Mar 2010 - 16:21

Merci klaus

j'enregistre la page du forum pour étudier delà de près enfin avec plus de temps (pas d'internet à la maison).
je ne sais pas si tu collectionnes les progs de date mais moi je fais bien une fixation sur la gestion de compteur edf et d'eau....alors???....
Revenir en haut Aller en bas
Contenu sponsorisé





ecart date Empty
MessageSujet: Re: ecart date   ecart date Empty

Revenir en haut Aller en bas
 
ecart date
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Combo date : sélecteur de date
» question sur date$
» j'ai un probléme avec la cde left$(s,n)
» Date$
» Date de pérenption

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: