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.
Calculatrice  ‎Équinoxes et Solstices Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Calculatrice  ‎Équinoxes et Solstices Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Calculatrice  ‎Équinoxes et Solstices Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Calculatrice  ‎Équinoxes et Solstices Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Calculatrice  ‎Équinoxes et Solstices Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Calculatrice  ‎Équinoxes et Solstices Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Calculatrice  ‎Équinoxes et Solstices Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Calculatrice  ‎Équinoxes et Solstices Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Calculatrice  ‎Équinoxes et Solstices Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Calculatrice  ‎Équinoxes et Solstices Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Calculatrice  ‎Équinoxes et Solstices Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Calculatrice  ‎Équinoxes et Solstices Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Calculatrice  ‎Équinoxes et Solstices Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Calculatrice  ‎Équinoxes et Solstices Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Calculatrice  ‎Équinoxes et Solstices 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 à ne pas rater :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G Double SIM à 599€
599 €
Voir le deal

 

 Calculatrice ‎Équinoxes et Solstices

Aller en bas 
2 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Calculatrice  ‎Équinoxes et Solstices Empty
MessageSujet: Calculatrice ‎Équinoxes et Solstices   Calculatrice  ‎Équinoxes et Solstices EmptyLun 24 Juin 2019 - 4:55

Code:

rem ============================================================================
rem              Calculatrice Equinoxes et Solstices
rem ============================================================================
Init()
GUI()
end
rem ============================================================================
SUB Init()
    label clic,close  
    dim y,t,year,n19, n20, n21, n22
    dim dayStr$, hourStr$, monthStr$, dayNameStr$
    dim f%,res%, WB%, url$
    degrees
END_SUB
rem ============================================================================
SUB GUI()
    dim_local i
    width 0,700 : height 0,500
    shape 10 : shape_rectangle_rounded 10 : top 10,10 : left 10,50
    width 10,600 : height 10,30 : color 10,250,150,50
    shape 20 : shape_rectangle_rounded 20 : top 20,50 : left 20,50
    width 20,600 : height 20,400 : color 20,50,150,250
    alpha 30 : top 30,15 : left 30,200 : color 30,255,255,255 : font_color 30,0,0,255
    caption 30," Calculatrice Equinoxes et Solstices "
    application_title " Calculatrice Equinoxes et Solstices "
    alpha 40 : top 40,80 : left 40,80 : color 40,255,255,255
    font_color 40,0,0,255 : caption 40," Années valides : 1900 - 2100 "
    edit 50 : top 50,77 : left 50,340 : font_bold 50 : width 50,60 : height 50,25
    font_color 50,255,0,0 : text 50,date_year
    button 60 : top 60,80 : left 60,420  : caption 60,"&Calculer"
    button 70 : top 70,80 : left 70,520  : caption 70,"&Quitter"  

    button 80 : top 80,120 : left 80,100 : width 80,170 : caption 80,"Année &précédente"
    button 90 : top 90,120 : left 90,300 : width 90,120 : caption 90,"Cette &année"
    button 100: top 100,120 : left 100,450 : width 100,150 : caption 100,"Année &suivante"
    
    button 110 : top 110,370 : left 110,200 : caption 110,"&Infos"
    button 120 : top 120,370 : left 120,400 : caption 120,"&Vidéo" : set_focus 120
    for i = 30 to 120 step 10
        font_name i,"tahoma" : font_bold i : font_size i,12
    next i
    for i = 60 to 120 step 10 : on_click i,clic : next i
    
    shape 190 : shape_rectangle_rounded 190 : top 190,180 : left 190,90
    width 190, 520 : height 190,160 : color 190,100,250,250
    memo 200 : top 200,200 : left 200,100 : width 200,500 : height 200,120
    font_bold 200 : font_color 200,0,0,255 : font_size 200,10 : font_name 200,"tahoma"
    f% = 999 : form f% : width f%,600 : top f%,100 : height f%,400 : left f%,750
    hide f% : on_close f%,close  
END_SUB
rem ============================================================================
Clic:
    if numeric(text$(50)) = 0
       Erreur1() : text 50,date_year : Calculer() : return
    end_if
    if (val(text$(50)) < 1900) or (val(text$(50)) > 2100)
       Erreur2() : text 50,date_year : Calculer() : return
    end_if
      
    select number_click
        case 060 : Calculer()
        case 070 : if message_confirmation_yes_no("Vous voulez vraiment quitter ?") = 1 then terminate
        case 080 : text 50,val(text$(50)) - 1
                   if (val(text$(50)) < 1900) or (val(text$(50)) > 2100)
                      Erreur2() : text 50,date_year
                   end_if
        case 090 : text 50,date_year : Calculer()
        case 100 : text 50,val(text$(50)) + 1
                   if (val(text$(50)) < 1900) or (val(text$(50)) > 2100)
                      Erreur2() : text 50,date_year
                   end_if              
        case 110 : Infos()
        case 120 : url$ = "https://www.youtube.com/watch?v=gpJaalcC8k8"
                 '  url$ = "https://youtu.be/273fv8bancY"
                   Creer_Browser(url$)        
    end_select
    Calculer()
return
rem ============================================================================
Close:
    res% = dll_call1("WB_Delete",WB%)
    dll_off
    hide f%
    active 120
return
rem ============================================================================
SUB Erreur2()
    message "!!! Année non valide !!!" + chr$(13) + "Veuillez indiquer une année entre 1900 et 2100"
END_SUB
rem ============================================================================
SUB Erreur1()
    message "!!! ERREUR !!!" + chr$(13) + "Valeur numérique, SVP !"
END_SUB
rem ============================================================================
SUB Infos()
    dim_local t$
    t$ = ""
    t$ = t$ + "Equinoxes et Solstices" + chr$(13)+ chr$(13)
    t$ = t$ + "Au cours de l'année, la déclinaison du Soleil, à savoir l'angle entre le Soleil et l'équateur céleste (projection de l'équateur terrestre sur la sphère céleste)" + chr$(13)
    t$ = t$ + "varie entre +23,5° et -23,5°, qui correspondent respectivement aux latitudes des tropiques du Cancer, dans l'hémisphère nord, et du Capricorne, dans l'hémisphère sud." + chr$(13) + chr$(13)
    t$ = t$ + "Les équinoxes caractérisent les moments de l'année où la déclinaison apparente du Soleil est nulle." + chr$(13)
    t$ = t$ + "Autrement dit, le Soleil est précisément à la verticale au-dessus de l'équateur de la Terre." + chr$(13)
    t$ = t$ + "Quant aux solstices, ils définissent le passage du Soleil directement à la verticale au-dessus du tropique du Cancer ou du tropique du Capricorne," + chr$(13)
    t$ = t$ + "soit une déclinaison de + ou -23,5°." + chr$(13) + chr$(13)
    t$ = t$ + "La durée du jour, une caractéristique des équinoxes et des solstices." + chr$(13) + chr$(13)
    t$ = t$ + "Ces événements astronomiques se produisent deux fois par an et sont inversés, comme les saisons, 4 dans les hémisphères nord et sud." + chr$(13)
    t$ = t$ + "Ainsi, les équinoxes ont lieu une première fois entre le 20 et le 22 mars,une seconde fois entre le 21 et 23 septembre." + chr$(13)
    t$ = t$ + "Dans nos régions, l'équinoxe de mars est l'équinoxe de printemps (ou équinoxe vernal),celle de septembre est l'équinoxe d'automne." + chr$(13) + chr$(13)
    t$ = t$ + "Pendant les équinoxes, le Soleil se lève presque exactement à l'est et se couche presque exactement à l'ouest." + chr$(13)
    t$ = t$ + "Étant au-dessus de l'équateur, il éclaire les hémisphères nord et sud de façon symétrique sur toute sa trajectoire." + chr$(13)
    t$ = t$ + "Les équinoxes se traduisent par une durée égale du jour et de la nuit (12 h), mais en pratique, le jour reste toujours un peu plus long," + chr$(13)
    t$ = t$ + "à cause notamment de la réfraction des rayons du Soleil par l'atmosphère, ceci même après qu'il ait basculé sous l'horizon." + chr$(13) + chr$(13)
    t$ = t$ + "Les solstices se produisent une première fois le 20 ou le 21 juin, une seconde fois le 21 ou le 22 décembre. Dans nos régions, le solstice de juin marque le solstice d'été." + chr$(13)
    t$ = t$ + "Le Soleil passe au zénith au-dessus du tropique du Cancer et éclaire l'hémisphère nord pendant une durée maximale : c'est donc le jour le plus long de l'année pour cette partie du globe." + chr$(13)
    t$ = t$ + "Le solstice de décembre correspond quant à lui au solstice d'hiver et au jour le plus court."    
    message t$
END_SUB
rem ============================================================================
SUB Creer_Browser(url$)
    show f%
    inactive 120
    dll_on "kgf" : ' <----  Adapter le chemin
    WB% = dll_call1("WB_Create",handle(f%))
    res% = dll_call5("WB_Locate",WB%,20,20,width_client(f%)-50,height_client(f%)-50)
    res% = dll_call2("WB_Url",WB%,adr(url$))    
END_SUB
rem ============================================================================
SUB Calculer()
    year = val(text$(50))
    ComputeSeasons(year)    
END_SUB
rem ============================================================================
SUB ComputeSeasons(year)
    clear 200  
    y = (year - 2000) / 1000
    item_add 200, string$(14,"*") + " DATES DES SAISONS POUR L'ANNEE " + str$(year) + " " + string$(14,"*")
    item_add 200,""
    item_add 200, "  Solstice du Printemps  :   "     + Spring$() + " TU"
    item_add 200, "  Equinoxe d'Eté ........... :   " + Summer$() + " TU"
    item_add 200, "  Solstice d'Automne .... :  "     + Autumn$() + " TU"
    item_add 200, "  Equinoxe d'Hiver ........ :   "  + Winter$() + " TU"    
END_SUB
rem ============================================================================
FNC s()
    dim_local x
    x = 485*cos(324.96 + 1934.136*T)
    x = x + 203*cos(337.23 + 32964.467*T)
    x = x + 199*cos(342.08 + 20.186*T)
    x = x + 182*cos(27.85  + 445267.112*T)
    x = x + 156*cos(73.14  + 45036.886*T)
    x = x + 136*cos(171.52 + 22518.443*T)
    x = x + 77*cos(222.54  + 65928.934*T)
    x = x + 74*cos(296.72  + 3034.906*T)
    x = x + 70*cos(243.58  + 9037.513*T)
    x = x + 58*cos(119.81  + 33718.147*T)
    x = x + 52*cos(297.17  + 150.678*T)
    x = x + 50*cos(21.02   + 2281.226*T)
 
    x = x + 45*cos(247.54  + 29929.562*T)
    x = x + 44*cos(325.15  + 31555.956*T)
    x = x + 29*cos(60.93   + 4443.417*T)
    x = x + 18*cos(155.12  + 67555.328*T)
 
    x = x + 17*cos(288.79  + 4562.452*T)
    x = x + 16*cos(198.04  + 62894.029*T)
    x = x + 14*cos(199.76  + 31436.921*T)
    x = x + 12*cos(95.39   + 14577.848*T)
    x = x + 12*cos(287.11  + 31931.756*T)
    x = x + 12*cos(320.81  + 34777.259*T)
    x = x + 9*cos(227.73   + 1222.114*T)
    x = x + 8*cos(15.45    + 16859.074*T)
 
    result x
END_FNC
rem ============================================================================
FNC March()
    dim_local w,dl,JDE0,marchT
    JDE0 = 2451623.80984 + 365242.37404*y + 0.05169*y*y  - 0.00411*y*y*y - 0.00057*y*y*y*y
    T = (JDE0 - 2451545.0)/36525.0
    W = 35999.373*T - 2.47
    dL = 1.0 + 0.0334*cos(W) + 0.0007*cos(2*W)
    marchT =  JDE0 + (0.00001*S())/dL - (66.0 + (year-2000)*1.0)/86400.0    
    result marchT
END_FNC
rem ============================================================================
FNC June()
    dim_local w,dl,JDE0,juneT
    JDE0 = 2451716.56767 + 365241.62603*y + 0.00325*y*y  + 0.00888*y*y*y - 0.00030*y*y*y*y
    T = (JDE0 - 2451545.0)/36525.0
    W = 35999.373*T - 2.47
    dL = 1.0 + 0.0334*cos(W) + 0.0007*cos(2*W)
    juneT = JDE0 + (0.00001*S())/dL - (66.0 + (year-2000)*1.0)/86400.0
    result juneT
END_FNC
rem ============================================================================
FNC September()
    dim_local w,dl,JDE0,septemberT
    JDE0 = 2451810.21715 + 365242.01767*y - 0.11575*y*y  + 0.00337*y*y*y + 0.00078*y*y*y*y
    T = (JDE0 - 2451545.0)/36525.0
    W = 35999.373*T - 2.47
    dL = 1.0 + 0.0334*cos(W) + 0.0007*cos(2*W)
    septemberT = JDE0 + (0.00001*S())/dL - (66.0 + (year-2000)*1.0)/86400.0
    result septemberT
END_FNC
rem ============================================================================
FNC December()
    dim_local w,dl,JDE0,decemberT
    JDE0 = 2451900.05952 + 365242.74049*y - 0.06223*y*y  - 0.00823*y*y*y + 0.00032*y*y*y*y
    T = (JDE0 - 2451545.0)/36525.0
    W = 35999.373*T - 2.47
    dL = 1.0 + 0.0334*cos(W) + 0.0007*cos(2*W)
    decemberT = JDE0 + (0.00001*S())/dL - (66.0 + (year-2000)*1.0)/86400.0
    result decemberT
END_FNC
rem ============================================================================
SUB Caldat(JD)
    dim_local hour,day,month,year
    dim_local b,c,d,e,f,jd0,diff,mn,st$
    JD0 = int(JD + 0.5)
    B = int((JD0-1867216.25)/36524.25)
    C = JD0 + B - int(B/4) + 1525.0
    D = int((C-122.1)/365.25)
    E = 365.0*D + int(D/4)
    F = int((C-E)/30.6001)
    day = int(C-E+0.5) - int(30.6001*F)
    dayStr$ = "" + str$(day)

    if day < 10 then dayStr$ = " " + dayStr$
    month = f - 1 - 12 * int(f/14)
    year = D - 4715 - int((7+month)/10)
    hour = 24.0*(JD + 0.5 - JD0)
    diff = abs(hour) - int(abs(hour))
    mn = int((diff*60.0)+0.5)
    if mn = 60 then mn = 0 : hour = hour + 1
    if mn > 9 then st$ = ":" : else : st$ = ":0"
    hourStr$ = str$(int(hour)) + st$ + str$(mn)
    if int(hour) < 10 then hourStr$ = " " + hourStr$
    monthStr$ = MonthString$(month)
    dayNameStr$ = DayString$(JD)

END_SUB
rem ============================================================================
FNC MonthString$(m)
    dim_local monthArray$(12)
    monthArray$(0)  = "Janvier"   : monthArray$(1)  = "Février"
    monthArray$(2)  = "Mars"      : monthArray$(3)  = "Avril"
    monthArray$(4)  = "Mai"       : monthArray$(5)  = "Juin"
    monthArray$(6)  = "Juillet"   : monthArray$(7)  = "Août"
    monthArray$(8)  = "Septembre" : monthArray$(9)  = "Octobre"
    monthArray$(10) = "Novembre"  : monthArray$(11) = "Décembre"
    if m < 1
       result "mois = " + str$(m)
    else
       result monthArray$(m-1)
    end_if
END_FNC
rem ============================================================================
FNC DayString$(JD)
    dim_local num,dayArray$(8)
    dayArray$(1) = "Lundi" :  dayArray$(2) = "Mardi"
    dayArray$(3) = "Mercredi" : dayArray$(4) = "Jeudi"
    dayArray$(5) = "Vendredi" : dayArray$(6) = "Samedi"
    dayArray$(7) = "Dimanche"
    num = int(jd + 0.5)
    num = num - int(num/7)*7 + 1
    result dayArray$(int(num))
END_FNC
rem ============================================================================
FNC Spring$()
    Caldat(march())
    if dayStr$ = "19" then n19 = n19 + 1
    if dayStr$ = "20" then n20 = n20 + 1
    if dayStr$ = "21" then n21 = n21 + 1
    if dayStr$ = "22" then n22 = n22 + 1
    result dayNameStr$ + ", " + dayStr$ +" " + monthStr$ + " " + str$(year) + " à " + hourStr$    
END_FNC
rem ============================================================================
FNC Summer$()
    Caldat(june())
    result dayNameStr$ + ", " + dayStr$ +" " + monthStr$ + " " + str$(year) + " à " + hourStr$
END_FNC
rem ============================================================================
FNC Autumn$()
    Caldat(september())
    result dayNameStr$ + ", " + dayStr$ +" " + monthStr$ + " "  + str$(year)+ " à " + hourStr$
END_FNC
rem ============================================================================
FNC Winter$()
    Caldat(december())
    result dayNameStr$ + ", " + dayStr$ +" " + monthStr$ + " "  + str$(year)+ " à " + hourStr$    
END_FNC
rem ============================================================================
rem &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& FIN &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Calculatrice  ‎Équinoxes et Solstices Empty
MessageSujet: Re: Calculatrice ‎Équinoxes et Solstices   Calculatrice  ‎Équinoxes et Solstices EmptyLun 24 Juin 2019 - 9:13

Bravo Papydall,

L' info est utile pour les novices Very Happy

Le FORM pour la vidéo peut-être passé en plein écran et c'est bien, mais l'objet HVIEWER ne suit pas et n'est pas "redimensionnable". Ce qui serait top, c'est qu'il suive la taille du FORM.

A+
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Calculatrice  ‎Équinoxes et Solstices Empty
MessageSujet: Re: Calculatrice ‎Équinoxes et Solstices   Calculatrice  ‎Équinoxes et Solstices EmptyLun 24 Juin 2019 - 16:22

Hello Jean Claude.

Jean Claude a écrit:
Le FORM pour la vidéo peut-être passé en plein écran et c'est bien, mais l'objet HVIEWER ne suit pas et n'est pas "redimensionnable". Ce qui serait top, c'est qu'il suive la taille du FORM.

Je tiens à préciser que le FORM pour la vidéo n’est pas un HVIEWER, mais un BROWSER accessible via la KGF.DLL de l’ami Klaus.
Rappel : Un Web browser désigne en fait un logiciel informatique qui permet de "parcourir" l'Internet. En français on parle de navigateur Internet.

Maintenant pour  le faire passer en plein écran et la vidéo s’adapte à l’espace, il suffit de faire en ligne 48 :

Code:

Full_space f%


En remplacement de :
Code:

width f%,600 : top f%,100 : height f%,400 : left f%,750


De cette façon la vidéo s’affichera en plein écran et pour revenir à la fenêtre du programme, il suffit de fermer le browser par la croix rouge.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Calculatrice  ‎Équinoxes et Solstices Empty
MessageSujet: Re: Calculatrice ‎Équinoxes et Solstices   Calculatrice  ‎Équinoxes et Solstices Empty

Revenir en haut Aller en bas
 
Calculatrice ‎Équinoxes et Solstices
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Calculatrice spéciale
» Calculatrice
» Calculatrice 8 bits, complément à 2
» AND OR XOR : calculatrice 8 bits
» Une calculatrice parlante

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: