Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| un petit planning | |
| | Auteur | Message |
---|
Invité Invité
| Sujet: un petit planning Mar 21 Avr 2015 - 0:36 | |
| Je viens de créer un petit planning. La conception finale est vraiment différente du projet de départ, vu que je ne savais pas trop comment le présenter. Au lancement, le programme constitue un fichier dans un répertoire: C:\PLAN\, à vous de modifier. Pour ajouter un événement, il faut choisir à droite le mois, le jour et l'heur. Ensuite on ajoute avec le bouton. En haut dans l'edit, l'heure est présentée, reste à remplir.l'événement, et on valide. On peut mettre autant d'événement dans une journée avec le même processus. Ceux-ci se remplissent dans le list du haut. Un clic sur un item de celui-ci est décomposé dans le list du bas. Un clic dans un des items du bas est reporté dans l'edit du haut. Ainsi il peut être modifié ou supprimé. En se déplaçant de mois en mois, le list de gauche montre pour chacun d'eux les événements qui ont été créés. - Code:
-
rem ============================================================== rem ' PLANNING par cosmos70 rem ============================================================== rem
height 0,850 : width 0,1000 : color 0,238,238,255 label mois , valide , supprime , retire , moins , plus , an , jour_du_mois , heure_du_jour , ajouter label clic20 dim a%,a$,mois$,an$,jour$,f$,dir$, b% , clic% ,larg%,l% , b$ , v% dim an,j%(15) ,sem$ , s% , mont$(15), m% , m1% , jour% , mois , annee dim i%,k$ , clic20% sem$ = " LuMaMeJeVeSaDi" : mois=4
read annee : an = annee
for a% = 1 to 12: read j%(a%):next a% : if int(an/4) = an/4 then j%(2) = 29 read s%
for a% = 1 to 12: read a$:mont$(a%) = a$ : next a%
dir$ = "C:\PLAN\" : if dir_exists(dir$) = 0 then dir_make dir$ f$ = "planning.txt"
alpha 5 : top 5,05:font_bold 5 : font_size 5,12:color 5,216,0,83:font_color 5,255,255,0 edit 6 : top 6,30:font_bold 6 : font_size 6,10:color 6,216,226,83:width 6,880 button 7: top 7,70:caption 7,"validez" : left 7,10:on_click 7,valide button 8: top 8,70:caption 8,"supprimez": left 8,110:on_click 8,supprime button 9: top 9,70:caption 9,"retirez" : left 9,220:on_click 9,retire:hint 9,"retire les dates au dessus du curseur"
list 1:top 1,100:width 1,600:height 1,500:font_size 1,10:font_bold 1:font_name 1,"Consolas":on_click 1,mois list 2:top 2,645:width 2,800:left 2,000:height 2,160:font_size 2,10:font_bold 2:font_name 2,"Consolas" :on_click 2,clic20 dlist 3:' top 3,680:width 3,200:left 3,700 hint 1,"List événements prévus du mois" : hint 2,"Décomposition des événement d'une journée"+chr$(13)+"Cliquer sur un item pour modifier ou supprimer" button 4:top 4,70:left 4,600:caption 4,"<<":width 4,30:font_size 4,12:font_bold 4 :on_click 4,moins button 10:top 10,70:left 10,765:caption 10,">>":width 10,30:font_size 10,12:font_bold 10 :on_click 10,plus
alpha 11:top 11,70:left 11,650 :font_size 11,12:font_bold 11 spin 12:top 12,70:left 12,800 :font_size 12,12:font_bold 12 :min 12,2015:max 12,2019:width 12,80 :position 12,an:color 12,238,238,255:on_click 12,an ' 185 list 13:top 13,100:left 13,610:height 13,540:width 13,60 :font_size 13,8:font_bold 13:font_name 13,"Consolas":font_underline 13 list 14:top 14,100:left 14,690:height 14,540:width 14,60 :font_size 14,8:font_bold 14:font_name 14,"Consolas":font_underline 14 hint 13,"Evénement d'un jour à ajouter dans le mois" : hint 14,"Heure de l'événement à ajouter" on_click 13,jour_du_mois : on_click 14,heure_du_jour
Alpha 15:top 15,120:left 15,760:font_size 15,12:color 15,216,0,83:font_color 15,255,255,0 :' jour Alpha 16:top 16,120:left 16,830:font_size 16,12:color 16,216,0,83:font_color 16,255,255,0 :' heure button 17:top 17,150:left 17,790:caption 17,"Ajouter":on_click 17,ajouter :hint 17,"Ajoute un événement au jour et l'heure prévue"
' memo 18:top 18,300:left 18,765:width 18,200:height 18,240:font_size 18,10 ' ............... mois = val( mid$(date$,4,2))
caption 11,mont$(mois) : position_42() position 12,an
jour%=s% if file_exists(dir$+f$) = 0 for b% = 1 to 2 :' plus il y a d'année, et plus le remplacement dans la liste est long m% = 1 : m1%=1
if int(an/4) = an/4 then j%(2) = 29 i%=0:for a% = 1 to 12:i% = i%+j%(a%):next a%
for a% = 1 to i% a$ =mid$(sem$,jour%*2,2)+" " a$ = a$ + right$("0"+str$(m1%),2)+" " a$ = a$ + mont$(m%) +" " + str$(an) : item_add 3,a$ +"|" jour%= jour%+1:if jour%=8 then jour%=1
m1% = m1%+1 if m1% > j%(m%) :' si le jours plus > que le mois m% = m%+1 : if m%> 12 then exit_for m1%=1 end_if next a% an = an+1 next b% file_save 3,dir$+f$ else file_load 3,dir$+f$ end_if
an = val(right$(date$,4)) mois() : mois_entier() ' ...... for a% = 6 to 22 a$ = right$("0"+str$(a%),2)+"h" item_add 14,a$+"00 " item_add 14,a$+"30 " next a%
END
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& clic20: if item_index(2) > 0 clic20% = item_index(2) text 6,item_read$(2,clic20%) : clic%=0 end_if return -------------------------------- ' quand on appel mois: mois: if item_index(1) > 0 a$ = item_index$(1) :clic% = item_index(1) ' Me 15 |[17h00]coincer la bulle\[18h30]prendre son pied\[19h00]se la couler douce ' ^^^^^^ ' pour le mois, il faut voir avec 5 ou an, le mois est explicite en 1 ' on devrait avoir : -->Je 15|[12h00]texte1\[13h00]texte 2 ... caption 15,"" : caption 16,"" an$=str$(an) :mois$ = caption$(11):jour$=mid$(a$,4,2) caption 5," "+left$(a$,6)+mois$+" "+an$+" " text 6,right_pos$(a$,8) report() end_if return
sub report() a$ = text$(6) : clear 2 if instr(a$,"|[") > 0 then a$ = right_pos$(a$,instr(a$,"|")+1) while instr(a$,"\") > 0 item_add 2,left$(a$,instr(a$,"\")-1) a$ = right_pos$(a$,instr(a$,"\")+1) if scancode = 27 then exit_while end_while item_add 2,a$ : sort 2 end_sub --------------------------------
valide: a$ = trim$(caption$(5))+"|"+ text$(6)
if clic20% > 0 then item_delete 2,clic20%
if clic%=0 and item_index(13) > 0 if count(1) > 0 for a% = 1 to count(1) b$ = left$(item_read$(1,a%),5) if b$ = left$(item_index$(13),5) then clic% = a% : exit_for next a% else clic%=0 end_if end_if ' -------------------------- if instr(text$(6),"\") > 0 clear 2 repeat v% = instr(text$(6),"\") if v%> 0 then item_add 2,left$(text$(6),v%-1) : text 6,right_pos$(text$(6),v%+1) until v% = 0 item_add 2,text$(6) : sort 2 else ' ------------------------------------------------------ ' évènement seul ou a ajouter if count(2) > 0 ' controle si doublon for a% = 1 to count(2) if item_read$(2,a%) = text$(6) then exit_for :' déjà écrit next a%
if a% > count(2) then item_add 2,text$(6) : sort 2 else item_add 2,text$(6) end_if end_if
a$ = trim$(caption$(5))+"|" if count(2)>0 for a% = 1 to count(2) if a% > 1 then a$ = a$ + "\" a$ = a$ + item_read$(2,a%) next a% end_if
k$ = left$(a$,6) + right_pos$(a$,instr(a$,"|"))
if clic% > 0 item_delete 1,clic% : item_insert 1,clic%,k$ else item_add 1,k$ end_if
for a% = 1 to count(3) k$ = item_read$(3,a%) : k$ = left$(k$,instr(k$,"|")-1) if k$ = trim$(caption$(5)) then item_delete 3,a% : item_insert 3,a%,a$ next a% text 6,right_pos$(a$,instr(a$,"[")) report() file_save 3,dir$+f$ return -------------------------------- supprime: if item_index(1) > 0 then l% = item_index(1) :' si on a validé avant, if instr(text$(6),"\") > 0 then message "trop de données à supprimer!" : return ' ici on regarde si il y a égalité entre chaque item de 2, et texte de 6, sinon on enlève quoi? if count(2) > 0 for a% = count(2) to 1 step -1 if text$(6) = item_read$(2,a%) then item_delete 2,a% : exit_for next a% end_if
if count(1) > 0 for a% = 1 to count(1) if left$(item_read$(1,a%),6) = left$(text$(6),6) then item_delete 1,a% : exit_for next a% end_if a$ = trim$(caption$(5)) : b$ = a$ a$ = a$ + "|" if count(2) > 0 sort 2 for a% = 1 to count(2) if a% > 1 then a$=a$+"\" a$ = a$ + item_read$(2,a%) next a% end_if
l% = 0 for a% = 1 to count(3) k$ = item_read$(3,a%) : k$ = left$(k$,instr(k$,"|")-1) for i% = 1 to 12 if k$ = b$ l% = a% exit_for end_if next i% if l% = a% item_delete 3,l% item_insert 3,l%,a$ exit_for end_if next a% text 6,right_pos$(a$,instr(a$,"|")+1) report() : mois_entier() file_save 3,dir$+f$
clic%=0 return -------------------------------- retire: if clic% > 0 if message_confirmation_yes_no("Etes-vous sûre de vouloir supprimer les lignes"+chr$(13)+"jusqu'à la ligne cliquée?")=1 for b% = 1 to clic%:item_delete 1,1:next b% file_save 3,dir$+f$ end_if end_if return -------------------------------- moins: mois = mois -1 : if mois < 1 then mois = 12 : an=an-1 if an < 2015 message "hors année: "+ str$(an) else position 12,an end_if clear 2 : text 6,"" : caption 5,"" : caption 15,"" : caption 16,"" caption 11,mont$(mois) : position_42() mois_entier() mois() return -------------------------------- plus: mois = mois +1 : if mois = 13 then mois = 1 : an=an+1 if an > 2019 message "hors année: "+ str$(an) else position 12,an end_if clear 2 : text 6,"" : caption 5,"" : caption 15,"" : caption 16,"" caption 11,mont$(mois) : position_42() mois_entier() mois() return -------------------------------- sub position_42() larg%=text_width(caption$(11),11) : l% = 700-larg%/2 : left 11,l%-5 end_sub -------------------------------- an: an = position(12) mois() : mois_entier() return -------------------------------- sub mois() dim_local flag clear 13 if count(3) > 0 for a% = 1 to count(3) a$ = item_read$(3,a%) :' "Je 01 janvier 2015|" ou "Je 01 janvier 2015|[08h30]teste\[*****].... k$ = left$(a$,instr(a$,"|")-1) k$=right$(k$,4) if instr(a$,caption$(11)) > 0 and val(k$) = an item_add 13,left$(a$,5)+" " : flag = 1 else if flag=1 then exit_for end_if next a% end_if end_sub -------------------------------- sub mois_entier() clear 1 : m1%= 1 for a% = 1 to count(3) k$ = item_read$(3,a%) : a$ = left$(k$,instr(k$,"|")-1):' "Je 01 janvier 2015|"-->"Je 01 janvier 2015" ' ^^^^^^^^^^^^^^^^^^ if val(right$(a$,4)) = an if instr(a$,mont$(mois)) > 0 v% = instr(k$,"|") if right_pos$(k$,v%+1) <> "" item_add 1,left$(a$,6) + right_pos$(k$,instr(k$,"|")) end_if m1%=m1%+1 end_if end_if next a%
end_sub -------------------------------- jour_du_mois: caption 15,item_index$(13) : text 6,"" caption 5," "+ trim$(caption$(15)) +" " + trim$(caption$(11)) +" "+str$(an)+" " clic% = 0 : clic20%=0 return -------------------------------- heure_du_jour: caption 16,item_index$(14) clic20%=0 return -------------------------------- ajouter: a$ ="[" + trim$(caption$(16)) + "]" : text 6,a$ set_focus 6 : caret_position 6,len(a$) return ================================================================ data 2015,31,28,31,30,31,30,31,31,30,31,30,31,4 data janvier,"février",mars,avril,mai,juin,juillet,"août",septembre,octobre,novembre,"décembre"
A partir de cela j'ai pensé qu'il devrait être possible de faire le programme pour l'utiliser sur une tablette. Pour ce faire, j'ai du tout renuméroté les objets car il y a une limite à ceci. Au dire de Jack dans une communication avec Jicehel, il avait dit qu'une version avec 20 objets était sur son webdav. Lorsque j'ai fait les essais, que nenni, à 11, le programme plante. J'ai du tout reconsidérer, car ce programme était interessant pour moi pour l'avoir avec moi. Voic cette 2ème version normalement prévu pour androide: - Code:
-
if 1=2 clic20: if item_index(2) > 0 clic20% = item_index(2) text 6,item_read$(2,clic20%) : clic%=0 end_if return -------------------------------- sub caption5() ' 2d_fill_color 0,0,0 : 2d_rectangle 0,0,200,50 ' 2d_pen_color 255,0,0 : font_size 8,12 : font_bold 8 : font_color 8,255,0,0 ' print_locate 5,10: print capt5$
end_sub ' sub caption11() ' 2d_fill_color 0,0,0 : 2d_pen_color 255,0,0 : 2d_rectangle 650,70,774,100 ' font_size 8,12 : font_bold 8 : font_color 8,255,255,0 ' print_locate 660,70: print " " + capt11$ + " " end_sub
sub caption15() ' 2d_fill_color 0,0,0 : 2d_rectangle 580,120,655,145 ' 2d_fill_color 0,0,0 : 2d_pen_color 255,0,0 : font_size 8,12 : font_bold 8 : font_color 8,255,0,0 ' print_locate 590,120: print capt15$ end_sub
sub caption16() ' 2d_fill_color 0,0,0 : 2d_rectangle 770,120,850,145 ' 2d_fill_color 0,0,0 : 2d_pen_color 255,0,0 : font_size 8,12 : font_bold 8 : font_color 8,255,0,0 ' print_locate 775,120: print capt16$ end_sub
' quand on appel mois: mois: a$ = "" if item_index(1) > 0 a$ = item_index$(1) :clic% = item_index(1) capt15$ = "" : caption15() capt16$ = "" : caption16() an$=str$(an) :mois$ = capt11$
jour$=mid$(a$,4,2) capt5$= " "+left$(a$,6)+mois$+" "+an$+" " :caption5()
text 6,right_pos$(a$,8) report() end_if return
sub report() a$ = text$(6) : clear 2 if instr(a$,"|[") > 0 then a$ = right_pos$(a$,instr(a$,"|")+1) while instr(a$,"\") > 0 item_add 2,left$(a$,instr(a$,"\")-1) a$ = right_pos$(a$,instr(a$,"\")+1) if scancode = 27 then exit_while end_while item_add 2,a$ end_sub --------------------------------
valide: a$ = trim$(capt5$)+"|"+ text$(6)
if clic20% > 0 then item_delete 2,clic20% if clic%=0 and item_index(4) > 0 if count(1) > 0 for a% = 1 to count(1) :' si on a pas b$ = left$(item_read$(1,a%),5) if b$ = left$(item_index$(4),5) then clic% = a% : exit_for next a% else clic%=0 end_if end_if ' -------------------------- if instr(text$(6),"\") > 0 clear 2 repeat v% = instr(text$(6),"\") if v%> 0 then item_add 2,left$(text$(6),v%-1) : text 6,right_pos$(text$(6),v%+1) until v% = 0 item_add 2,text$(6) : sort 2 else ' ------------------------------------------------------ ' évènement seul ou a ajouter if count(2) > 0 ' controle si doublon for a% = 1 to count(2) if item_read$(2,a%) = text$(6) then exit_for :' déjà écrit next a%
if a% > count(2) then item_add 2,text$(6) : sort 2 else item_add 2,text$(6) end_if end_if
a$ = trim$(capt5$)+"|" if count(2)>0 for a% = 1 to count(2) if a% > 1 then a$ = a$ + "\" a$ = a$ + item_read$(2,a%) next a% end_if
k$ = left$(a$,6) + right_pos$(a$,instr(a$,"|"))
if clic% > 0 item_delete 1,clic% : item_insert 1,clic%,k$ else item_add 1,k$ end_if
for a% = 1 to count(3) k$ = item_read$(3,a%) : k$ = left$(k$,instr(k$,"|")-1) if k$ = trim$(capt5$) then item_delete 3,a% : item_insert 3,a%,a$ next a% text 6,right_pos$(a$,instr(a$,"[")) report() file_save 3,dir$+f$ return -------------------------------- supprime: if item_index(1) > 0 then l% = item_index(1) if instr(text$(6),"\") > 0 then message "trop de données à supprimer!" : return ' ici on regarde si il y a égalité entre chaque item de 2, et texte de 6, sinon on enlève quoi? if count(2) > 0 for a% = count(2) to 1 step -1 if text$(6) = item_read$(2,a%) then item_delete 2,a% : exit_for next a% end_if
if count(1) > 0 for a% = 1 to count(1) if left$(item_read$(1,a%),6) = left$(text$(6),6) then item_delete 1,a% : exit_for next a% end_if a$ = trim$(capt5$) : b$ = a$ a$ = a$ + "|" if count(2) > 0 for a% = 1 to count(2) if a% > 1 then a$=a$+"\" a$ = a$ + item_read$(2,a%) next a% end_if l% = 0 for a% = 1 to count(3) k$ = item_read$(3,a%) : k$ = left$(k$,instr(k$,"|")-1) for i% = 1 to 12 if k$ = b$ l% = a% exit_for end_if next i% if l% = a% item_delete 3,l% item_insert 3,l%,a$ exit_for end_if next a% text 6,right_pos$(a$,instr(a$,"|")+1) report() : mois_entier() file_save 3,dir$+f$
clic%=0 return -------------------------------- retire: ' après les modification, à controler pour clic%, si c'est encore le cas if clic% > 0 if message_confirmation_yes_no("Etes-vous sûre de vouloir supprimer les lignes"+chr$(13)+"jusqu'à la ligne cliquée?")=1 for b% = 1 to clic%:item_delete 1,1:next b% ' file_save 1,dir$+f$ end_if end_if return -------------------------------- moins: mois = item_index(9)
clear 2 : text 6,"" capt5$ = "" : caption5() capt15$ = "" : caption15() capt16$ = "" : caption16() capt11$ = mont$(mois) : caption11() position_42() mois_entier() mois() return -------------------------------- plus: mois = mois +1 : if mois = 13 then mois = 1 : an=an+1 if an > 2016 message "hors année: "+ str$(an) else position 7,an end_if clear 2 : text 6,"" : capt5$="" : caption5() capt15$ = "" : caption15() capt16$ = "" : caption16() capt11$ = mont$(mois) : caption11() position_42() mois_entier() mois() return -------------------------------- sub position_42() ' font_size 8,12 : font_bold 8 ' larg%=text_width(capt11$,8) ' l% = 700-larg%/2 : ' left 11,l%-5 end_sub -------------------------------- an: an = val(item_index$(7)) mois() : mois_entier() return -------------------------------- sub mois() dim_local flag clear 4 if count(3) > 0 for a% = 1 to count(3) a$ = item_read$(3,a%) :' "Je 01 janvier 2015|" ou "Je 01 janvier 2015|[08h30]teste\[*****].... k$ = left$(a$,instr(a$,"|")-1) k$=right$(k$,4) if instr(a$,capt11$) > 0 and val(k$) = an item_add 4,left$(a$,5)+" " : flag = 1 else if flag=1 then exit_for end_if next a% end_if end_sub -------------------------------- sub mois_entier() clear 1 : m1%= 1 for a% = 1 to count(3) k$ = item_read$(3,a%) : a$ = left$(k$,instr(k$,"|")-1):' "Je 01 janvier 2015|"-->"Je 01 janvier 2015" ' ^^^^^^^^^^^^^^^^^^ if val(right$(a$,4)) = an if instr(a$,mont$(mois)) > 0
v% = instr(k$,"|") if right_pos$(k$,v%+1) <> "" item_add 1,left$(a$,6) + right_pos$(k$,instr(k$,"|")) end_if m1%=m1%+1 end_if end_if next a% end_sub -------------------------------- jour_du_mois: capt15$ = item_index$(4) : caption15() text 6,"" capt5$ = " "+ trim$(capt15$) +" " + trim$(capt11$) +" "+str$(an)+" " : caption5() clic% = 0 : clic20%=0 text 4,capt15$ return -------------------------------- heure_du_jour:
capt16$ = item_index$(5): caption16() clic20%=0 text 5,capt16$ return -------------------------------- ajouter: a$ ="[" + trim$(capt16$) + "]" : text 6,a$ : clear 2 set_focus 6 : caret_position 6,len(a$) return
' --------------------------------- commande: select item_index(10) case 1: gosub valide case 2: gosub supprime case 3: gosub retire case 4: gosub ajouter end_select return ================================================================ data 2015,31,28,31,30,31,30,31,31,30,31,30,31,4 data janvier,"février",mars,avril,mai,juin,juillet,"août",septembre,octobre,novembre,"décembre" end_if ' ==============================================================
' essai d'un planning height 0,850 : width 0,1000 : color 0,238,238,255 label mois , valide , supprime , retire , moins , plus , an , jour_du_mois , heure_du_jour , ajouter label clic20 , commande dim a%,a$,mois$,an$,jour$,f$,dir$, b% , clic% ,larg%,l% , b$ , v% dim an,j%(15) ,sem$ , s% , mont$(15), m% , m1% , jour% , mois , annee dim i%,k$ , clic20% dim capt5$ , capt11$ , capt15$ , capt16$ sem$ = " LuMaMeJeVeSaDi" : mois=4
read annee : an = annee
for a% = 1 to 12: read j%(a%):next a% : if int(an/4) = an/4 then j%(2) = 29 read s%
for a% = 1 to 12: read a$:mont$(a%) = a$ : next a%
dir$ = "" :' if dir_exists(dir$) = 0 then dir_make dir$ :' pas pour androïde f$ = "planning.txt"
list 1:left 1,0:top 1,100:width 1,580:height 1,200:on_click 1,mois list 2:top 2,310:width 2,800:left 2,000:height 2,160 :on_click 2,clic20 list 3 : top 3,600:width 3,200:height 3,150 combo 4:top 4,10:left 4,200:height 4,540:width 4,100 :font_size 4,10:font_bold 4:font_name 4,"Consolas":' font_underline 4
combo 5:top 5,10:left 5,500:height 5,540:width 5,100 :font_size 5,10:font_bold 5:font_name 5,"Consolas":' font_underline 5
edit 6 :left 6,0: top 6,50:font_bold 6 : font_size 6,10:color 6,216,226,83:width 6,660 : width 6,500 combo 7:top 7,10:left 7,415 :font_size 7,12:font_bold 7 :width 7,80 :color 7,238,0,0: font_color 7,255,255,0:on_click 7,an item_add 7,2015 : item_add 7,2016 : item_add 7,2017 ' picture 8 retiré vu que print_locate fonctionne pas combo 9 :top 9,10:left 9,300:width 9,110:font_size 9,10:font_bold 9:font_name 9,"Consolas" : on_click 9,moins ' for a% = 1 to 12 : item_add 9,mont$(a%) : next a% list 10:top 10,160:left 10,610:width 10,130:height 10,100:font_size 10,10:font_bold 10 : on_click 10,commande item_add 10,"Valider" : item_add 10,"Supprimer" : item_add 10,"Retirer" : item_add 10,"Ajouter"
on_click 4,jour_du_mois : on_click 5,heure_du_jour
hint 1,"1 ->mois":hint 2,"2 ->clic20": hint 5,"5 ->heure_du_jour" : hint 4,"4->moins" hint 10,"10->commande" : hint 9,"9 janvier-décembre ->moins" : hint 7,7 hint 6,6 ' hint 15,"15" :hint 16,16 :' hint 130,"130 ->jour_du_mois" hint 99,"99->retire" : hint 55,55 : : hint 11,"11" : hint 77,"77->valide" : hint 88,"88->supprime" ' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ mois = val( mid$(date$,4,2)) capt11$ = mont$(mois)
capt11$ = mont$(mois) : caption11() position_42()
jour%=s%
if file_exists(dir$+f$) = 0 for b% = 1 to 2 m% = 1 : m1%=1
if int(an/4) = an/4 then j%(2) = 29
i%=0:for a% = 1 to 12:i% = i%+j%(a%):next a%
for a% = 1 to i% a$ =mid$(sem$,jour%*2,2)+" " a$ = a$ + right$("0"+str$(m1%),2)+" " a$ = a$ + mont$(m%) +" " + str$(an) : item_add 3,a$ +"|" jour%= jour%+1:if jour%=8 then jour%=1
m1% = m1%+1 if m1% > j%(m%) :' si le jours plus > que le mois m% = m%+1 : if m%> 12 then exit_for m1%=1 end_if next a% an = an+1 next b% file_save 3,dir$+f$ else file_load 3,dir$+f$ end_if
an = val(right$(date$,4)) : text 7,an
mois() : mois_entier() ' ...... for a% = 6 to 22 a$ = right$(" "+str$(a%),2)+"h" item_add 5,a$+"00 " item_add 5,a$+"30 " next a%
for a% = 1 to 12:item_add 9,mont$(a%):next a% text 9,mont$(mois) mois_entier() end
Cette version marche aussi sur PC, mais le résultat sur Androide ne marche pas. Jack a bien du travail, et je sais que ce n'est pas une version alpha. Mais comme Jicehel a fait un jeu avec j'ai pensé que c'était possible. J'ai mis cette version pour ceux qui voudrait voir ce que cela donne. J'ai conscience que ce programme n'aura pas d'intéret pour vous, cela faira un peu de lecture. Je constate que le programme est encore inversé. Le premier était aussi dans cette logique, mais j'ai pensé à le mettre dans une présentation habituelle au moment de la saisie. Il y a encore surement des choses à faire dessus, mais ça ma pris tellement la tête de voir qu'avec Androide ça ne marche pas, que je le publie pour me calmer. Je crois que je vais me mettre à chercher un autre basic pour cette autre OS. |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: un petit planning Mar 21 Avr 2015 - 1:34 | |
| Bonsoir cosmos70,
Chargé et testé => fonctionne bien L'ergonomie est sympa. Pas de bug trouvé ni de Dahu !
Marc37 | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: un petit planning Mar 21 Avr 2015 - 7:53 | |
| C'est pas mal, j'ai testé et çà fonctionne bien.
Juste une remarque (il faut bien en faire une) Di 26 Avril.... c'est pas beau tu devrais l'écrire en entier Dimanche 26 Avril....
Le découpage horaire est original et inhabituel dans ce type d'agenda.
A+ | |
| | | Invité Invité
| Sujet: Re: un petit planning Mar 21 Avr 2015 - 9:00 | |
| Bonjour Merci pour vos interventions. Je ne suis pas sûre qu'il n'y a pas de bug. Je suis partie pour voir avec androide, et ça ne marche pas. Pour le Dahus, pas trouvé non plus, rentré bredouille. Pour ce qui est de mettre les noms de jours en entier, c'est un autre point de vue, et tu peux modifier le programme à ta guise. C'est une présentation, et je suis que ce n'est pas la meilleur que j'ai fait. Le principal est que ce programme fonctionne. J'ai limité le planning à 2 ans car la modification du fichier par item_delete/item_insert est très long pour les grands fichiers. J'avais mis 5 ans au départ, en étant certain que d'ici là, bien des choses vont se passer, et que les programmes vont évoluer. |
| | | Mumu
Nombre de messages : 176 Localisation : 45 Date d'inscription : 20/12/2012
| Sujet: Re: un petit planning Mar 21 Avr 2015 - 13:47 | |
| Bonjour tout le monde.
J'ai testé, ça marche bien, avec pour moi quelques interventions sur les dimensions de certains objets (foutue résolution d'écran). Une petite remarque cependant. Ça ne m'étonne pas que tu sois rentré bredouille de ta chasse au dahut. Ca se chasse la nuit ...! | |
| | | Invité Invité
| Sujet: Re: un petit planning Mar 21 Avr 2015 - 14:11 | |
| Oui je sais, mais la nuit je ne vois pas clair, donc je cherche à la lumière. J'ai apporté un petit suplément, un memo pour y mettre les tâches à prévoir pour avoir une liste à suivre. Rien d'extraordinaire, mais pratique pour moi. BUG corrigé à 20h12 le 22 avril - Code:
-
rem ============================================================== rem ' PLANNING par cosmos70 rem ============================================================== rem
height 0,850 : width 0,1000 : color 0,238,238,255 label mois , valide , supprime , retire , moins , plus , an , jour_du_mois , heure_du_jour , ajouter label clic20 , plan , agenda , classeur , divers , planning dim a%,a$,mois$,an$,jour$,f$,dir$, b% , clic% ,larg%,l% , b$ , v% ,note$ dim an,j%(15) ,sem$ , s% , mont$(15), m% , m1% , jour% , mois , annee dim i%,k$ , clic20% sem$ = " LuMaMeJeVeSaDi" : mois=4
read annee : an = annee
for a% = 1 to 12: read j%(a%):next a% : if int(an/4) = an/4 then j%(2) = 29 read s%
for a% = 1 to 12: read a$:mont$(a%) = a$ : next a%
dir$ = "C:\PLAN"+chr$(92) : if dir_exists(dir$) = 0 then dir_make dir$ f$ = "planning.txt"
alpha 5 : top 5,05:font_bold 5 : font_size 5,12:color 5,216,0,83:font_color 5,255,255,0 edit 6 : top 6,30:font_bold 6 : font_size 6,10:color 6,216,226,83:width 6,880 button 7: top 7,70:caption 7,"validez" : left 7,10:on_click 7,valide button 8: top 8,70:caption 8,"supprimez": left 8,110:on_click 8,supprime button 9: top 9,70:caption 9,"retirez" : left 9,220:on_click 9,retire:hint 9,"retire les dates au dessus du curseur"
list 1:top 1,100:width 1,600:height 1,500:font_size 1,10:font_bold 1:font_name 1,"Consolas":on_click 1,mois:color 1,255,255,120 list 2:top 2,645:width 2,800:left 2,000:height 2,160:font_size 2,10:font_bold 2:font_name 2,"Consolas" :on_click 2,clic20
alpha 21:top 21,80:left 21,310:caption 21," agenda ":font_bold 21:font_size 21,10:font_name 21,"Consolas":color 21,255,255,120 alpha 22:top 22,80:left 22,390:caption 22," classeur ":font_bold 22:font_size 22,10:font_name 22,"Consolas":color 22,215,215,255 on_click 21,planning : on_click 22,classeur dlist 3:' top 3,680:width 3,200:left 3,700 hint 1,"List événements prévus du mois" : hint 2,"Décomposition des événement d'une journée"+chr$(13)+"Cliquer sur un item pour modifier ou supprimer" button 4:top 4,70:left 4,600:caption 4,"<<":width 4,30:font_size 4,12:font_bold 4 :on_click 4,moins button 10:top 10,70:left 10,765:caption 10,">>":width 10,30:font_size 10,12:font_bold 10 :on_click 10,plus
alpha 11:top 11,70:left 11,650 :font_size 11,12:font_bold 11 spin 12:top 12,70:left 12,800 :font_size 12,12:font_bold 12 :min 12,2015:max 12,2019:width 12,80 :position 12,an:color 12,238,238,255:on_click 12,an ' 185 list 13:top 13,100:left 13,610:height 13,540:width 13,60 :font_size 13,8:font_bold 13:font_name 13,"Consolas":font_underline 13 list 14:top 14,100:left 14,690:height 14,540:width 14,60 :font_size 14,8:font_bold 14:font_name 14,"Consolas":font_underline 14 hint 13,"Evénement d'un jour à ajouter dans le mois" : hint 14,"Heure de l'événement à ajouter" on_click 13,jour_du_mois : on_click 14,heure_du_jour
Alpha 15:top 15,120:left 15,760:font_size 15,12:color 15,216,0,83:font_color 15,255,255,0 :' jour Alpha 16:top 16,120:left 16,830:font_size 16,12:color 16,216,0,83:font_color 16,255,255,0 :' heure button 17:top 17,150:left 17,790:caption 17,"Ajouter":on_click 17,ajouter :hint 17,"Ajoute un événement au jour et l'heure prévue"
memo 18:top 18,200:left 18,760:width 18,width(0)-790:height 18,420:font_size 18,10:color 18,247,247,110:font_bold 18:font_size 18,9:font_name 18,"Consolas" on_key_up 18,plan if file_exists(dir$+"plan.txt") = 1 then file_load 18,dir$+"plan.txt": file_save 18,dir$+"plan.bak.txt" clear 18 : wait 500 if file_exists(dir$+"divers.txt") = 1 then file_load 18,dir$+"divers.txt": file_save 18,dir$+"divers.bak.txt" clear 18 if file_exists(dir$+"plan.txt") = 1 then file_load 18,dir$+"plan.txt" note$ = "plan.txt" hint 18,"List des tâches à prévoir"+chr$(13)+"Enregistrement des modifications par <RETURN>" alpha 19:top 19,180:left 19,760:color 19,247,247,110:caption 19," à faire ":font_size 19,10:font_bold 19:font_name 19,"Consolas" alpha 20:top 20,180:left 20,830:color 20,203,248,103:caption 20," divers ":font_size 20,10:font_bold 20:font_name 20,"Consolas" on_click 19,agenda : on_click 20,divers ' ............... mois = val( mid$(date$,4,2))
caption 11,mont$(mois) : position_42() position 12,an
charger_3("classeur.txt") file_save 3,dir$+"classeur.bak.txt" clear 3 charger_3(f$)
an = val(right$(date$,4)) mois() : mois_entier() ' ...... for a% = 6 to 22 a$ = right$("0"+str$(a%),2)+"h" item_add 14,a$+"00 " item_add 14,a$+"30 " next a%
END
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
initialise au départ le list 1 par rapport au mois de l`année sub charger_3(p$) jour%=s% if file_exists(dir$+p$) = 0 for b% = 1 to 2 :' plus il y a d'année, et plus le remplacement dans la liste est long m% = 1 : m1%=1
if int(an/4) = an/4 then j%(2) = 29 i%=0:for a% = 1 to 12:i% = i%+j%(a%):next a%
for a% = 1 to i% a$ =mid$(sem$,jour%*2,2)+" " a$ = a$ + right$("0"+str$(m1%),2)+" " a$ = a$ + mont$(m%) +" " + str$(an) : item_add 3,a$ +"|" jour%= jour%+1:if jour%=8 then jour%=1
m1% = m1%+1 if m1% > j%(m%) :' si le jours plus > que le mois m% = m%+1 : if m%> 12 then exit_for m1%=1 end_if next a% an = an+1 next b% file_save 3,dir$+p$ else file_load 3,dir$+p$ :file_save 3,dir$ +p$ end_if end_sub -------------------------------- agenda: note$ = "plan.txt" : clear 18 if file_exists(dir$+note$) = 1 then file_load 18,dir$+ note$ color 18,247,247,110 return -------------------------------- divers: note$ = "divers.txt" : clear 18 if file_exists(dir$+note$) = 1 then file_load 18,dir$+note$ color 18,203,248,103 return -------------------------------- plan: if key_up_code = 13 file_save 18,dir$+note$ end_if return -------------------------------- classeur: f$ = "classeur.txt" color 1,215,215,255 file_load 3,f$ mois_entier() : clear 2 return -------------------------------- planning: f$ = "planning.txt" color 1,255,255,120 file_load 3,f$ mois_entier() : clear 2 return -------------------------------- clic20: if item_index(2) > 0 clic20% = item_index(2) text 6,item_read$(2,clic20%) : clic%=0 end_if return -------------------------------- mois: if item_index(1) > 0 a$ = item_index$(1) :clic% = item_index(1) ' Me 15 |[17h00]coincer la bulle\[18h30]prendre son pied\[19h00]se la couler douce ' ^^^^^^ ' pour le mois, il faut voir avec 5 ou an, le mois est explicite en 1 ' on devrait avoir : -->Je 15|[12h00]texte1\[13h00]texte 2 ... caption 15,"" : caption 16,"" an$=str$(an) :mois$ = caption$(11):jour$=mid$(a$,4,2) caption 5," "+left$(a$,6)+mois$+" "+an$+" " text 6,right_pos$(a$,8) report() end_if return -------------------------------- sub report() a$ = text$(6) : clear 2 if instr(a$,"|[") > 0 then a$ = right_pos$(a$,instr(a$,"|")+1) while instr(a$,"\") > 0 item_add 2,left$(a$,instr(a$,"\")-1) a$ = right_pos$(a$,instr(a$,"\")+1) if scancode = 27 then exit_while end_while item_add 2,a$ : sort 2 end_sub --------------------------------
valide: a$ = trim$(caption$(5))+"|"+ text$(6)
if clic20% > 0 then item_delete 2,clic20%
if clic%=0 and item_index(13) > 0 if count(1) > 0 for a% = 1 to count(1) b$ = left$(item_read$(1,a%),5) if b$ = left$(item_index$(13),5) then clic% = a% : exit_for next a% else clic%=0 end_if end_if ' -------------------------- if instr(text$(6),"\") > 0 clear 2 repeat v% = instr(text$(6),"\") if v%> 0 then item_add 2,left$(text$(6),v%-1) : text 6,right_pos$(text$(6),v%+1) until v% = 0 item_add 2,text$(6) : sort 2 else ' ------------------------------------------------------ ' évènement seul ou a ajouter if count(2) > 0 ' controle si doublon for a% = 1 to count(2) if item_read$(2,a%) = text$(6) then exit_for :' déjà écrit next a%
if a% > count(2) then item_add 2,text$(6) : sort 2 else item_add 2,text$(6) end_if end_if
a$ = trim$(caption$(5))+"|" if count(2)>0 for a% = 1 to count(2) if a% > 1 then a$ = a$ + "\" a$ = a$ + item_read$(2,a%) next a% end_if
k$ = left$(a$,6) + right_pos$(a$,instr(a$,"|"))
if clic% > 0 item_delete 1,clic% : item_insert 1,clic%,k$ else item_add 1,k$ end_if
for a% = 1 to count(3) k$ = item_read$(3,a%) : k$ = left$(k$,instr(k$,"|")-1) if k$ = trim$(caption$(5)) then item_delete 3,a% : item_insert 3,a%,a$ next a% text 6,right_pos$(a$,instr(a$,"[")) report() file_save 3,dir$+f$ mois_entier() : mois() return -------------------------------- supprime: if item_index(1) > 0 then l% = item_index(1) :' si on a validé avant, if instr(text$(6),"\") > 0 then message "trop de données à supprimer!" : return ' ici on regarde si il y a égalité entre chaque item de 2, et texte de 6, sinon on enlève quoi? if count(2) > 0 for a% = count(2) to 1 step -1 if text$(6) = item_read$(2,a%) then item_delete 2,a% : exit_for next a% end_if
if count(1) > 0 for a% = 1 to count(1) if left$(item_read$(1,a%),6) = left$(text$(6),6) then item_delete 1,a% : exit_for next a% end_if a$ = trim$(caption$(5)) : b$ = a$ a$ = a$ + "|" if count(2) > 0 sort 2 for a% = 1 to count(2) if a% > 1 then a$=a$+"\" a$ = a$ + item_read$(2,a%) next a% end_if
l% = 0 for a% = 1 to count(3) k$ = item_read$(3,a%) : k$ = left$(k$,instr(k$,"|")-1) for i% = 1 to 12 if k$ = b$ l% = a% exit_for end_if next i% if l% = a% item_delete 3,l% item_insert 3,l%,a$ exit_for end_if next a% text 6,right_pos$(a$,instr(a$,"|")+1) report() : mois_entier() file_save 3,dir$+f$ mois_entier() : mois() clic%=0 return -------------------------------- retire: if clic% > 0 if message_confirmation_yes_no("Etes-vous sûre de vouloir supprimer les lignes"+chr$(13)+"jusqu'à la ligne cliquée?")=1 for b% = 1 to clic%:item_delete 1,1:next b% file_save 3,dir$+f$ end_if end_if return -------------------------------- moins: mois = mois -1 : if mois < 1 then mois = 12 : an=an-1 if an < 2015 message "hors année: "+ str$(an) else position 12,an end_if clear 2 : text 6,"" : caption 5,"" : caption 15,"" : caption 16,"" caption 11,mont$(mois) : position_42() mois_entier() mois() return -------------------------------- plus: mois = mois +1 : if mois = 13 then mois = 1 : an=an+1 if an > 2019 message "hors année: "+ str$(an) else position 12,an end_if clear 2 : text 6,"" : caption 5,"" : caption 15,"" : caption 16,"" caption 11,mont$(mois) : position_42() mois_entier() mois() return -------------------------------- sub position_42() larg%=text_width(caption$(11),11) : l% = 700-larg%/2 : left 11,l%-5 end_sub -------------------------------- an: an = position(12) mois() : mois_entier() return -------------------------------- sub mois() dim_local flag clear 13 if count(3) > 0 for a% = 1 to count(3) a$ = item_read$(3,a%) :' "Je 01 janvier 2015|" ou "Je 01 janvier 2015|[08h30]teste\[*****].... k$ = left$(a$,instr(a$,"|")-1) k$=right$(k$,4) if instr(a$,caption$(11)) > 0 and val(k$) = an item_add 13,left$(a$,5)+" " : flag = 1 else if flag=1 then exit_for end_if next a% end_if end_sub -------------------------------- sub mois_entier() clear 1 : m1%= 1 for a% = 1 to count(3) k$ = item_read$(3,a%) : a$ = left$(k$,instr(k$,"|")-1):' "Je 01 janvier 2015|"-->"Je 01 janvier 2015" ' ^^^^^^^^^^^^^^^^^^ if val(right$(a$,4)) = an if instr(a$,mont$(mois)) > 0 v% = instr(k$,"|") if right_pos$(k$,v%+1) <> "" item_add 1,left$(a$,6) + right_pos$(k$,instr(k$,"|")) end_if m1%=m1%+1 end_if end_if next a%
end_sub -------------------------------- jour_du_mois: caption 15,item_index$(13) : text 6,"" caption 5," "+ trim$(caption$(15)) +" " + trim$(caption$(11)) +" "+str$(an)+" " clic% = 0 : clic20%=0 return -------------------------------- heure_du_jour: caption 16,item_index$(14) clic20%=0 return --------------------------------
************************************************************************************************************************ ' item_index(1), 5 et caption$(5) si différent alors il faut effacer 2, et retrouver dans 1 la ligne pour la décomposer ************************************************************************************************************************ ajouter: ' on regarde une cohérence entre les dates et les contenus des list 1 et 2 ' pour savoir si on ajoute, ou si on créé. clear 2 if count(1) > 0 for a% = 1 to count(1) if left$(item_read$(1,a%),5) = left$(trim$(caption$(5)),5) ' si = on laisse 1 et 2 message item_read$(1,a%) : stop text 6,right_pos$(item_read$(1,a%),7) : report() exit_for end_if next a% end_if a$ ="[" + trim$(caption$(16)) + "]" : text 6,a$ set_focus 6 : caret_position 6,len(a$) return ================================================================ data 2015,31,28,31,30,31,30,31,31,30,31,30,31,4 data janvier,"février",mars,avril,mai,juin,juillet,"août",septembre,octobre,novembre,"décembre"
Pour le redimentionnement, pratiquement tous les programmes que j'essaye, je suis obligé de les reprendre. J'ai d'emblé mis des caractères plus gros sur mon écran, et ça modifie la représentation.
Dernière édition par cosmos70 le Mer 22 Avr 2015 - 20:13, édité 1 fois |
| | | Invité Invité
| Sujet: Re: un petit planning Mer 22 Avr 2015 - 0:08 | |
| Modifier et retiré un message de controle le23/04J'ai repris le code pour apporter des améliorations. Je me suis dit que c'était une bonne idée d'en profiter pour avoir aussi la possibilité de garder une trace sur ce je reçois ou que je dois me rappeler. Mais au départ je me suis trompé. J'ai ajouté un onglet à droite sur les notes, et comme cela était faits, j'ai gardé cette partie. J'ai donc aussi mis un onglet sur le planning pour avoir deux choses différentes, une pour l'agenda, et une pour les comptes rendues Ensuite j'ai systématiquement fait une copie sauvegardée au lancement du programme pour tous les fichiers. - Code:
-
rem ============================================================== rem ' PLANNING par cosmos70 rem ============================================================== rem
height 0,850 : width 0,1000 : color 0,238,238,255 label mois , valide , supprime , retire , moins , plus , an , jour_du_mois , heure_du_jour , ajouter label clic20 , plan , agenda , classeur , divers , planning dim a%,a$,mois$,an$,jour$,f$,dir$, b% , clic% ,larg%,l% , b$ , v% ,note$ dim an,j%(15) ,sem$ , s% , mont$(15), m% , m1% , jour% , mois , annee dim i%,k$ , clic20% sem$ = " LuMaMeJeVeSaDi" : mois=4
read annee : an = annee
for a% = 1 to 12: read j%(a%):next a% : if int(an/4) = an/4 then j%(2) = 29 read s%
for a% = 1 to 12: read a$:mont$(a%) = a$ : next a%
dir$ = "C:\PLAN"+chr$(92) : if dir_exists(dir$) = 0 then dir_make dir$ f$ = "planning.txt"
alpha 5 : top 5,05:font_bold 5 : font_size 5,12:color 5,216,0,83:font_color 5,255,255,0 edit 6 : top 6,30:font_bold 6 : font_size 6,10:color 6,216,226,83:width 6,880 button 7: top 7,70:caption 7,"validez" : left 7,10:on_click 7,valide button 8: top 8,70:caption 8,"supprimez": left 8,110:on_click 8,supprime button 9: top 9,70:caption 9,"retirez" : left 9,220:on_click 9,retire:hint 9,"retire les dates au dessus du curseur"
list 1:top 1,100:width 1,600:height 1,500:font_size 1,10:font_bold 1:font_name 1,"Consolas":on_click 1,mois:color 1,255,255,120 list 2:top 2,645:width 2,800:left 2,000:height 2,160:font_size 2,10:font_bold 2:font_name 2,"Consolas" :on_click 2,clic20
alpha 21:top 21,80:left 21,310:caption 21," agenda ":font_bold 21:font_size 21,10:font_name 21,"Consolas":color 21,255,255,120 alpha 22:top 22,80:left 22,390:caption 22," classeur ":font_bold 22:font_size 22,10:font_name 22,"Consolas":color 22,215,215,255 on_click 21,planning : on_click 22,classeur dlist 3:' top 3,680:width 3,200:left 3,700 hint 1,"List événements prévus du mois" : hint 2,"Décomposition des événement d'une journée"+chr$(13)+"Cliquer sur un item pour modifier ou supprimer" button 4:top 4,70:left 4,600:caption 4,"<<":width 4,30:font_size 4,12:font_bold 4 :on_click 4,moins button 10:top 10,70:left 10,765:caption 10,">>":width 10,30:font_size 10,12:font_bold 10 :on_click 10,plus
alpha 11:top 11,70:left 11,650 :font_size 11,12:font_bold 11 spin 12:top 12,70:left 12,800 :font_size 12,12:font_bold 12 :min 12,2015:max 12,2019:width 12,80 :position 12,an:color 12,238,238,255:on_click 12,an ' 185 list 13:top 13,100:left 13,610:height 13,540:width 13,60 :font_size 13,8:font_bold 13:font_name 13,"Consolas":font_underline 13 list 14:top 14,100:left 14,690:height 14,540:width 14,60 :font_size 14,8:font_bold 14:font_name 14,"Consolas":font_underline 14 hint 13,"Evénement d'un jour à ajouter dans le mois" : hint 14,"Heure de l'événement à ajouter" on_click 13,jour_du_mois : on_click 14,heure_du_jour
Alpha 15:top 15,120:left 15,760:font_size 15,12:color 15,216,0,83:font_color 15,255,255,0 :' jour Alpha 16:top 16,120:left 16,830:font_size 16,12:color 16,216,0,83:font_color 16,255,255,0 :' heure button 17:top 17,150:left 17,790:caption 17,"Ajouter":on_click 17,ajouter :hint 17,"Ajoute un événement au jour et l'heure prévue"
memo 18:top 18,200:left 18,760:width 18,width(0)-790:height 18,420:font_size 18,10:color 18,247,247,110:font_bold 18:font_size 18,9:font_name 18,"Consolas" on_key_up 18,plan if file_exists(dir$+"plan.txt") = 1 then file_load 18,dir$+"plan.txt": file_save 18,dir$+"plan.bak.txt" clear 18 : wait 500 if file_exists(dir$+"divers.txt") = 1 then file_load 18,dir$+"divers.txt": file_save 18,dir$+"divers.bak.txt" clear 18 if file_exists(dir$+"plan.txt") = 1 then file_load 18,dir$+"plan.txt" note$ = "plan.txt" hint 18,"List des tâches à prévoir"+chr$(13)+"Enregistrement des modifications par <RETURN>" alpha 19:top 19,180:left 19,760:color 19,247,247,110:caption 19," à faire ":font_size 19,10:font_bold 19:font_name 19,"Consolas" alpha 20:top 20,180:left 20,830:color 20,203,248,103:caption 20," divers ":font_size 20,10:font_bold 20:font_name 20,"Consolas" on_click 19,agenda : on_click 20,divers ' ............... mois = val( mid$(date$,4,2))
caption 11,mont$(mois) : position_42() position 12,an
charger_3("classeur.txt") file_save 3,dir$+"classeur.bak.txt" clear 3 charger_3(f$)
an = val(right$(date$,4)) mois() : mois_entier() ' ...... for a% = 6 to 22 a$ = right$("0"+str$(a%),2)+"h" item_add 14,a$+"00 " item_add 14,a$+"30 " next a%
END
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
initialise au départ le list 1 par rapport au mois de l`année sub charger_3(p$) jour%=s% if file_exists(dir$+p$) = 0 for b% = 1 to 2 :' plus il y a d'année, et plus le remplacement dans la liste est long m% = 1 : m1%=1
if int(an/4) = an/4 then j%(2) = 29 i%=0:for a% = 1 to 12:i% = i%+j%(a%):next a%
for a% = 1 to i% a$ =mid$(sem$,jour%*2,2)+" " a$ = a$ + right$("0"+str$(m1%),2)+" " a$ = a$ + mont$(m%) +" " + str$(an) : item_add 3,a$ +"|" jour%= jour%+1:if jour%=8 then jour%=1
m1% = m1%+1 if m1% > j%(m%) :' si le jours plus > que le mois m% = m%+1 : if m%> 12 then exit_for m1%=1 end_if next a% an = an+1 next b% file_save 3,dir$+p$ else file_load 3,dir$+p$ :file_save 3,dir$ +p$ end_if end_sub -------------------------------- agenda: note$ = "plan.txt" : clear 18 if file_exists(dir$+note$) = 1 then file_load 18,dir$+ note$ color 18,247,247,110 return -------------------------------- divers: note$ = "divers.txt" : clear 18 if file_exists(dir$+note$) = 1 then file_load 18,dir$+note$ color 18,203,248,103 return -------------------------------- plan: if key_up_code = 13 file_save 18,dir$+note$ end_if return -------------------------------- classeur: f$ = "classeur.txt" color 1,215,215,255 file_load 3,f$ mois_entier() : clear 2 return -------------------------------- planning: f$ = "planning.txt" color 1,255,255,120 file_load 3,f$ mois_entier() : clear 2 return -------------------------------- clic20: if item_index(2) > 0 clic20% = item_index(2) text 6,item_read$(2,clic20%) : clic%=0 end_if return -------------------------------- mois: if item_index(1) > 0 a$ = item_index$(1) :clic% = item_index(1) ' Me 15 |[17h00]coincer la bulle\[18h30]prendre son pied\[19h00]se la couler douce ' ^^^^^^ ' pour le mois, il faut voir avec 5 ou an, le mois est explicite en 1 ' on devrait avoir : -->Je 15|[12h00]texte1\[13h00]texte 2 ... caption 15,"" : caption 16,"" an$=str$(an) :mois$ = caption$(11):jour$=mid$(a$,4,2) caption 5," "+left$(a$,6)+mois$+" "+an$+" " text 6,right_pos$(a$,8) report() end_if return -------------------------------- sub report() a$ = text$(6) : clear 2 if instr(a$,"|[") > 0 then a$ = right_pos$(a$,instr(a$,"|")+1) while instr(a$,"\") > 0 item_add 2,left$(a$,instr(a$,"\")-1) a$ = right_pos$(a$,instr(a$,"\")+1) if scancode = 27 then exit_while end_while item_add 2,a$ : sort 2 end_sub --------------------------------
valide: a$ = trim$(caption$(5))+"|"+ text$(6)
if clic20% > 0 then item_delete 2,clic20%
if clic%=0 and item_index(13) > 0 if count(1) > 0 for a% = 1 to count(1) b$ = left$(item_read$(1,a%),5) if b$ = left$(item_index$(13),5) then clic% = a% : exit_for next a% else clic%=0 end_if end_if ' -------------------------- if instr(text$(6),"\") > 0 clear 2 repeat v% = instr(text$(6),"\") if v%> 0 then item_add 2,left$(text$(6),v%-1) : text 6,right_pos$(text$(6),v%+1) until v% = 0 item_add 2,text$(6) : sort 2 else ' ------------------------------------------------------ ' évènement seul ou a ajouter if count(2) > 0 ' controle si doublon for a% = 1 to count(2) if item_read$(2,a%) = text$(6) then exit_for :' déjà écrit next a%
if a% > count(2) then item_add 2,text$(6) : sort 2 else item_add 2,text$(6) end_if end_if
a$ = trim$(caption$(5))+"|" if count(2)>0 for a% = 1 to count(2) if a% > 1 then a$ = a$ + "\" a$ = a$ + item_read$(2,a%) next a% end_if
k$ = left$(a$,6) + right_pos$(a$,instr(a$,"|"))
if clic% > 0 item_delete 1,clic% : item_insert 1,clic%,k$ else item_add 1,k$ end_if
for a% = 1 to count(3) k$ = item_read$(3,a%) : k$ = left$(k$,instr(k$,"|")-1) if k$ = trim$(caption$(5)) then item_delete 3,a% : item_insert 3,a%,a$ next a% text 6,right_pos$(a$,instr(a$,"[")) report() file_save 3,dir$+f$ mois_entier() : mois() return -------------------------------- supprime: if item_index(1) > 0 then l% = item_index(1) :' si on a validé avant, if instr(text$(6),"\") > 0 then message "trop de données à supprimer!" : return ' ici on regarde si il y a égalité entre chaque item de 2, et texte de 6, sinon on enlève quoi? if count(2) > 0 for a% = count(2) to 1 step -1 if text$(6) = item_read$(2,a%) then item_delete 2,a% : exit_for next a% end_if
if count(1) > 0 for a% = 1 to count(1) if left$(item_read$(1,a%),6) = left$(text$(6),6) then item_delete 1,a% : exit_for next a% end_if a$ = trim$(caption$(5)) : b$ = a$ a$ = a$ + "|" if count(2) > 0 sort 2 for a% = 1 to count(2) if a% > 1 then a$=a$+"\" a$ = a$ + item_read$(2,a%) next a% end_if
l% = 0 for a% = 1 to count(3) k$ = item_read$(3,a%) : k$ = left$(k$,instr(k$,"|")-1) for i% = 1 to 12 if k$ = b$ l% = a% exit_for end_if next i% if l% = a% item_delete 3,l% item_insert 3,l%,a$ exit_for end_if next a% text 6,right_pos$(a$,instr(a$,"|")+1) report() : mois_entier() file_save 3,dir$+f$ mois_entier() : mois() clic%=0 return -------------------------------- retire: if clic% > 0 if message_confirmation_yes_no("Etes-vous sûre de vouloir supprimer les lignes"+chr$(13)+"jusqu'à la ligne cliquée?")=1 for b% = 1 to clic%:item_delete 1,1:next b% file_save 3,dir$+f$ end_if end_if return -------------------------------- moins: mois = mois -1 : if mois < 1 then mois = 12 : an=an-1 if an < 2015 message "hors année: "+ str$(an) else position 12,an end_if clear 2 : text 6,"" : caption 5,"" : caption 15,"" : caption 16,"" caption 11,mont$(mois) : position_42() mois_entier() mois() return -------------------------------- plus: mois = mois +1 : if mois = 13 then mois = 1 : an=an+1 if an > 2019 message "hors année: "+ str$(an) else position 12,an end_if clear 2 : text 6,"" : caption 5,"" : caption 15,"" : caption 16,"" caption 11,mont$(mois) : position_42() mois_entier() mois() return -------------------------------- sub position_42() larg%=text_width(caption$(11),11) : l% = 700-larg%/2 : left 11,l%-5 end_sub -------------------------------- an: an = position(12) mois() : mois_entier() return -------------------------------- sub mois() dim_local flag clear 13 if count(3) > 0 for a% = 1 to count(3) a$ = item_read$(3,a%) :' "Je 01 janvier 2015|" ou "Je 01 janvier 2015|[08h30]teste\[*****].... k$ = left$(a$,instr(a$,"|")-1) k$=right$(k$,4) if instr(a$,caption$(11)) > 0 and val(k$) = an item_add 13,left$(a$,5)+" " : flag = 1 else if flag=1 then exit_for end_if next a% end_if end_sub -------------------------------- sub mois_entier() clear 1 : m1%= 1 for a% = 1 to count(3) k$ = item_read$(3,a%) : a$ = left$(k$,instr(k$,"|")-1):' "Je 01 janvier 2015|"-->"Je 01 janvier 2015" ' ^^^^^^^^^^^^^^^^^^ if val(right$(a$,4)) = an if instr(a$,mont$(mois)) > 0 v% = instr(k$,"|") if right_pos$(k$,v%+1) <> "" item_add 1,left$(a$,6) + right_pos$(k$,instr(k$,"|")) end_if m1%=m1%+1 end_if end_if next a%
end_sub -------------------------------- jour_du_mois: caption 15,item_index$(13) : text 6,"" caption 5," "+ trim$(caption$(15)) +" " + trim$(caption$(11)) +" "+str$(an)+" " clic% = 0 : clic20%=0 return -------------------------------- heure_du_jour: caption 16,item_index$(14) clic20%=0 return -------------------------------- ajouter: ' on regarde une cohérence entre les dates et les contenus des list 1 et 2 ' pour savoir si on ajoute, ou si on créé. clear 2 if count(1) > 0 for a% = 1 to count(1) if left$(item_read$(1,a%),5) = left$(trim$(caption$(5)),5) ' si = on laisse 1 et 2 text 6,right_pos$(item_read$(1,a%),7) : report() exit_for end_if next a% end_if a$ ="[" + trim$(caption$(16)) + "]" : text 6,a$ set_focus 6 : caret_position 6,len(a$) return ================================================================ data 2015,31,28,31,30,31,30,31,31,30,31,30,31,4 data janvier,"février",mars,avril,mai,juin,juillet,"août",septembre,octobre,novembre,"décembre"
EDIT: je viens de constaté que la liste du haut, celle du mois, est mal triée. Cela vient du fait que j'utilise TRON, mais au départ la présentation était différente, et c'était le numérotation du jour qui était devant, alors que maintenant ce sont les jours de la semaine.
Je verrais plus tard, j'ai une fin de semaine très chargée, avec une préparation importante pour la semaine prochaine. Donc quant ce sera fait, je mettrais la correction, à moins que quelqu'un s'en charge.
Dernière édition par cosmos70 le Jeu 23 Avr 2015 - 23:50, édité 1 fois |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 22 Avr 2015 - 3:24 | |
| @ Cosmos70,
Tu as des soucis avec les chemins de répertoire. il y a des endroits ou il manque un \ comme à la ligne 110. | |
| | | Invité Invité
| Sujet: Re: un petit planning Mer 22 Avr 2015 - 7:27 | |
| Merci de l'avoir signalé. Voici la copie d'écran de cette partie: Est-ce qu'un jour ils vont enfin ce décider à corriger ce problème? |
| | | Invité Invité
| Sujet: Re: un petit planning Mer 22 Avr 2015 - 20:21 | |
| Correction d'un bug. J'étais persuadé qu'il y avait quelque chose qui n'était pas fini, mais comme les retours me disais que ça fonctionnait bien, j'ai pensé que c'était ok. J'ai pris le temps de tester, et trouvé ce qui n'allais pas: Lorsque qu'on ajoute un événement et que la date était différente de celle qu'il y avait avant en haut, le contenu du list des éléments décomposés se rajoutait. La correction est faite, ainsi que le classement du list 1, et j'ai modifié le chemin comme JL35 a fait pour son programme avec "+chr$(92). Maintenant cela devrait être bon. J'ai fait la modife dans la deuxième versions avec les notes. Il suffit de regarder le post, c'est indiqué. Si certains utilisent le programme, je conseille de reprendre cette version. Le 23/04, remis le source du programme: il message de teste n'était pas enlevé, et il semble que ce n'était pas la dernière version que j'ai posté dans le 2ème post.
D'ailleurs je vais la remettre ici par défaut: - Code:
-
rem ============================================================== rem ' PLANNING par cosmos70 rem ============================================================== rem
height 0,850 : width 0,1000 : color 0,238,238,255 label mois , valide , supprime , retire , moins , plus , an , jour_du_mois , heure_du_jour , ajouter label clic20 , plan , agenda , classeur , divers , planning dim a%,a$,mois$,an$,jour$,f$,dir$, b% , clic% ,larg%,l% , b$ , v% ,note$ dim an,j%(15) ,sem$ , s% , mont$(15), m% , m1% , jour% , mois , annee dim i%,k$ , clic20% sem$ = " LuMaMeJeVeSaDi" : mois=4
read annee : an = annee
for a% = 1 to 12: read j%(a%):next a% : if int(an/4) = an/4 then j%(2) = 29 read s%
for a% = 1 to 12: read a$:mont$(a%) = a$ : next a%
dir$ = "C:\PLAN"+chr$(92) : if dir_exists(dir$) = 0 then dir_make dir$ f$ = "planning.txt"
alpha 5 : top 5,05:font_bold 5 : font_size 5,12:color 5,216,0,83:font_color 5,255,255,0 edit 6 : top 6,30:font_bold 6 : font_size 6,10:color 6,216,226,83:width 6,880 button 7: top 7,70:caption 7,"validez" : left 7,10:on_click 7,valide button 8: top 8,70:caption 8,"supprimez": left 8,110:on_click 8,supprime button 9: top 9,70:caption 9,"retirez" : left 9,220:on_click 9,retire:hint 9,"retire les dates au dessus du curseur"
list 1:top 1,100:width 1,600:height 1,500:font_size 1,10:font_bold 1:font_name 1,"Consolas":on_click 1,mois:color 1,255,255,120 list 2:top 2,645:width 2,800:left 2,000:height 2,160:font_size 2,10:font_bold 2:font_name 2,"Consolas" :on_click 2,clic20
alpha 21:top 21,80:left 21,310:caption 21," agenda ":font_bold 21:font_size 21,10:font_name 21,"Consolas":color 21,255,255,120 alpha 22:top 22,80:left 22,390:caption 22," classeur ":font_bold 22:font_size 22,10:font_name 22,"Consolas":color 22,215,215,255 on_click 21,planning : on_click 22,classeur dlist 3:' top 3,680:width 3,200:left 3,700 hint 1,"List événements prévus du mois" : hint 2,"Décomposition des événement d'une journée"+chr$(13)+"Cliquer sur un item pour modifier ou supprimer" button 4:top 4,70:left 4,600:caption 4,"<<":width 4,30:font_size 4,12:font_bold 4 :on_click 4,moins button 10:top 10,70:left 10,765:caption 10,">>":width 10,30:font_size 10,12:font_bold 10 :on_click 10,plus
alpha 11:top 11,70:left 11,650 :font_size 11,12:font_bold 11 spin 12:top 12,70:left 12,800 :font_size 12,12:font_bold 12 :min 12,2015:max 12,2019:width 12,80 :position 12,an:color 12,238,238,255:on_click 12,an ' 185 list 13:top 13,100:left 13,610:height 13,540:width 13,60 :font_size 13,8:font_bold 13:font_name 13,"Consolas":font_underline 13 list 14:top 14,100:left 14,690:height 14,540:width 14,60 :font_size 14,8:font_bold 14:font_name 14,"Consolas":font_underline 14 hint 13,"Evénement d'un jour à ajouter dans le mois" : hint 14,"Heure de l'événement à ajouter" on_click 13,jour_du_mois : on_click 14,heure_du_jour
Alpha 15:top 15,120:left 15,760:font_size 15,12:color 15,216,0,83:font_color 15,255,255,0 :' jour Alpha 16:top 16,120:left 16,830:font_size 16,12:color 16,216,0,83:font_color 16,255,255,0 :' heure button 17:top 17,150:left 17,790:caption 17,"Ajouter":on_click 17,ajouter :hint 17,"Ajoute un événement au jour et l'heure prévue"
memo 18:top 18,200:left 18,760:width 18,width(0)-790:height 18,420:font_size 18,10:color 18,247,247,110:font_bold 18:font_size 18,9:font_name 18,"Consolas" on_key_up 18,plan if file_exists(dir$+"plan.txt") = 1 then file_load 18,dir$+"plan.txt": file_save 18,dir$+"plan.bak.txt" clear 18 : wait 500 if file_exists(dir$+"divers.txt") = 1 then file_load 18,dir$+"divers.txt": file_save 18,dir$+"divers.bak.txt" clear 18 if file_exists(dir$+"plan.txt") = 1 then file_load 18,dir$+"plan.txt" note$ = "plan.txt" hint 18,"List des tâches à prévoir"+chr$(13)+"Enregistrement des modifications par <RETURN>" alpha 19:top 19,180:left 19,760:color 19,247,247,110:caption 19," à faire ":font_size 19,10:font_bold 19:font_name 19,"Consolas" alpha 20:top 20,180:left 20,830:color 20,203,248,103:caption 20," divers ":font_size 20,10:font_bold 20:font_name 20,"Consolas" on_click 19,agenda : on_click 20,divers ' ............... mois = val( mid$(date$,4,2))
caption 11,mont$(mois) : position_42() position 12,an
charger_3("classeur.txt") file_save 3,dir$+"classeur.bak.txt" clear 3 charger_3(f$)
an = val(right$(date$,4)) mois() : mois_entier() ' ...... for a% = 6 to 22 a$ = right$("0"+str$(a%),2)+"h" item_add 14,a$+"00 " item_add 14,a$+"30 " next a%
END
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
initialise au départ le list 1 par rapport au mois de l`année sub charger_3(p$) jour%=s% if file_exists(dir$+p$) = 0 for b% = 1 to 2 :' plus il y a d'année, et plus le remplacement dans la liste est long m% = 1 : m1%=1
if int(an/4) = an/4 then j%(2) = 29 i%=0:for a% = 1 to 12:i% = i%+j%(a%):next a%
for a% = 1 to i% a$ =mid$(sem$,jour%*2,2)+" " a$ = a$ + right$("0"+str$(m1%),2)+" " a$ = a$ + mont$(m%) +" " + str$(an) : item_add 3,a$ +"|" jour%= jour%+1:if jour%=8 then jour%=1
m1% = m1%+1 if m1% > j%(m%) :' si le jours plus > que le mois m% = m%+1 : if m%> 12 then exit_for m1%=1 end_if next a% an = an+1 next b% file_save 3,dir$+p$ else file_load 3,dir$+p$ :file_save 3,dir$ +p$ end_if end_sub -------------------------------- agenda: note$ = "plan.txt" : clear 18 if file_exists(dir$+note$) = 1 then file_load 18,dir$+ note$ color 18,247,247,110 return -------------------------------- divers: note$ = "divers.txt" : clear 18 if file_exists(dir$+note$) = 1 then file_load 18,dir$+note$ color 18,203,248,103 return -------------------------------- plan: if key_up_code = 13 file_save 18,dir$+note$ end_if return -------------------------------- classeur: f$ = "classeur.txt" color 1,215,215,255 file_load 3,f$ mois_entier() : clear 2 return -------------------------------- planning: f$ = "planning.txt" color 1,255,255,120 file_load 3,f$ mois_entier() : clear 2 return -------------------------------- clic20: if item_index(2) > 0 clic20% = item_index(2) text 6,item_read$(2,clic20%) : clic%=0 end_if return -------------------------------- mois: if item_index(1) > 0 a$ = item_index$(1) :clic% = item_index(1) ' Me 15 |[17h00]coincer la bulle\[18h30]prendre son pied\[19h00]se la couler douce ' ^^^^^^ ' pour le mois, il faut voir avec 5 ou an, le mois est explicite en 1 ' on devrait avoir : -->Je 15|[12h00]texte1\[13h00]texte 2 ... caption 15,"" : caption 16,"" an$=str$(an) :mois$ = caption$(11):jour$=mid$(a$,4,2) caption 5," "+left$(a$,6)+mois$+" "+an$+" " text 6,right_pos$(a$,8) report() end_if return -------------------------------- sub report() a$ = text$(6) : clear 2 if instr(a$,"|[") > 0 then a$ = right_pos$(a$,instr(a$,"|")+1) while instr(a$,"\") > 0 item_add 2,left$(a$,instr(a$,"\")-1) a$ = right_pos$(a$,instr(a$,"\")+1) if scancode = 27 then exit_while end_while item_add 2,a$ : sort 2 end_sub --------------------------------
valide: a$ = trim$(caption$(5))+"|"+ text$(6)
if clic20% > 0 then item_delete 2,clic20%
if clic%=0 and item_index(13) > 0 if count(1) > 0 for a% = 1 to count(1) b$ = left$(item_read$(1,a%),5) if b$ = left$(item_index$(13),5) then clic% = a% : exit_for next a% else clic%=0 end_if end_if ' -------------------------- if instr(text$(6),"\") > 0 clear 2 repeat v% = instr(text$(6),"\") if v%> 0 then item_add 2,left$(text$(6),v%-1) : text 6,right_pos$(text$(6),v%+1) until v% = 0 item_add 2,text$(6) : sort 2 else ' ------------------------------------------------------ ' évènement seul ou a ajouter if count(2) > 0 ' controle si doublon for a% = 1 to count(2) if item_read$(2,a%) = text$(6) then exit_for :' déjà écrit next a%
if a% > count(2) then item_add 2,text$(6) : sort 2 else item_add 2,text$(6) end_if end_if
a$ = trim$(caption$(5))+"|" if count(2)>0 for a% = 1 to count(2) if a% > 1 then a$ = a$ + "\" a$ = a$ + item_read$(2,a%) next a% end_if
k$ = left$(a$,6) + right_pos$(a$,instr(a$,"|"))
if clic% > 0 item_delete 1,clic% : item_insert 1,clic%,k$ else item_add 1,k$ end_if
for a% = 1 to count(3) k$ = item_read$(3,a%) : k$ = left$(k$,instr(k$,"|")-1) if k$ = trim$(caption$(5)) then item_delete 3,a% : item_insert 3,a%,a$ next a% text 6,right_pos$(a$,instr(a$,"[")) report() file_save 3,dir$+f$ mois_entier() : mois() return -------------------------------- supprime: if item_index(1) > 0 then l% = item_index(1) :' si on a validé avant, if instr(text$(6),"\") > 0 then message "trop de données à supprimer!" : return ' ici on regarde si il y a égalité entre chaque item de 2, et texte de 6, sinon on enlève quoi? if count(2) > 0 for a% = count(2) to 1 step -1 if text$(6) = item_read$(2,a%) then item_delete 2,a% : exit_for next a% end_if
if count(1) > 0 for a% = 1 to count(1) if left$(item_read$(1,a%),6) = left$(text$(6),6) then item_delete 1,a% : exit_for next a% end_if a$ = trim$(caption$(5)) : b$ = a$ a$ = a$ + "|" if count(2) > 0 sort 2 for a% = 1 to count(2) if a% > 1 then a$=a$+"\" a$ = a$ + item_read$(2,a%) next a% end_if
l% = 0 for a% = 1 to count(3) k$ = item_read$(3,a%) : k$ = left$(k$,instr(k$,"|")-1) for i% = 1 to 12 if k$ = b$ l% = a% exit_for end_if next i% if l% = a% item_delete 3,l% item_insert 3,l%,a$ exit_for end_if next a% text 6,right_pos$(a$,instr(a$,"|")+1) report() : mois_entier() file_save 3,dir$+f$ mois_entier() : mois() clic%=0 return -------------------------------- retire: if clic% > 0 if message_confirmation_yes_no("Etes-vous sûre de vouloir supprimer les lignes"+chr$(13)+"jusqu'à la ligne cliquée?")=1 for b% = 1 to clic%:item_delete 1,1:next b% file_save 3,dir$+f$ end_if end_if return -------------------------------- moins: mois = mois -1 : if mois < 1 then mois = 12 : an=an-1 if an < 2015 message "hors année: "+ str$(an) else position 12,an end_if clear 2 : text 6,"" : caption 5,"" : caption 15,"" : caption 16,"" caption 11,mont$(mois) : position_42() mois_entier() mois() return -------------------------------- plus: mois = mois +1 : if mois = 13 then mois = 1 : an=an+1 if an > 2019 message "hors année: "+ str$(an) else position 12,an end_if clear 2 : text 6,"" : caption 5,"" : caption 15,"" : caption 16,"" caption 11,mont$(mois) : position_42() mois_entier() mois() return -------------------------------- sub position_42() larg%=text_width(caption$(11),11) : l% = 700-larg%/2 : left 11,l%-5 end_sub -------------------------------- an: an = position(12) mois() : mois_entier() return -------------------------------- sub mois() dim_local flag clear 13 if count(3) > 0 for a% = 1 to count(3) a$ = item_read$(3,a%) :' "Je 01 janvier 2015|" ou "Je 01 janvier 2015|[08h30]teste\[*****].... k$ = left$(a$,instr(a$,"|")-1) k$=right$(k$,4) if instr(a$,caption$(11)) > 0 and val(k$) = an item_add 13,left$(a$,5)+" " : flag = 1 else if flag=1 then exit_for end_if next a% end_if end_sub -------------------------------- sub mois_entier() clear 1 : m1%= 1 for a% = 1 to count(3) k$ = item_read$(3,a%) : a$ = left$(k$,instr(k$,"|")-1):' "Je 01 janvier 2015|"-->"Je 01 janvier 2015" ' ^^^^^^^^^^^^^^^^^^ if val(right$(a$,4)) = an if instr(a$,mont$(mois)) > 0 v% = instr(k$,"|") if right_pos$(k$,v%+1) <> "" item_add 1,left$(a$,6) + right_pos$(k$,instr(k$,"|")) end_if m1%=m1%+1 end_if end_if next a%
end_sub -------------------------------- jour_du_mois: caption 15,item_index$(13) : text 6,"" caption 5," "+ trim$(caption$(15)) +" " + trim$(caption$(11)) +" "+str$(an)+" " clic% = 0 : clic20%=0 return -------------------------------- heure_du_jour: caption 16,item_index$(14) clic20%=0 return -------------------------------- ajouter: ' on regarde une cohérence entre les dates et les contenus des list 1 et 2 ' pour savoir si on ajoute, ou si on créé. clear 2 if count(1) > 0 for a% = 1 to count(1) if left$(item_read$(1,a%),5) = left$(trim$(caption$(5)),5) ' si = on laisse 1 et 2 text 6,right_pos$(item_read$(1,a%),7) : report() exit_for end_if next a% end_if a$ ="[" + trim$(caption$(16)) + "]" : text 6,a$ set_focus 6 : caret_position 6,len(a$) return ================================================================ data 2015,31,28,31,30,31,30,31,31,30,31,30,31,4 data janvier,"février",mars,avril,mai,juin,juillet,"août",septembre,octobre,novembre,"décembre"
|
| | | Contenu sponsorisé
| Sujet: Re: un petit planning | |
| |
| | | | un petit planning | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |