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.
calendrier clicable Emptypar Klaus Ven 17 Mai 2024 - 14:02

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

» Bataille terrestre
calendrier clicable Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
calendrier clicable Emptypar Marc Sam 11 Mai 2024 - 12:38

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

» Philharmusique
calendrier clicable Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
calendrier clicable Emptypar papydall Jeu 9 Mai 2024 - 3:22

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

» number_mouse_up
calendrier clicable Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
calendrier clicable Emptypar jjn4 Mer 8 Mai 2024 - 11:16

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

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

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

» KGF_dll - nouvelles versions
calendrier clicable Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
calendrier clicable 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
Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
Voir le deal

 

 calendrier clicable

Aller en bas 
+3
Klaus
JL35
Jean Claude
7 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Jean Claude

Jean Claude


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

calendrier clicable Empty
MessageSujet: calendrier clicable   calendrier clicable EmptyVen 3 Déc 2021 - 16:41

Bonjour à tous,
j'ai sur mon bureau un calendrier perpétuel dont je me sert de plus en plus souvent
Vous le trouverez ICI
Je me permet de  vous lancer un challenge  pour me servir au quotidien.
Je souhaite avoir un calendrier perpétuel du même genre où je pourrais cliquer dans n'importe quelle cellule (jour)
pour noter mes rendez-vous chez le kiné et autres...
Je reviendrais demain pour préciser ma demande, en attendant essayez le code de JJN4 car c'est le même genre de calendrier que je souhaite.

   voici  le code que j'ai commencé pour faire moi-même cet "agenda"

Code:
' PanoAlerte.bas
' objectif:
' controler à chaque alumage de l'ordinateur
' 1) nouvel an
' 2) nouveau trimestre
' 3) nouveau mois
' 4) nouvelle semaine
' Donc Situation$="Nouvelan" ou "NouveauTrimestre" ou....

' chercher  dans le fichier "rdv.txt" ceux qui corresponde à Situation$n à chaque alumage
' vérifiezr les dates
' pour les afficher avec leur détail propre (ex: apporter carte vitale)
' pour créer une alerte la veille et le jour du rdv
' OU rappeler les dates de RDV en début de période (mois, semaine trimestre, semestre)
' il faut un formulaire de visualisation 
' il faut un formulaire de  saisie des rdv
' il faut un fichier "rdv.txt"
' contenant les dates et nom des rdv ex rdv_17/05/2021 (DateJour$|Nom$|Texte$)
' si c'est la date du jour alors on affiche  suivant Situation$
' ==============================================================================  DIM
  DIM Situation$
  DIM DateJourActuel$,NomJoursemaineActuel$,Texte$
  DIM DateJourRDV$,NomJoursemaineRDV$,TexteRDV$
  DIM a$,f$,fi$
' ============================================================================= LABEL

' ============================================================================== PROG
' PROG
InitSituation()
message NomJoursemaineActuel$+" "+date$+" Situation$="+Situation$

' ========++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++====== END_PROG
END
' ================================================================================Sous-prog
SUB InitSituation()
' renseigne Situation$ suivant date du jour en vérifiant période (mois, semaine trimestre, semestre)

 NomJoursemaineActuel$= NomJoursemaineActuel$(date_day,date_month,date_year)
' cas 1 début de semaine
 if NomJoursemaineActuel$="Lundi" then Situation$="DébutSemaine"

 END_SUB
 rem ============================================================================


FNC NomJoursemaineActuel$(jour,mois,annee)
' calcul dujour de la semaine
    dim_local wd
    if mois < 3
      wd = int(23*mois/9) +jour+4+annee+int((annee-1)/4)-int((annee-1)/100)+int((annee-1)/400)
    else
      wd = int(23*mois/9)+jour+2+annee+int(annee/4)-int(annee/100)+int(annee/400)
    end_if
    select mod(wd,7)
        case 0 : result "Dimanche"
        case 1 : result "Lundi"
        case 2 : result "Mardi"
        case 3 : result "Mercredi"
        case 4 : result "Jeudi"
        case 5 : result "Venderdi"
        case 6 : result "Samedi"
    end_select
END_FNC


ce n'est qu'une ébauche non terminé, mai les commentaires des première lignes décrivent ce que je voulais faire.
Voici également une capture d'écran du calendrier perpétuel de JJN4que j'utilise actuellement.


calendrier clicable Image_20

A plus...
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptySam 4 Déc 2021 - 13:25

Salut mon ami Jean Claude,

Pour ce que ça vaut, un calendrier que j'ai dans mes tiroirs:
Code:
LABEL Format,Genere,Clk,Edevt,Convp,Cell
DIM x0,y0,x,y,w,h,w1,h1,i,j,k,l,m1,m$(12),lm(12),js$(6),jt$(6),aa,a$,b$,c$
DIM f$,fb$,nfe,fe$(20),qpa,qas,qpe,mois%,jour%
DIM nm,mm,wf,hf,wt,ht,wm,wj,hm,hj,or%,mg,ap,sz
DIM rtmp$,revt$,wtp$,ft$,wp$,hp$
' **************************** CHEMINS À AJUSTER ******************************
  rtmp$ = "Z:\": ' répertoire de manoeuvre (fichiers temporaires)
  revt$ = "C:\TEXTES\": ' répertoire fichiers événements (créés par l'utilisateur)
  wtp$ = "C:\UTIL\WinTextPrint.exe": ' module d'impression de page A4 'Klaus'
' =============================================================================
m$(1)="JANVIER": m$(2)="FÉVRIER": m$(3)="MARS": m$(4)="AVRIL": m$(5)="MAI"
m$(6)="JUIN": m$(7)="JUILLET": m$(8)="AOÛT": m$(9)="SEPTEMBRE"
m$(10)="OCTOBRE": m$(11)="NOVEMBRE": m$(12)="DÉCEMBRE"
lm(1)=31: lm(2)=28: lm(3)=31: lm(4)=30: lm(5)=31: lm(6)=30: lm(7)=31: lm(8)=31
lm(9)=30: lm(10)=31: lm(11)=30: lm(12)=31
js$(0)="DI": js$(1)="Lu": js$(2)="Ma": js$(3)="Me": js$(4)="Je": js$(5)="Ve"
js$(6)="Sa"
jt$(0)="Dimanche": jt$(1)="Lundi": jt$(2)="Mardi": jt$(3)="Mercredi"
jt$(4)="Jeudi": jt$(5)="Vendredi": jt$(6)="Samedi"
' Fêtes fixes (moisjour,Nom)
fe$(1)="0101,J.de l'An": fe$(2)="0501,F.Travail": fe$(3)="0508,Vict.1945"
fe$(4)="0714,Fêt.Nat.": fe$(5)="1111,Arm.1918": fe$(6)="1225,NOËL"
nfe = 6: ' nombre de fêtes fixes

BORDER_SMALL 0
COLOR 0,128,255,255: FONT_SIZE 0,10: CAPTION 0,"  -  CALENDRIER  -"
PICTURE 1: 2D_TARGET_IS 1: FONT_NAME 1,"Arial": FONT_SIZE 1,12: PRINT_TARGET_IS 1
  TOP 1,32: WIDTH 1,wf: HEIGHT 1,hf: ON_CLICK 1,Clk
ALPHA 2: TOP 2,5: COLOR 2,255,255,0: CAPTION 2," Année: "
SPIN 3: TOP 3,TOP(2)-3: LEFT 3,50: WIDTH 3,55: POSITION 3,DATE_YEAR: ' Année
CONTAINER_OPTION 8: TOP 8,0: LEFT 8,LEFT(3)+WIDTH(3)+5: WIDTH 8,120
  HEIGHT 8,30: COLOR 8,255,255,220: ' Nombre de mois
OPTION 9: PARENT 9,8: TOP 9,0: LEFT 9,5: CAPTION 9,"3 mois"
OPTION 10: PARENT 10,8: TOP 10,TOP(9)+14: LEFT 10,LEFT(9): CAPTION 10,"6 mois"
  MARK_ON 10
OPTION 11: PARENT 11,8: TOP 11,TOP(9): LEFT 11,70: CAPTION 11,"1 an"
 
CONTAINER_OPTION 14: TOP 14,0: LEFT 14,LEFT(8)+WIDTH(8)+5: WIDTH 14,140
  HEIGHT 14,HEIGHT(8): COLOR 14,255,255,220: ' Mois de début
OPTION 15: PARENT 15,14: TOP 15,0: LEFT 15,5: CAPTION 15,"Janvier": MARK_ON 15
OPTION 16: PARENT 16,14: TOP 16,TOP(15)+14: LEFT 16,LEFT(15): CAPTION 16,"Avril"
OPTION 17: PARENT 17,14: TOP 17,TOP(15): LEFT 17,70: CAPTION 17,"Juillet"
OPTION 18: PARENT 18,14: TOP 18,TOP(16): LEFT 18,LEFT(17): CAPTION 18,"Octobre"

CONTAINER_OPTION 20: TOP 20,0: LEFT 20,LEFT(14)+WIDTH(14)+5: WIDTH 20,100
  HEIGHT 20,HEIGHT(8): COLOR 20,255,255,220: ' Orientation
OPTION 21: PARENT 21,20: TOP 21,0: LEFT 21,5: CAPTION 21,"A4 Portrait"
OPTION 22: PARENT 22,20: TOP 22,TOP(21)+14: LEFT 22,LEFT(21): CAPTION 22,"A4 Paysage"
  MARK_ON 22
BUTTON 27: TOP 27,4: LEFT 27,LEFT(20)+WIDTH(20)+5: WIDTH 27,30
  CAPTION 27,"OK": ON_CLICK 27,Genere
BUTTON 30: TOP 30,TOP(27): LEFT 30,LEFT(27)+WIDTH(27)+10
  CAPTION 30,"Imprimer": ON_CLICK 30,Convp
DLIST 34
EDIT 35: TOP 35,TOP(30): LEFT 35,LEFT(30)+WIDTH(30)+5: WIDTH 35,470
        COLOR 35,255,240,255: HIDE 35
BUTTON 36: TOP 36,TOP(35): LEFT 36,WIDTH(0)-70: WIDTH 36,50: CAPTION 36,"Edit Evt"
          ON_CLICK 36,Edevt
GOSUB Format
END
' =============================================================================
Format:
  ' Dessin de la grille de fond
  CLS
  or% = 0: IF CHECKED(22) = 1 THEN or% = 1
  IF or% = 0
      wf = 778: hf = 1100: ' A4 portrait
  ELSE
      wf = 1100: hf = 778: ' A4 paysage
  END_IF
  mg = 15: ' pixels, marges périphériques non imprimables (~3 mm)
  wt = wf-2*mg: ht = hf-2*mg: ' dimensions utiles (imprimables)
  WIDTH 0,wf+20: HEIGHT 0,hf+70: LEFT 36,wf-50
  WIDTH 1,wf: HEIGHT 1,hf: ' image feuille A4
  nm = 3: ' nb de mois par feuille
  IF CHECKED(10) = 1 THEN nm = 6
  IF CHECKED(11) = 1 THEN nm = 12
  wm = wt/nm: ' largeur d'un mois (pixels)
  wj = 40: IF nm = 12 THEN wj = 30: ' largeur de la partie jour à gauche
  hm = 25: hj = (ht-hm)/31: ' hauteurs rangée nom mois et rangées jours
  x0 = mg: y0 = mg
  2D_PEN_WIDTH 2: 2D_RECTANGLE x0,y0,x0+wt,y0+ht: ' encadrement total
  2D_LINE x0,y0+hm,x0+wt,y0+hm: 2D_PEN_WIDTH 1
  FOR i = 1 TO 31
      y = y0+hm+i*hj
      2D_LINE x0,y,x0+wt,y
  NEXT i
  FOR i = 0 TO nm-1
      x = x0+wm*i: 2D_PEN_WIDTH 2: 2D_LINE x,y0,x,y0+ht
      x = x+wj: 2D_PEN_WIDTH 1: 2D_LINE x,y0+hm,x,y0+ht
  NEXT i
RETURN 
' =============================================================================
Genere:
  GOSUB Format
  ' garnissage des cases
  aa = POSITION(3): ' année
  lm(2) = 28: Bisex(aa): IF bsx% = 1 THEN lm(2) = 29
  QPaques(aa): ' -> qpa, qas, qpe
  Qjm(aa,qpa): a$ = RIGHT$("0"+STR$(mois%),2)+RIGHT$("0"+STR$(jour%),2)
              fe$(7) = a$+",PÂQUES"
  Qjm(aa,qas): a$ = RIGHT$("0"+STR$(mois%),2)+RIGHT$("0"+STR$(jour%),2)
              fe$(8) = a$+",Ascension"
  Qjm(aa,qpe): a$ = RIGHT$("0"+STR$(mois%),2)+RIGHT$("0"+STR$(jour%),2)
              fe$(9) = a$+",Pentecôte"
  nfe = 9
  m1 = 1
  IF CHECKED(16) = 1 THEN m1 = 4
  IF CHECKED(17) = 1 THEN m1 = 7
  IF CHECKED(18) = 1 THEN m1 = 10
  CLEAR 34: f$ = revt$+"Evnt"+STR$(aa)+".txt"
  IF FILE_EXISTS(f$) = 1
      FILE_LOAD 34,f$: ' événements de l'année
  ELSE
      FILE_OPEN_WRITE 1,f$
      FILE_WRITELN 1,"* Fichier des événements "+STR$(aa)+", articles de la forme:"
      FILE_WRITELN 1,"*  MMJJ[espace]texte de l'événement"
      FILE_WRITELN 1,"* (plusieurs articles possibles pour une date donnée)."
      FILE_CLOSE 1
  END_IF     
  ap = 0
  FOR k = 0 TO nm-1
      mm = m1+k: IF mm > 12 THEN EXIT_FOR: ' pas de chevauchepment d'années
      FONT_SIZE 1,12: if nm = 12 THEN FONT_SIZE 1,10
      FONT_COLOR 1,0,0,0: FONT_BOLD 1     
      a$ = m$(mm)+"  "+STR$(aa): IF nm = 12 AND mm<>5 THEN a$ = m$(mm)
      i = TEXT_WIDTH(a$,1): j = (wm-i)/2: ' centrage
      PRINT_LOCATE x0+k*wm+j,y0+5: PRINT a$
      FONT_BOLD_OFF 1
      sz = 10: if nm = 12 THEN sz = 7
      FONT_SIZE 1,sz
      FOR j = 1 TO lm(mm)
          x = x0+k*wm: y = y0+hm+(j-1)*hj
          Joursem(aa,mm,j)
          a$ = js$(rs_js%)+" "+STR$(j)
          FONT_COLOR 1,0,0,0: FONT_BOLD_OFF 1
          IF rs_js%=0
              FONT_COLOR 1,164,0,0: font_bold 1: 2D_FLOOD x+wj+10,y+5,255,220,220
          END_IF
          2D_FILL_COLOR 255,255,255: PRINT_LOCATE x+3,y+3: PRINT a$
          IF COUNT(34) > 3: ' événements (en-tête = 3 lignes)
              b$ = RIGHT$("0"+STR$(mm),2)+RIGHT$("0"+STR$(j),2)
              FOR i = 4 TO COUNT(34)
                  c$ = ITEM_READ$(34,i)
                  IF LEFT$(c$,4) = b$
                      c$ = RIGHT_POS$(c$,6)
                      FONT_SIZE 1,10: FONT_COLOR 1,0,0,255
                      WHILE TEXT_WIDTH(c$,1) > (wm-wj)
                          c$ = LEFT$(c$,LEN(c$)-2)
                      END_WHILE
                      ' PRINT_LOCATE x+33,y+1: PRINT "X"
                      PRINT_LOCATE x+wj+3,y+1: PRINT c$
                      FONT_SIZE 1,sz: FONT_COLOR 1,0,0,0: FONT_BOLD_OFF 1
                  END_IF
              NEXT i
          END_IF
      NEXT j
      IF ap = 0 AND lm(mm)<31
          y = y0+ht-20: x = x0+(k)*wm+10
          FONT_COLOR 1,0,0,255: FONT_ITALIC 1
          PRINT_LOCATE x+5,y: FONT_SIZE 1,12: PRINT "cal6.bas"
          FONT_SIZE 1,sz: FONT_COLOR 1,0,0,0: FONT_ITALIC_OFF 1: ap = 1
      END_IF
  NEXT k
  FOR i = 1 TO nfe
      2d_fill_off
      a$ = fe$(i): mm = VAL(LEFT$(a$,2)): j = VAL(MID$(a$,3,2))
      a$ = RIGHT_POS$(a$,6)
      IF mm>=m1 AND mm<=(m1+nm-1)
          GOSUB Cell: PRINT_LOCATE x,y: PRINT a$
      END_IF
  NEXT i
RETURN
' =============================================================================
Clk:
  ' Clic sur une case d'un jour
  x = MOUSE_X_LEFT_DOWN(1): y = MOUSE_Y_LEFT_DOWN(1)
  IF x < x0 THEN RETURN
  IF x > (x0+wt) THEN RETURN
  IF y < (y0+hm) THEN RETURN
  IF y > (y0+ht) THEN RETURN
  x = 1+INT((x-x0)/wm): ' mois
  y = 1+INT((y-y0-hm)/hj): ' jour
  a$ = ""
  IF COUNT(34) > 0
      b$ = RIGHT$("0"+STR$(x),2)+RIGHT$("0"+STR$(y),2): ' mois/jour cliqué
      FOR i = 1 TO COUNT(34)
          c$ = ITEM_READ$(34,i)
          IF LEFT$(c$,4) = b$ THEN a$ = a$+RIGHT_POS$(c$,6)+" - "
      NEXT i
  END_IF
  Joursem(aa,x,y)
  TEXT 35," "+jt$(rs_js%)+" "+STR$(y)+" "+m$(x)+" : "+a$
  SHOW 35
RETURN
' =============================================================================
Edevt:
  f$ = revt$+"Evnt"+STR$(aa)+".txt": ' mise à jour événements
  EXECUTE_WAIT "Notepad.exe|"+f$
  CLEAR 34: FILE_LOAD 34,f$
RETURN
' =============================================================================
Convp:
  ' Module d'impression WinTextPrint de Klaus
  ' Impression d'une image de page A4, orientation or%= 0 Portrait, =1 Paysage
  ' Surface imprimée = 204 x 290 mm, centrée sur 210x29 
  ft$ = rtmp$+"Cal.bmp": FILE_SAVE 1,ft$: ' image à imprimer
  fb$ = rtmp$+"Balises.txt": ' fichier temporaire de manoeuvre 
  IF or% = 0
      wp$ = "210": hp$ = "297": a$ = "<#orientation=Portrait#>"
  ELSE
      wp$ = "297": hp$ = "210": a$ = "<#orientation=Paysage#>"
  END_IF
  FILE_OPEN_WRITE 1,fb$
    FILE_WRITELN 1,a$+" <#image="+ft$+","+STR$(-3)+","+STR$(-3)+","+wp$+","+hp$+"#>"
  FILE_CLOSE 1
  EXECUTE_WAIT wtp$+"|/file="+fb$ 
  FILE_DELETE fb$ 
RETURN
' =============================================================================
Cell:
  ' coordonnées cellule du jour j du mois mm
  x = x0+wm*(mm-m1)+wj
  y = y0+hm+(j-1)*hj
  x = x+4: y = y+1
RETURN
' =============================================================================
SUB Bisex(An)
  IF VARIABLE("bsx%") = 0 THEN DIM bsx%: ' = 1 si bissextile
  bsx% = 0: IF FRAC(An/4) = 0 AND FRAC(An/100) <> 0 THEN bsx% = 1
  IF FRAC(An/400) = 0 THEN bsx% = 1
END_SUB
' =============================================================================
SUB Joursem(Annee,Mois,Jour)
  ' Jour de la semaine d'une date donnée (0= Dimanche à 6= Samedi) -> rs_js%
  DIM_LOCAL js_d
  IF VARIABLE("rs_js%") = 0 THEN DIM rs_js%
  js_d = Annee
  IF Mois<3 THEN js_d = js_d-1
  js_d=INT(23*Mois/9)+Jour+4+Annee+INT(js_d/4)-INT(js_d/100)+INT(js_d/400)
  IF Mois>=3 THEN js_d = js_d-2
  rs_js% = js_d-7*INT(js_d/7)
END_SUB
' =============================================================================
SUB QPaques(Annee)
  ' Quantièmes de Pâques, Ascension, Pentecôte en fonction de Annee
  ' Résultats dans qpa, qas, qpe
  DIM_LOCAL a,b,c,d,e,f,g,h,i,k,l,m,bi,ci,cj,ex$
  IF VARIABLE("qpa") = 0 THEN DIM qpa
  IF VARIABLE("qas") = 0 THEN DIM qas
  IF VARIABLE("qpe") = 0 THEN DIM qpe
  bi = 0: IF FRAC(Annee/4) = 0 AND FRAC(Annee/100) <> 0 THEN bi = 1
  IF FRAC(Annee/400) = 0 THEN bi = 1
  a = 19*FRAC(Annee/19): b = INT(Annee/100): c = 100*FRAC(Annee/100)
  d = INT(b/4)
  e = 4*FRAC(b/4)
  f = INT((b + 8) / 25)
  g = INT((b - f + 1) / 3)
  h = 30*FRAC((19 * a + b - d - g + 15)/30)
  i = INT(c/4)
  k = 4*FRAC(c/4)
  l = 7*FRAC((32 + 2 * e + 2 * i - h - k)/7)
  m = INT((a + 11 * h + 22 * l) / 451)
  qpa = h + l - 7 * m + 81 + bi: qpa = INT(qpa + .1)
  ex$ = "2004,2008,2020,2024,2036,2040": ' exceptions
  IF INSTR(ex$,STR$(Annee)) > 0 THEN qpa = qpa-1
  qas = qpa + 39: qpe = qpa + 49
END_SUB
' =============================================================================
SUB Qjm(Annee,Q)
  ' Mois et jour en fonction du quantième -> mois%, jour% (définis dans l'appelant)
  DIM_LOCAL qt%,lm%,bi
  bi = 0: IF FRAC(Annee/4) = 0 AND FRAC(Annee/100) <> 0 THEN bi = 1
  IF FRAC(Annee/400) = 0 THEN bi = 1 
  mois% = 1: qt% = 31
  IF Q<32
      j% = Q
  ELSE
      WHILE Q > qt%
          mois% = mois% + 1
          IF INSTR("4,6,9,11",STR$(mois%)) > 0
              lm% = 30
          ELSE
              IF mois% = 2
                  lm% = 28 + bi
              ELSE
                  lm% = 31
              END_IF
          END_IF
          qt% = qt% + lm%
      END_WHILE
      jour% = Q - qt% + lm%
  END_IF
END_SUB
' =============================================================================
Remarques:
- Il faut adapter à ton goût les chemins en tête du programme, répertoire de panoeuvre, répertoire des fichiers événement,
et répertoire de WinTextPrint de l'ami klaus (fonction impression).
- On peut afficher un calendrier sur 3 mois, 6 mois ou 1 an
- Les événements sont contenus dans des fichiers, 1 par an, 1 ligne par événeent. On peut éditer le fichier de l'année courante
 à la demande (bouton 'Edit Evt').
 Si un événement est dans la liste il s'affiche dans sa case. on peut cliquer sur un jour quelconque, l'événement ééventuel
 s'affiche en haut, on peut en ajouter tant qu'on veut en éditant le fichier. (bouton 'Edit Evt').
- On peut imprimer l'ensemble de la feuille affichée. Perso tous les ans j'imprime 4 feiilles, 3 mois par feuille, et dans le courant
 de l'année je note les choses importantes à retenir au fur et à mesure.
calendrier clicable An110

Edit 05/12 21h30: quelques petites modifs


Dernière édition par JL35 le Dim 5 Déc 2021 - 22:11, édité 2 fois
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptySam 4 Déc 2021 - 16:53

Merci JL35,

Tu es un vrai ami,...

Je suis déjà trop fatigué pour aujourd'hui. Je vais tester demain. Je vois à l'image, et à tes commentaires, que cela correspond à ma demande.

Super, à demain Very Happy
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptySam 4 Déc 2021 - 17:34

Eh oui, ça fait un bout de temps qu'on se connait !
Le programme est loin d'être parfait, mais tu dois pouvoir l'adapter facilement à tes besoins.
Bon courage à toi Jean Claude !
Revenir en haut Aller en bas
Klaus

Klaus


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptySam 4 Déc 2021 - 17:55

Pour ma part, en utilisant KGF.dll, je peux proposer un calendrier pleine page mais dont l'espace graphique dépasse la zone visible à l'écran. Des ascenseurs gèrent cela automatiquement via mon objet ScrollPanel de KGF.dll. LE code ci-après montre ce que ça donne. On affiche par défaut l'année 2021 (puisqu'on y est...), mais un SPIN en haut de l'écran permet de choisir l'année qu'on peut. L'affichage s'adapte automatiquement, y compris la gestion des années bissextiles et des jours de semaines, les dimanches étant affichés sur fond rose.

Un  clic dans une case quelconque affiche la date correspondante - c'st juste pour montrer que la date du champ cliquée est bien identifiée.

A partir de la,je pourrais ouvrir une fenêtre montrant la liste des évènements prévus pour cette date, dans un tableau chronologique, permettre de modifier, ajouter ou supprimer des évènements et de mémoriser tout cela dans une seule et unique base de données SQLite3 (dont un export en format CSV est parfaitement listble par Excel ou n'importe quel tableur ou même éditeur de texte.

Voici le code:
Code:
' Calendrier_avec_SQLite3.bas

' Ce programme montre un calendrier pleine page dans un ScrollPanel.
' Le calendrier est dessiné dans in PICTURE placé dans le ScrollPanel.
' Les mois sont arrangés par colonnes, avec 1 case par jour.
' Un clic dans une case ouvre ne fenêtre avec le détail des évènements de la journée.
' Tous les évènements sont mémorisés dans une base SQLite3, classés par date et heure de début.

' Une barre de commande en haut permet de choisir l'année.

label close0, annee, click, click_102, click_103

dim res%, SP%, SP1%, i%, j%, jour%, mois%, ann%, bissext%, jour$(6), nj%, jrs$(6)
  jour$(0) = "Di" : jour$(1) = "Lu" : jour$(2) = "Ma" : jour$(3) = "Me"
  jour$(4) = "Je" : jour$(5) = "Ve" : jour$(6) = "Sa"
  jrs$(0) = "Dimanche" : jrs$(1) = "Lundi" : jrs$(2) = "Mardi" : jrs$(3) = "Mercredi"
  jrs$(4) = "Jeudi" : jrs$(5) = "Vendredi" : jrs$(6) = "Samedi"
dim SQL%, crit$, where$, base$, n_champs%, n_evenements%, colonnes$(5), s$, table$, err%, query$
  crit$ = " ORDER BY ID"
  where$ = ""
  base$ = "MonCalendrier.db"
colonnes$(1) = "ID"
colonnes$(2) = "Date"
colonnes$(3) = "Heure"
colonnes$(4) = "Duree"
colonnes$(5) = "Libelle"
table$ = "Evenements"     
                 
memo 1001 : hide 1001 : bar_both 1001    : ' utilisé par SQLite3 pour déposer dess résultats
memo 1011 : hide 1011 : bar_both 1011    : ' utiliser pour construire des requètes SQL


' définir la fenêtre principale
full_space 0
caption 0,"Calendrier avec SQLite3"
on_close 0,close0

dll_on "KGF.dll"

panel 1 : top 1,0 : left 1,0 : width 1,width_client(0) : height 1,40
alpha 2 : parent 2,1 : top 2,10 : left 2,10 : caption 2,"Année:"
spin 3 : parent 3,1 : top 3,10 : left 3,60 : width 3,50 : min 3,2000 : max 3,2100 : on_change 3,annee
 
SP% = dll_call1("CreateScrollPanel",handle(0))
res% = dll_call5("LocateScrollPanel",SP%,0,height(1),width_client(0),height_client(0)-height(1))

panel 4 : width 4,2430 : height 4,800

res% = dll_call4("AttachToScrollPanel",SP%,handle(4),0,0)

picture 5 : parent 5,4 : width 5,2400 : height 5,800 : on_click 5,click
2d_target_is 5 : print_target_is 5

text 3,2021
display

' définir la fenêtre des évènements d'un jour
form 100 : hide 100 : top 100,30 : left 100,20 : width 100,width_client(0)-20 : height 100,height_client(0)-40
SP1% = dll_call1("CreateScrollPanel",handle(100))
res% = dll_call5("LocateScrollPanel",SP1%,0,0,630,height_client(100))

panel 101 : top 101,0 : left 101,0 : width 101,600 : height 101,960
res% = dll_call4("AttachToScrollPanel",SP1%,handle(101),0,0)

picture 102 : parent 102,101 : top 102,0 : left 102,0 : on_click 102,click_102
  width 102,width_client(101) : height 102,height_client(101)
list 103 :  parent 103,100 : top 103,0 : left 103,630 : width 103,350 : height 103,height_client(100)
  on_click 103,click_103

tracer_picture102()


ConnecterSQLite3()
message "Vous avez actuellement "+str$(n_evenements%)+" évènements."


end

close0:
  SQL% = dll_call1("CloseSQLite3",SQL%)
  res% = dll_call0("ResetSQLite3")
  return
 
annee:
  bissext% = Bissextile%(text$(3)) 
  tracer_picture5()
  return
 
click:
  ChoixJour()
  return
 
click_102:
  ChoixHeure()
  return

click_103:
  ChoixEvenement()
  return
 
fnc Bissextile%(annee$)
  dim_local ann%, d%, d1%, d2%, r%
  r% = 0
  ann% = val(annee$)
  d% = int(ann%/4)
  if d%*4=ann%
    d1% = int(ann%/100)
    if d1%*100=ann%
      d2% = ann%/400
      if d2%*40=ann% then r% = 1
    else
      r% = 1
    end_if
  end_if
  result r%
end_fnc

fnc JourDeSemaine%(j%,m%,a%)
  dim_local r%
  ' Si m < 3 :
  '    w d = ( (23× m)/9 + d + 4 + y + (y-1)/4 - (y-1)/100 + (y-1)/400  )( mod 7 )
  ' Sinon :
  '      w d =  ( (23× m)/9 + d + 2 + y + y/4    - y/100    +  y/400    )( mod 7 )
  ' wd (weekday) est le jour de la semaine : 0 = Dimanche, 1 = Lundi, ... , 6 = Samedi.
  if m%<3
    r% = mod( int((23* m%)/9) + j% + 4 + a% + int((a%-1)/4) - int((a%-1)/100) + int((a%-1)/400) , 7 )
  else
    r% = mod( int((23* m%)/9) + j% + 2 + a% + int(a%/4)    - int(a%/100)    +  int(a%/400)    , 7 )
  end_if
  result r%
end_fnc

sub tracer_picture5()
  dim_local ann%
  hide 5
  ann% = val(text$(3))
  2d_rectangle 0,0,width(5),height(5)

  for i%=1 to 11                 
    2d_line i%*200,0,i%*200,800
  next i%
  for i%=1 to 32
    2d_line 0,i%*25,2400,i%*25
  next i%
'  font_bold 5
  font_size 5,12
  print_locate 50,5 : print "JANVIER"
  print_locate 260,5 : print "FEVRIER"
  print_locate 470,5 : print "MARS"
  print_locate 670,5 : print "AVRIL"
  print_locate 870,5 : print "MAI"
  print_locate 1070,5 : print "JUIN"
  print_locate 1250,5 : print "JUILLET"
  print_locate 1470,5 : print "AOUT"
  print_locate 1640,5 : print "SEPTEMBRE"
  print_locate 1850,5 : print "OCTOBRE"
  print_locate 2050,5 : print "NOVEMBRE"
  print_locate 2250,5 : print "DECEMBRE"
 
  for j%=0 to 11
    nj% = JourDeSemaine%(1,j%+1,ann%)
    for i%=1 to 31 
      if nj%=0
        2d_flood j%*200+100,i%*25+12,255,127,127
      else
        2d_fill_color 255,255,255
      end_if
      if i%<29
        print_locate j%*200 + 5,i%*25+5 : print right$("0"+str$(i%),2) + " " + jour$(nj%)
      else
        if j%=1
          if (i%=29) and (bissext%=1) then print_locate j%*200 + 5,i%*25+5 : print right$("0"+str$(i%),2) + " " + jour$(nj%)
        else
          if i%<31
            print_locate j%*200 + 5,i%*25+5 : print right$("0"+str$(i%),2) + " " + jour$(nj%)
          else
            if (j%=0) or (j%=2) or (j%=4) or (j%=6) or (j%=7) or (j%=9) or (j%=11)
              print_locate j%*200 + 5,i%*25+5 : print right$("0"+str$(i%),2) + " " + jour$(nj%)
            end_if
          end_if
        end_if
      end_if
      nj% = nj% + 1
      if nj%>6 then nj% = 0
    next i%
  next j%
 
  show 5
end_sub

sub tracer_picture102()
  2d_target_is 102
  print_target_is 102
  for i%=1 to 23
    2d_line 0,i%*40,width_client(102),i%*40
  next i%
  2d_line 50,0,50,height_client(102)
  for i%=0 to 23
    print_locate 5,i%*40+5
    print right$("0"+str$(i%),2)+":00"
  next i%

end_sub

sub ChoixJour()
  dim_local x%, y%, jrs%
  x% = mouse_x_left_down(5)
  y% = mouse_y_left_down(5)
  jour% = int(y%/25)
  mois% = int((x%+200)/200)
  ann% = val(text$(3))
  jrs% = JourDeSemaine%(jour%, mois%, ann%)
  if (jrs%<0) or (jrs%>6) then exit_sub
  caption 100,jrs$(jrs%)+", le "+str$(jour%)+"/"+str$(mois%)+"/"+text$(3)
  show 100
end_sub

sub ChoixHeure()
  dim_local x%, y%,heure%, Ladate$, heure$
  x% = mouse_x_left_down(102)
  y% = mouse_y_left_down(102)
  heure% = int((y%)/40)
  heure$ = right$("0"+str$(heure%),2)
  ' chercher les évnements pour jour%, mois%, ann%, heure%, déposer dans LIST 103
  LaDate$ = str$(ann%)+"/"+right$("0"+str$(mois%),2)+"/"+right$("0"+str$(jour%),2)
  query$ = "SELECT * FROM Evenements WHERE Date = ²"+LaDate$
  query$ = query$ + "² and Debut >= ²"+heure$+":00² and Debut <= ²" + heure$+":59"
  query$ = query$ + "² ORDER BY Debut"
  ' prémarer la requête
  res% = dll_call2("CompileSQLite3Script",SQL%,adr(s$))
  ' Remplissage LIST par lecture ID, date, heure et libellé de chacun des enregistrements
  clear 103
  for i%=1 to 100          : ' 100 évènements dans la même heure est fort improbable...
    res% = dll_call1("GetSQLite3NextRow",SQL%)            : ' pointer l'évènement suivant
    if res%<0 then exit_for
    ' prendre le ID
    res% = dll_call2("GetSQLite3CellText",SQL%,1)
    s$ = text$(1001)+":  "
    ' prendre la date
    res% = dll_call2("GetSQLite3CellText",SQL%,2)
    s$ = s$ + text$(1001)+", "
    ' prendre l'heure
    res% = dll_call2("GetSQLite3CellText",SQL%,3)
    s$ = s$ + text$(1001)+": "
    ' prendre le libellé
    res% = dll_call2("GetSQLite3CellText",SQL%,5)
    s$ = s$ + text$(1001)
    ' ajouter cela à la liste
    item_add 103,s$
  next i%
   
  ' finaliser la requête
  res% = dll_call1("FinalizeSQLite3Request",SQL%)     

  if count(103)=0 then message "Il n'y a pas d'évènements pour cette tranche horaire !"
               
end_sub

sub ChoixEvenement()

end_sub
 
sub ConnecterSQLite3()
  res% = dll_call0("InitializeSQLite3")
  if file_exists(base$)=0
    if message_confirmation_yes_no("Base de données absente. Voulez-vous la créer ?")<>1
      exit_sub
    end_if
    ' ici, on crée la base
    SQL% = dll_call2("OpenSQLite3",adr(base$),handle(1001))
    if SQL%=0
      message "Erreur en création du fichier !"
      exit_sub
    end_if
    clear 1011
    item_add 1011,"CREATE TABLE Evenements ([ID] INTEGER PRIMARY KEY,"
    item_add 1011," [Date] VARCHAR (50), [Heure] VARCHAR (50), [Duree] INTEGER,"
    item_add 1011," [Libelle] VARCHAR (10));"   
    res% = dll_call2("ExecuteSQLite3Script",SQL%,handle(1011))
    if res%<0
      message "Erreur en création de la base de données !"
      SQL% = dll_call1("CloseSQLite3",SQL%)
      exit_sub
    end_if
    n_evenements% = 0
    n_champs% = 5
 
  else
    SQL% = dll_call2("OpenSQLite3",adr(base$),handle(1001))
    if SQL%=0
      message "Ce fichier n'est pas une base SQLite3 valide :"
      exit_sub
    end_if
    res% = dll_call1("GetSQLite3TableNames",SQL%)
    if res%<>1
      message "Ce fichier n'est pas une base des contacts !"
      SQL% = dll_call1("CloseSQLite3",SQL%)
      exit_sub
    end_if
    if item_read$(1001,1)<>table$
      message "Ce fichier n'est pas une base des évènements - tables non conformes !"
    message text$(1001)
      SQL% = dll_call1("CloseSQLite3",SQL%)
      exit_sub
    end_if
  ' on charge la liste des colonnes de la table "Evenements"
    res% = dll_call2("GetSQLite3ColumnNames",SQL%,adr(table$))
    if res%<>5
      message "Ce fichier n'est pas une base des évènements - nombre des colonnes non conformes !"
      SQL% = dll_call1("CloseSQLite3",SQL%)
      exit_sub
    end_if
    n_champs% = res%
    err% = 0
    for i%=1 to res%
      s$ = item_read$(1001,i%)
      if instr(s$,"["+Colonnes$(i%)+"]")=0 then err% = 1
    next i%
    if err%=1
      message "Ce fichier n'est pas une base des évènements - noms des colonnes non conformes !"
      SQL% = dll_call1("CloseSQLite3",SQL%)
      exit_sub
    end_if
    n_evenements% = dll_call2("GetSQLite3RowCount",SQL%,adr(s$))
  end_if
end_sub


Dernière édition par Klaus le Dim 5 Déc 2021 - 20:34, édité 3 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyDim 5 Déc 2021 - 11:45

Merci à toi Klaus,
Je n'ai pas encore testé le code de JL35...
Aujourd'hui ça ne sera pas possible car la forme n'est pas au rendez-vous
Il va me falloir du temps et de la pêche pour vous répondre à tous les deux.
J 'espère que demain je serai en meilleur forme

A+
Revenir en haut Aller en bas
Klaus

Klaus


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyDim 5 Déc 2021 - 11:53

Y a pas d'urgence, Jean-Claude ! Pends bien soin de toi - la santé prime tout !

EDIT

J'ai complété mon code ci-dessus en y aoutant:
1. création et ouverture de la base de données SQLite3
2. petite correction dans la formule qui calcule le jour de la semaine
3. un clic dans la case d'une journée quelconque ouvre une fenêtre avec les horaires de 00:00 à 23:59 par tranches horaires

Je continue tranquillement...


Dernière édition par Klaus le Dim 5 Déc 2021 - 14:09, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyDim 5 Déc 2021 - 14:06

Dis-moi Klaus, 23:90 c'est avant ou après minuit ? Very Happy
Revenir en haut Aller en bas
Klaus

Klaus


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyDim 5 Déc 2021 - 14:09

Citation :
Dis-moi Klaus, 23:90 c'est avant ou après minuit ?
Very Happy Very Happy Very Happy  évidemment, c'est 23:59 h ! J'ai corrigé ci-dessus.

J'ai ajouté la détection de l'heure choisi dans mon code ci-dessus.

EDIT

J'ai ajouté le chargement des évènements dans une liste pour la tranche horaire cliquée.
Evidemment, pour le moment, cette liste est vide.
La prochaine version incluera la création d'un évènement dans une tranche horaire.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyLun 6 Déc 2021 - 5:53

À tous ceux qui s’intéressent à l'astronomie et autres calculs astronomiques.

Vous trouverez sur mon webdav le livre de Jean Meeus Astronomical Algorithms
qui est une référence pour les calculs astronomiques.
Vous le trouvez sous forme .zip et aussi .pdf
Le livre est écrit dans la langue de Shakespeare mais vous pouvez en tirez profit.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyLun 6 Déc 2021 - 11:57

Bonjour à tous,
@Papydall
Tu as dû te tromper de sujet Very Happy
C'est pas grave.. Je te souhaite un bon retour

@ JL35
J'ai réussi tant bien que mal, à faire fonctionner ton programme.
J' ai dépensé beaucoup d'énergie pour adapter les chemins.
Ton programme correspond bien à ma demande, mais il ne fonctionne pas correctement.
Où bien je n'ai pas compris son fonctionnemnt:
comment enregistrer le texte d'une cellule avant de fermer ou de cliquer sur le bouton édit env.

@Klaus
Je ne t'oubli pas,  Very Happy  

A+
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyLun 6 Déc 2021 - 14:10

Salut Jean Claude,
En fait, toutes les modifications, mises à jour, etc. se font en cliquant sur le bouton 'Edit Evt',
qui affiche le fichier des événements de l'année en cours et permet de le modifier et de le réécrire,

Il n'est pas prévu d'éditer une case donnée, c'est tout le fichier de l'année qui est concerné.
Le clic sur une case permet seulement de voir le contenu enregistré, pas de le modifier.
D'accord, c'est la solution de facilité...
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyLun 6 Déc 2021 - 16:34

Merci JL35

C'est dommage qu'il n'y ai pas une fenêtre par cellule.
d'autant plus dommage qu'avec ton code on est très proche de ce que je souhaite.
Mais malheureusement reprendre ton code pour l'adapter me parais mission impossible pour le moment.
En tout cas, merci.

Demain, je vais explorer la proposition de Klaus.

bientôt.
Revenir en haut Aller en bas
Klaus

Klaus


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyMar 7 Déc 2021 - 8:49

Citation :
C'est dommage qu'il n'y ai pas une fenêtre par cellule.
Si, c'est justement l'objectif. Un click dans une cellule ouvre une fenêtre donnant 24 tranches horaires, cliquables à leur tour.

La gestion de SQLite3 pour le calendrier commence à tourner. Je travaille sur l'affichage graphique des plages des évènements enregistrés...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2397
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyMar 7 Déc 2021 - 11:33

Bonjour à tous !

@Klaus
Je viens d’effectuer un test de ton calendrier en cours de développement. C’est vraiment très très bien.
C’est clair, net et très simple d’utilisation. L’accès aux évènements par un simple clic dans la case d’un jour choisi fonctionne parfaitement bien. Tout s’affiche en grand et c’est parfaitement lisible.
C’est très pro. Un grand BRAVO !

Bonne continuation pour la suite.


Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyMar 7 Déc 2021 - 11:38

J' abandonne provisoirement car c'est trop difficille pour moi.

A+
Revenir en haut Aller en bas
jjn4

jjn4


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyVen 10 Déc 2021 - 14:36

Oh, oh, mais c'est un calendrier que je connais, ça !!! Laughing
Je me disais bien que j'avais les oreilles qui sifflaient...
lol!
Désolé, cela fait un petit moment que j'avais déserté le forum...
silent
Pour ce qui est du calendrier perpétuel que j'avais fabriqué il y a longtemps déjà,
et que j'utilise chaque jour, car il est bien pratique,
je me disais quand même qu'il est bien pour un retraité, comme moi,
où il n'y a qu'un seul événement à noter chaque jour,
mais c'est vrai que j'ai depuis longtemps l'idée de le compléter
en en faisant un vrai calendrier-agenda utilisable par des gens
qui ont plusieurs choses à noter par jour.
Alors, Jean-Claude, ton idée m'intéresse, même si je ne suis pas sûr
d'être en mesure d'y ajouter toutes les consignes que tu souhaites...?
Voilà quand même un petit défi à réaliser, je ne sais pas si cela
répondra à l'utilisation que tu souhaites. A suivre...
scratch pig Suspect tongue affraid No Mad study rabbit
NOTA:
Comme je crois que je n'ai jamais publié la version que j'utilise,
vois « Calendrier perpétuel new look » pour récapituler où on en est actuellement...
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Jean Claude

Jean Claude


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyLun 3 Jan 2022 - 14:50

Merci JJN4
Je t'ai répondu => ici
il me reste à regarder celui de Klaus dès que possible.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyMar 22 Fév 2022 - 17:13

Bonjour à tous !

Pour relancer la discussion sur le calendrier perpétuel avec notes, je vous propose ma version.
Rien à voir avec les versions de JJN4 ou JL35. La mienne est minimaliste.

Elle vous donne la date du jour et permet d'avoir des notes par jour avec un affichage automatique
On clique sur le jour du mois pour le sélectionner ou on choisit dans les combos en haut le jour, le mois, ou l'année.

- Le jour sélectionné apparait sur fond jaune.
- La date du jour apparait en bleu si une note existe.
- 1 bouton en haut permet le retour à la date d'aujourd'hui.
- 2 boutons en bas pour créer ou supprimer une note.
- La sauvegarde est automatique.


Le code est ici (MAJ 26.02.2022 - 15h02) :
Spoiler:


calendrier clicable Sans_113


Dernière édition par Minibug le Sam 26 Fév 2022 - 15:34, édité 5 fois

lechat75 aime ce message

Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jean Claude

Jean Claude


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyMar 22 Fév 2022 - 17:55

Bonjour à tous,

@Minibug
Je vais le tester dès que possible.
Actuellement j'utilise la version de JJN4 dont je ne trouve plus le poste.
Ta version me parait simple d'utilisation.
A+

PS: j'ai retrouvé le poste =>https://panoramic.1fr1.net/t6693-calendrier-perpetuel-new-look
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyMer 23 Fév 2022 - 10:35

@minibug
Je viens de tester.

Il y a un problème :
j'ai fait un exécutable de ton code , je l'ai placé dans un dossier.
A l'exécution il y a bien un sous dossier "notes" qui est créé mais pas de note. Question
question comment la note est enregistrée?
A+
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyMer 23 Fév 2022 - 13:02

Bonjour Jean Claude,

Hum je pense savoir ce qui ce passe. Je regarde...

PS :
Je viens de mettre le code à jour ci-dessus.
Maintenant ça devrait mieux fonctionner.
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jean Claude

Jean Claude


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

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyMer 23 Fév 2022 - 16:41

cheers

Super Minibug ça fonctionne.
Je vais m'en servir en plus de celui de JJN4.
Ne soit pas trop pressé , il me faudra un peu de temps.
Merci.
A+
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2397
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyMer 23 Fév 2022 - 17:26

Bonjour à tous !

Beau calendrier ! Bravo Minibug ! cheers
C'est clair et net ! Belle présentation !

Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable EmptyVen 25 Fév 2022 - 16:16

Bonjour et merci à tous les 2 pour vos retours.

@ Jean Claude
Prends le temps qu'il te faut, le programme ne va pas s'envoler... Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





calendrier clicable Empty
MessageSujet: Re: calendrier clicable   calendrier clicable Empty

Revenir en haut Aller en bas
 
calendrier clicable
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Un calendrier Pop-Up en Panoramic
» Calendrier
» Un Calendrier de plus
» Calendrier perpétuel new look
» CALENDRIER PERPÉTUEL

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: