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
» select intégrés
SPIN et DATE Emptypar jjn4 Hier à 18:33

» Aide de PANORAMIC
SPIN et DATE Emptypar leclode Hier à 18:23

» PANORAMIC V 1
SPIN et DATE Emptypar Klaus Hier à 9:53

» Je teste PANORAMIC V 1 beta 1
SPIN et DATE Emptypar Klaus Hier à 9:52

» bouton dans autre form que 0
SPIN et DATE Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
SPIN et DATE Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
SPIN et DATE Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
SPIN et DATE Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
SPIN et DATE Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
SPIN et DATE Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
SPIN et DATE Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
SPIN et DATE Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
SPIN et DATE Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
SPIN et DATE Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
SPIN et DATE Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
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 : 7004
Age : 73
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 : 51
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
» min et max de SPIN
» SPIN
» 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: