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
» Logiciel de planétarium.
ecart date Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
ecart date Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
ecart date Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
ecart date Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
ecart date Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
ecart date Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
ecart date Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
ecart date Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
ecart date Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
ecart date Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
ecart date Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
ecart date Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
ecart date Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
ecart date Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
ecart date Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 ecart date

Aller en bas 
3 participants
AuteurMessage
Yannick




Nombre de messages : 8635
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 : 2747
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 : 12331
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 : 12331
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 : 8635
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
-
» Date de pérenption
» Ecart en jours entre 2 dates
» question sur date$
» j'ai un probléme avec la cde left$(s,n)
» SPIN et DATE

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: