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.
SPIN et DATE Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
SPIN et DATE Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

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

» Décompilation
SPIN et DATE Emptypar JL35 Mar 12 Nov 2024 - 19:57

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

» traitement d'une feuille excel
SPIN et DATE Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
SPIN et DATE Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
SPIN et DATE Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
SPIN et DATE Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
SPIN et DATE Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
SPIN et DATE Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
SPIN et DATE Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
SPIN et DATE Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
SPIN et DATE Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
SPIN et 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
-17%
Le deal à ne pas rater :
(Black Friday) Apple watch Apple SE GPS + Cellular 44mm (plusieurs ...
249 € 299 €
Voir le deal

 

 SPIN et DATE

Aller en bas 
4 participants
AuteurMessage
Francis-mr




Nombre de messages : 186
Date d'inscription : 26/11/2012

SPIN et DATE Empty
MessageSujet: SPIN et DATE   SPIN et DATE EmptySam 9 Mar 2013 - 15:09

Bonjour à tous.
Je dépose un bout de code qui n’est qu’un exercice.
Il paraitra peut-être archaïque à certains qui, je l’espère, sauront l’optimiser.
A+
Code:
dim Jo ,Mo ,An ,J$ ,M$ ,A$ ,Bi ,Jr$ ,Ms$
label DateVal ,DateTxt ,Verif ,Err
on_error_goto Err

' ************  INITIALISATION  *************
width 0,210  :height 0,160  :left 0,(screen_x-width(0))/2  :top 0,(screen_y-height(0))/2  :border_small 0
spin 1  :left 1,85  :top 1,45  :width 1,56  :max 1,73050  :on_change 1,DateTxt
edit 2  :left 2,55  :top 2,45  :width 2,68  :text 2,date$ :on_change 2,Verif
gosub DateVal  :position 1,Jo+Mo+An  :end

' *** CALCUL VALEUR ET TEXTE DE LA DATE (Réf. 1 janvier 1901) ***
DateVal:
' Nombre de Jours dans le Mois
  Jo=val(left$(text$(2),2))
' Nombre de Jours dans les Mois avant la date
  if frac(val(right$(text$(2),4))/4)=0 then Bi=1  :else  :Bi=0
  select val(mid$(text$(2),4,2))
    case 1  :Mo=0  :Ms$=" janvier "
    case 2  :Mo=31 :Ms$=" février "
    case 3  :Mo=59+Bi  :Ms$=" mars "
    case 4  :Mo=90+Bi  :Ms$=" avril "
    case 5  :Mo=120+Bi :Ms$=" mai "
    case 6  :Mo=151+Bi :Ms$=" juin "
    case 7  :Mo=181+Bi :Ms$=" juillet "
    case 8  :Mo=212+Bi :Ms$=" août "
    case 9  :Mo=243+Bi :Ms$=" septembre "
    case 10 :Mo=273+Bi :Ms$=" novembre "
    case 11 :Mo=304+Bi :Ms$=" octobre "
    case 12 :Mo=334+Bi :Ms$=" décembre "
  end_select
' Nombre de Jours dans les années avant la date
  An=int((val(right$(text$(2),4))-1901)*365.25)
' Définition du jour de semaine
  select mid$(str$(frac(int(Jo+Mo+An)/7)+0.1),3,1)
    case 1 :Jr$="Lundi "
    case 2 :Jr$="Mardi "
    case 3 :Jr$="Mercredi "
    case 5 :Jr$="Jeudi "
    case 6 :Jr$="Vendredi "
    case 8 :Jr$="Samedi "
    case 9 :Jr$="Dimanche "
  end_select
' Affichage de la date complète
  caption 0,Jr$+left$(text$(2),2)+Ms$+right$(text$(2),4)
  return

' ***** MISE AU FORMAT TEXTE DATE "JJ/MM/AAAA" *****
DateTxt:
' Recherche de l'année
  An=int(val(text$(1))/365.25)  :A$=An+1901
' Recherche du mois et du jour
  if frac(val(right$(text$(2),4))/4)=0 then Bi=1  :else  :Bi=0
  Mo=val(text$(1))-int(An*365.25)
  if Mo>0  then M$=01  :Jo=Mo
  if Mo>31 then M$=02  :Jo=Mo-31
  if Mo>59+Bi  then M$=03  :Jo=Mo-59-Bi
  if Mo>90+Bi  then M$=04  :Jo=Mo-90-Bi
  if Mo>120+Bi then M$=05  :Jo=Mo-120-Bi
  if Mo>151+Bi then M$=06  :Jo=Mo-151-Bi
  if Mo>181+Bi then M$=07  :Jo=Mo-181-Bi
  if Mo>212+Bi then M$=08  :Jo=Mo-212-Bi
  if Mo>243+Bi then M$=09  :Jo=Mo-243-Bi
  if Mo>273+Bi then M$=10  :Jo=Mo-273-Bi
  if Mo>304+Bi then M$=11  :Jo=Mo-304-Bi
  if Mo>334+Bi then M$=12  :Jo=Mo-334-Bi
' Affichage de la date
  text 2,right$(str$(Jo+100),2)+"/"+M$+"/"+A$
  end

' ********** VERIFICATION DES SAISIES **********
Verif:
' Validité de la saisie
  if len(text$(2))<>10 then caption 0,"Date :  jj/mm/aaaa"  :end
  if numeric(left$(text$(2),2)+mid$(text$(2),4,2)+right$(text$(2),4))=0 then caption 0,"Date :  jj/mm/aaaa"  :end
' Vérification de lannée
  if val(right$(text$(2),4))<1901 then A$="1901"  :else  :A$=right$(text$(2),4)
  if val(right$(text$(2),4))>2100 then A$="2100"  :else  :A$=right$(text$(2),4)
' Vérification du mois
  if val(mid$(text$(2),4,2))<01 or val(mid$(text$(2),4,2))>12 then M$="01"  :else  :M$=mid$(text$(2),4,2)
' Vérification du jour
  if val(left$(text$(2),2))<01 then J$="01"  :else  :J$=left$(text$(2),2)
  if val(left$(text$(2),2))>31 then J$="31"
  if val(M$)=4 or val(M$)=6 or val(M$)=9 or val(M$)=11 and val(J$)>30 then J$="30"
  if val(M$)=2 and frac(val(A$)/4)=0 and val(J$)>29 then J$=29
  if val(M$)=2 and frac(val(A$)/4)>0 and val(J$)>28 then J$=28
' Validation de la saisie
  text 2,J$+"/"+M$+"/"+A$
  gosub DateVal  :position 1,Jo+Mo+An

Err:
  return
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

SPIN et DATE Empty
MessageSujet: Re: SPIN et DATE   SPIN et DATE EmptySam 9 Mar 2013 - 15:22

@Francis-mr

J’ai jeté un œil sur ton code : Ce n’est pas archaïque, au contraire c’est bien fait et c’est propre.
Continue ainsi : c’est en programmant qu’on devient programmeur.
A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Mumu




Nombre de messages : 176
Localisation : 45
Date d'inscription : 20/12/2012

SPIN et DATE Empty
MessageSujet: Re: SPIN et DATE   SPIN et DATE EmptyDim 10 Mar 2013 - 13:52

Et c'est en sciant que Léonard devint scie... !
(Mille excuses je n'ai pas pu résister)
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

SPIN et DATE Empty
MessageSujet: Re: SPIN et DATE   SPIN et DATE EmptyDim 10 Mar 2013 - 14:19

lol!
Revenir en haut Aller en bas
Contenu sponsorisé





SPIN et DATE Empty
MessageSujet: Re: SPIN et DATE   SPIN et DATE Empty

Revenir en haut Aller en bas
 
SPIN et DATE
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Combo date : sélecteur de date
» Date <-> Date julienne
» SPIN
» SPIN
» min et max de SPIN

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: