FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Agenda Emptypar Pedro Aujourd'hui à 10:37

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

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

» Décompilation
Agenda Emptypar JL35 Mar 12 Nov 2024 - 19:57

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

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

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

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

» KGF_dll - nouvelles versions
Agenda Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Agenda Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Agenda Emptypar Marc Ven 25 Oct 2024 - 12:18

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

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

» BUG QR Code DelphiZXingQRCode
Agenda Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Agenda Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G ...
Voir le deal
599 €

 

 Agenda

Aller en bas 
2 participants
AuteurMessage
JL35




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

Agenda Empty
MessageSujet: Agenda   Agenda EmptyVen 16 Juil 2010 - 17:07

Si vous ne voulez pas louper l'anniversaire de belle-maman (ce n'est pas conseillé), sans toutefois lui rappeler son âge (ce n'est pas conseillé non plus), un petit programme d'agenda/aide-mémoire.
Il est destiné à être compilé en exe et lancé automatiquement à chaque mise sous tension du PC. On lit (ou non) et on quitte.

Il affiche:
- les fêtes du jour et du lendemain
- les anniversaires éventuels du jour et du lendemain
- les événements éventuels du jour et du lendemain (aide-mémoire).
Agenda 0image
Pour cela il lit successivement 3 fichiers texte: FETES.TXT, ANNIVERS.TXT, EVENEMT.TXT.
Structure d'un enregistrement :
FETES.TXT: Nom,jjmm par exemple Adolphe,3006
ANNIVERS.TXT: jjmmaa,Nom par exemple 130575,Julie Durand (peut être suivi de la date de décès: 230742,Paul Dupont,301209)
EVENEMT.TXT: jjmmaa,texte par exemple 150810,départ en vacances
Les enregistrements précédés d'un astérisque sont ignorés (commentaires). Les fichiers anniversaires et événements sont écrits dans l'ordre croissant des dates, c'est plus pratique à gérer mais pas obligatoire.

Dans la foulée, il est possible d'éditer chacun de ces fichiers pour mises à jour en temps réel.

Je ne peux évidemment pas vous donner Anniversaires ni Événements, mais je vous fais cadeau du fichier FETES.TXT:
http://www.2shared.com/document/Jxy65sqU/FETES.html
Cliquer sur le triangle, puis sur 'click here' dans 'Save file to your PC' (ET NON PAS Download 2shared toolbar)

Voici:
Code:
DIM w0%, h0%, lef%, hat%, hal%, had%, haf%, lbt%, hbt%, no%, tp%, i%, mo$, lc%
DIM a$, a1$, bj$, bd$, sj$, sd$, c$, dj$, dd$, da$, jj%, mm%, aa%, fi$, fet$, fan$, fev$
DIM ALTI%, ALFJ%, ALFD%, ALAJ%, ALAD%, ALEJ%, ALED%, BTQ%, BTF%, BTA%, BTE%
DIM LSFJ%, LSFD%, LSAJ%, LSAD%, LSEJ%, LSED%
DIM lm%(12), Qpa, Qas, Qpe, Qj%, jd%, md%, ad%, Q%, Qt%, l%, j%, m%, jm$
DIM fm$(5), nf$(5), aq%, bq%, bi%, cq%, dq%, eq%, fq%, gq%, hq%, iq%, kq%, lq%, mq%
DIM sjpa$, slpa$, sjas$, sjpe$, slpe$
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
fm$(1)=sjpa$:fm$(2)=slpa$:fm$(3)=sjas$:fm$(4)=sjpe$:fm$(5)=slpe$
nf$(1)="PAQUES":nf$(2)="L. DE PAQUES":nf$(3)="ASCENSION":nf$(4)="PENTECOTE"
nf$(5)="L. DE PENTECOTE"

LABEL Fin, Lsfet, Lsani, Lseve, Tstl, Qjm, qjm1, ffq, Quantieme, Qpap, Edi
DATA "janvier","février","mars","avril","mai","juin","juillet","août","septembre"
DATA "octobre","novembre","décembre"

fet$ = "C:\Textes\Fetes.txt": ' ***************** à ajuster *********************
fan$ = "C:\Textes\Annivers.txt": ' ***************** à ajuster *********************
fev$ = "C:\Textes\Evenemt.txt": ' ***************** à ajuster *********************

hat% = 24: ' hauteur du titre
hal% = 16: ' hauteur d'un Alpha
had% = 12: ' hauteur d'un alpha
haf% = 32: ' hauteur d'un List
lbt% = 60: hbt% = hal%-1: ' largeur et hauteur d'un bouton
h0% = 7*hal% + 6*haf%
no% = 0
w0% = 350: h0% = hat%+3*hal%+3*had%+6*haf%+5
lef% = w0%-10: ' largeur d'un élément List
lc% = INT(lef%/7): ' en caractères (approx.)
jj% = VAL(LEFT$(DATE$, 2)): mm% = VAL(MID$(DATE$, 4, 2)): aa% = VAL(RIGHT$(DATE$,4))
IF (FRAC(aa%/4) = 0 AND FRAC(aa%/100) > 0) OR FRAC(aa%/400) = 0 THEN lm%(2) = 29
RESTORE
FOR i% = 1 TO mm%: READ mo$: NEXT i%
da$ = LEFT$(DATE$, 2) + " " + mo$ + " " + RIGHT$(DATE$, 4)
WIDTH 0, w0%: HEIGHT 0, h0%: BORDER_HIDE 0
LEFT 0, (SCREEN_X-w0%)/2: TOP 0, (SCREEN_Y-h0%)/2
COLOR 0,220,255,255
tp% = 0: ' position top courante
no%=no%+1: ALPHA no%: TOP no%,tp%+1: LEFT no%, 40: WIDTH no%,w0%: HEIGHT no%,hat%
ALTI%=no%: FONT_SIZE ALTI%, 12: FONT_BOLD ALTI%
CAPTION ALTI%, "Agenda du " + da$
no%=no%+1: BUTTON no%: TOP no%,tp%+1: LEFT no%,w0%-lbt%-5: WIDTH no%,lbt%: HEIGHT no%,hat%-2
BTQ%=no%: CAPTION BTQ%,"Quitter": ON_CLICK BTQ%, Fin

' Fêtes du jour
no%=no%+1: tp%=tp%+hat%: ALPHA no%: TOP no%,tp%+4: LEFT no%,5: WIDTH no%,lef%: HEIGHT no%,hal%
FONT_BOLD no%: CAPTION no%," FETES DU JOUR": ALFJ% = no%
no%=no%+1: BUTTON no%: TOP no%,tp%+1: LEFT no%,w0%-lbt%-5: WIDTH no%,lbt%: HEIGHT no%,hbt%
CAPTION no%,"Edit": ON_CLICK no%, Edi: BTF% = no%
no%=no%+1: tp%=tp%+hal%: LIST no%: TOP no%,tp%: LEFT no%,5: HEIGHT no%, haf%: WIDTH no%,lef%
COLOR no%, 255,255,128: FONT_SIZE no%, 10: FONT_BOLD no%
LSFJ% = no%
' et du lendemain
no%=no%+1: tp%=tp%+haf%: ALPHA no%: TOP no%,tp%: LEFT no%,w0%/2-50: HEIGHT no%,had%
CAPTION no%,"          Demain": ALFD% = no%
no%=no%+1: tp%=tp%+had%: LIST no%: TOP no%,tp%: LEFT no%,5: HEIGHT no%, haf%: WIDTH no%,lef%
COLOR no%,255,255,128: FONT_SIZE no%, 10: FONT_BOLD no%
LSFD% = no%

' Anniversaires du jour
no%=no%+1: tp%=tp%+haf%: ALPHA no%: TOP no%,tp%+4: LEFT no%,5: WIDTH no%,lef%: HEIGHT no%,hal%
FONT_BOLD no%: CAPTION no%," ANNIVERSAIRES DU JOUR": ALAJ% = no%
no%=no%+1: BUTTON no%: TOP no%,tp%+1: LEFT no%,w0%-lbt%-5: WIDTH no%,lbt%: HEIGHT no%,hbt%
CAPTION no%,"Edit": ON_CLICK no%, Edi: BTA% = no%
no%=no%+1: tp%=tp%+hal%: LIST no%: TOP no%,tp%: LEFT no%,5: HEIGHT no%, haf%: WIDTH no%,lef%
COLOR no%,255,255,128: FONT_SIZE no%, 10: FONT_BOLD no%
LSAJ% = no%
' et du lendemain
no%=no%+1: tp%=tp%+haf%: ALPHA no%: TOP no%,tp%: LEFT no%,w0%/2-50: HEIGHT no%,had%
CAPTION no%,"          Demain":ALAD% = no%
no%=no%+1: tp%=tp%+had%: LIST no%: TOP no%,tp%: LEFT no%,5: HEIGHT no%, haf%: WIDTH no%,lef%
COLOR no%,255,255,128: FONT_SIZE no%, 10: FONT_BOLD no%
LSAD% = no%

' Evénements du jour
no%=no%+1: tp%=tp%+haf%: ALPHA no%: TOP no%,tp%+4: LEFT no%,5: WIDTH no%,lef%: HEIGHT no%,hal%
FONT_BOLD no%: CAPTION no%," ÉVÉNEMENTS": ALEJ% = no%
no%=no%+1: BUTTON no%: TOP no%,tp%+1: LEFT no%,w0%-lbt%-5: WIDTH no%,lbt%: HEIGHT no%,hbt%
CAPTION no%,"Edit": ON_CLICK no%, Edi: BTE% = no%
no%=no%+1: tp%=tp%+hal%: LIST no%: TOP no%,tp%: LEFT no%,5: HEIGHT no%, haf%: WIDTH no%,lef%
LSEJ%=no%: COLOR no%,255,255,128: FONT_SIZE no%, 10: FONT_BOLD no%
LSEJ% = no%
' et du lendemain
no%=no%+1: tp%=tp%+haf%: ALPHA no%: TOP no%,tp%: LEFT no%,w0%/2-50: HEIGHT no%,had%
CAPTION no%,"          Demain": ALED% = no%
no%=no%+1: tp%=tp%+had%: LIST no%: TOP no%,tp%: LEFT no%,5: HEIGHT no%, haf%: WIDTH no%,lef%
COLOR no%,255,255,128: FONT_SIZE no%, 10: FONT_BOLD no%
LSED% = no%

2D_PEN_WIDTH 2: 2D_LINE 0, hat%-1, w0%-1, hat%-1
GOSUB Quantieme: ' -> Qj% = quantième du jour
GOSUB Qpap: ' -> Qpa, Qas, Qpe = quantièmes de Pâques, Ascension et Pentecôte
Q% = Qpa: GOSUB Qjm: sjpa$ = RIGHT$("0"+STR$(j%),2)+RIGHT$("0"+STR$(m%),2): ' Pâques
Q% = Qpa+1: GOSUB Qjm: slpa$ = RIGHT$("0"+STR$(j%),2)+RIGHT$("0"+STR$(m%),2): ' L.Pâq.
Q% = Qas: GOSUB Qjm: sjas$ = RIGHT$("0"+STR$(j%),2)+RIGHT$("0"+STR$(m%),2): ' Ascension
Q% = Qpe: GOSUB Qjm: sjpe$ = RIGHT$("0"+STR$(j%),2)+RIGHT$("0"+STR$(m%),2): ' Pentec.
Q% = Qpe+1: GOSUB Qjm: slpe$ = RIGHT$("0"+STR$(j%),2)+RIGHT$("0"+STR$(m%),2): ' L.Pentec.
sj$ = LEFT$(DATE$, 2) + MID$(DATE$, 4, 2) + RIGHT$(DATE$, 2)
jd% = jj% + 1: md% = mm%: ad% = aa%
IF jd% > lm%(mm%)
    jd%= 1: md% = mm% + 1
    IF md% > 12 THEN md% = 1: ad% = aa% + 1
END_IF
sd$ = RIGHT$("0"+STR$(jd%),2)+RIGHT$("0"+STR$(md%),2)+RIGHT$(STR$(ad%),2)
GOSUB Lsfet
GOSUB Lsani
GOSUB Lseve
END
Fin:
TERMINATE

Lsfet:
dj$ = "": dd$ = "": bj$ = LEFT$(sj$, 4): bd$ = LEFT$(sd$, 4)
' fêtes mobiles:
FOR i% = 1 TO 5
    IF bj$ = fm$(i%)
        dj$ = dj$ + nf$(i%) + ", "
    ELSE
        IF bd$ = fm$(i%)
            dd$ = dd$ + nf$(i%) + ", "
        END_IF
    END_IF
NEXT i%
' fêtes du jour, forme Prénom,jjmm
FILE_OPEN_READ 1, fet$
WHILE FILE_EOF(1) = 0
    FILE_READLN 1, a$
    IF INSTR(a$, bj$) > 0
        i% = INSTR(a$, ","): dj$ = dj$ + LEFT$(a$, i%) + " "
    ELSE
        IF INSTR(a$, bd$) > 0
            i% = INSTR(a$, ","): dd$ = dd$ + LEFT$(a$, i%) + " "
        END_IF
    END_IF
END_WHILE
FILE_CLOSE 1
IF LEN(dj$) > 2
    a$ = LEFT$(dj$, LEN(dj$)-2): GOSUB Tstl
    ITEM_ADD LSFJ%, a$
    IF a1$ <> "" THEN ITEM_ADD LSFJ%, a1$
END_IF
IF LEN(dd$) > 2
    a$ = LEFT$(dd$, LEN(dd$)-2): GOSUB Tstl
    ITEM_ADD LSFD%, a$
    IF a1$ <> "" THEN ITEM_ADD LSFD%, a1$
END_IF
RETURN

Lsani:
' forme jjmmaa,Nom[,jjmmaa du décès]
bj$ = LEFT$(sj$, 4): bd$ = LEFT$(sd$, 4)
FILE_OPEN_READ 1, fan$
WHILE FILE_EOF(1) = 0
    FILE_READLN 1, a$
    IF LEFT$(a$, 4) = bj$
        ITEM_ADD LSAJ%, a$
    ELSE
        IF LEFT$(a$, 4) = bd$
            ITEM_ADD LSAD%, a$
        END_IF
    END_IF
END_WHILE
FILE_CLOSE 1
RETURN

Lseve:
' forme jjmmaa,événement
bj$ = sj$: bd$ = sd$
FILE_OPEN_READ 1, fev$
WHILE FILE_EOF(1) = 0
    FILE_READLN 1, a$
    IF LEFT$(a$, 6) = bj$
        GOSUB Tstl
        ITEM_ADD LSEJ%, a$: IF a1$ <> "" THEN ITEM_ADD LSEJ%, a1$
    ELSE
        IF LEFT$(a$, 6) = bd$
            GOSUB Tstl
            ITEM_ADD LSED%, a$: IF a1$ <> "" THEN ITEM_ADD LSED%, a1$
        END_IF
    END_IF
END_WHILE
FILE_CLOSE 1
RETURN

Tstl:
a1$ = ""
IF LEN(a$) > lc%
    FOR i% = lc%+1 TO 1 STEP -1
        IF MID$(a$, i%, 1) = " " THEN EXIT_FOR
    NEXT i%
    a1$ = MID$(a$, i%+1, LEN(a$)-i%)
    a$ = LEFT$(a$, i%-1)
END_IF
RETURN

Edi:
IF CLICKED(BTF%) = 1 THEN fi$ = fet$
IF CLICKED(BTA%) = 1 THEN fi$ = fan$
IF CLICKED(BTE%) = 1 THEN fi$ = fev$
EXECUTE_WAIT "Notepad.exe " + fi$
RETURN

Qjm:
' Q% + aa% -> jour j% et mois m%, en fonction de quantième et année
bi% = 0
IF (FRAC(aa%/4) = 0 AND FRAC(aa%/100) > 0) OR FRAC(aa%/400) = 0 THEN bi% = 1
m% = 1: IF Q% < 32 THEN j% = Q%: GOTO ffq ELSE Qt% = 0
qjm1:
l%= lm%(m%): IF m% = 2 THEN l% = l% + bi%
Qt% = Qt% + l%: IF Qt% < Q% THEN m% = m% + 1: GOTO qjm1
j% = Q% - Qt% + l%
ffq:
RETURN

Quantieme:
' quantième du jour -> Qj%
FOR i% = 1 TO mm%-1: Qj% = Qj% + lm%(i%): NEXT i%
IF (FRAC(aa%/4) = 0 AND FRAC(aa%/100) > 0) OR FRAC(aa%/400) = 0
    IF mm% > 2 THEN QJ% = Qj% + 1
END_IF
Qj% = Qj% + jj%
RETURN

Qpap:
' quantièmes de Pâques, Ascension et Pentecôte
aq% = 19*FRAC(aa%/19)
bq% = INT(aa%/100)
bi% = 0
IF (FRAC(aa%/4) = 0 AND FRAC(aa%/100) > 0) OR FRAC(aa%/400) = 0 THEN bi% = 1
cq% = 100*FRAC(aa%/100)
dq% = INT(bq%/4)
eq% = 4*FRAC(bq%/4)
fq% = INT((bq% + 8)/25)
gq% = INT((bq% - fq% + 1)/3)
hq% = 30*FRAC((19 * aq% + bq% - dq% - gq% + 15)/30)
iq% = INT(cq%/4)
kq% = 4*FRAC(cq%/4)
lq% = 7*FRAC((32 + 2 * eq% + 2 * iq% - hq% - kq%)/7)
mq% = INT((aq% + 11 * hq% + 22 * lq%) / 451)
Qpa = hq% + lq% - 7 * mq% + 81 + bi%
Qas = Qpa + 39: Qpe = Qpa + 49
RETURN



Dernière édition par JL35 le Ven 16 Juil 2010 - 21:22, édité 4 fois
Revenir en haut Aller en bas
JL35




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

Agenda Empty
MessageSujet: Re: Agenda   Agenda EmptyVen 16 Juil 2010 - 17:21

Pour lancer automatiquement un programme au démarrage (Vista, mais aussi XP):
- Aller dans Démarrer>Tous les programmes, cliquer du bouton droit sur la ligne 'Démarrage', puis cliquer sur 'Ouvrir'. Dans la fenêtre qui s'ouvre, clic droit sur un emplacement vide >Nouveau >Raccourci
- Cliquer sur 'Parcourir', spécifier l'exécutable à lancer.
- Cliquer sur 'Suivant' pour terminer l'assistant.
Pour désactiver le lancement automatique:
Il suffit de supprimer le raccourci du programme dans le menu Démarrer>Tous les programmes>Démarrage, clic droit sur le programme, puis 'Supprimer'.
Revenir en haut Aller en bas
jjn4

jjn4


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

Agenda Empty
MessageSujet: +++   Agenda EmptySam 17 Juil 2010 - 10:56

La belle-mère, mon oeil,
c'est pour ne pas oublier les fêtes et anniversires de toutes tes conquêtes...
Laughing
Allez, bel ouvrage, quand même !
cheers
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




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

Agenda Empty
MessageSujet: Re: Agenda   Agenda EmptySam 17 Juil 2010 - 13:08

Damned ! tu as tout compris, il y en a tellement !
Revenir en haut Aller en bas
Contenu sponsorisé





Agenda Empty
MessageSujet: Re: Agenda   Agenda Empty

Revenir en haut Aller en bas
 
Agenda
Revenir en haut 
Page 1 sur 1

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: