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.
Un petit éphéméride Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Un petit éphéméride Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Un petit éphéméride Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Un petit éphéméride Emptypar JL35 Mar 12 Nov 2024 - 19:57

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

» traitement d'une feuille excel
Un petit éphéméride Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Un petit éphéméride Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Un petit éphéméride Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Un petit éphéméride Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Un petit éphéméride Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Un petit éphéméride Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Un petit éphéméride Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Un petit éphéméride Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Un petit éphéméride Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Un petit éphéméride 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 :
Boutique Nike : -25% dès 50€ sur TOUT le ...
Voir le deal

 

 Un petit éphéméride

Aller en bas 
+2
Marc
JL35
6 participants
AuteurMessage
JL35




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

Un petit éphéméride Empty
MessageSujet: Un petit éphéméride   Un petit éphéméride EmptySam 17 Sep 2016 - 21:34

Un petit éphéméride Epheme10
Code:
LABEL Majdat,Clk,Afmail,Sendmail,Aftel
DIM pg%,x%,y%,nc%,nr%,wc%,hr%,c%,r%,i%,js$,a$,b$,c$,aa%,mm%,jj%,m%,j%,lm%(12),mo$(12)
DIM mo%,ao%,fmel$,ftel$,wm$,w100%,ct%,cf%
fmel$ = "C:\TEXTES\Admail.txt": ' liste des adresses email
ftel$ = "C:\TEXTES\Annucompact.txt": ' annuaire téléphonique compact
wm$ = "C:\PROGRA~2\WINDOW~1\WinMail.exe": ' Windows Mail

js$ = "LuMaMeJeVeSaDI"
DATA 31,28,31,30,31,30,31,31,30,31,30,31
FOR i% = 1 TO 12: READ lm%(i%): NEXT i%
DATA "JANVIER","FÉVRIER","MARS","AVRIL","MAI","JUIN","JUILLET","AOÙT","SEPTEMBRE"
DATA "OCTOBRE","NOVEMBRE","DÉCEMBRE"
FOR i% = 1 TO 12: READ mo$(i%): NEXT i%

nc% = 7: nr% = 7: ' nb de colonnes et rangées
wc% = 25: hr% = 20: ' dimensions des cases

WIDTH 0,nc%*wc%+8: HEIGHT 0,185: COLOR 0,0,180,180: BORDER_HIDE 0
    TOP 0,(SCREEN_Y-HEIGHT(0))/2: LEFT 0,(SCREEN_X-WIDTH(0))/2
    FONT_NAME 0,"Arial"
ALPHA 1: TOP 1,2: LEFT 1,20: FONT_SIZE 1,12: FONT_BOLD 1: FONT_COLOR 1,255,255,128

a$ = DATE$
jj% = VAL(LEFT$(a$,2)): mm% = VAL(MID$(a$,4,2)): aa% = VAL(RIGHT$(a$,4))
mo% = mm%: ao% = aa%
pg% = 2
x% = 4: y% = 20: GOSUB Majdat

FONT_BOLD_OFF pg%
BUTTON 10: TOP 10,TOP(pg%)+HEIGHT(pg%)+2: LEFT 10,4: WIDTH 10,20: CAPTION 10,"<<"
BUTTON 11: TOP 11,TOP(10): LEFT 11,WIDTH(10)+5: WIDTH 11,WIDTH(10): CAPTION 11,"<"
BUTTON 12: TOP 12,TOP(11): LEFT 12,LEFT(11)+WIDTH(11)+1: WIDTH 12,WIDTH(11): CAPTION 12,">"
BUTTON 13: TOP 13,TOP(12): LEFT 13,LEFT(12)+WIDTH(12)+1: WIDTH 13,WIDTH(12): CAPTION 13,">>"
BUTTON 14: TOP 14,TOP(13): LEFT 14,LEFT(13)+WIDTH(13)+2: WIDTH 14,29: CAPTION 14,"Mail"
BUTTON 15: TOP 15,TOP(14): LEFT 15,LEFT(14)+WIDTH(14)+1: WIDTH 15,29: CAPTION 15,"Tél."
BUTTON 16: TOP 16,TOP(15): WIDTH 16,30: LEFT 16,WIDTH(0)-34: CAPTION 16,"Quit"
FOR i% = 10 TO 16: HEIGHT i%,20: FONT_BOLD i%: ON_CLICK i%,Clk: NEXT i%
FOR i% = 10 TO 13: FONT_SIZE i%,10: NEXT i%

w100% = 420
FORM 100: HIDE 100: LEFT 100,LEFT(0)-w100%: WIDTH 100,w100%: HEIGHT 100,700
    BORDER_SMALL 100: CAPTION 100,"     -   ADRESSES   EMAIL   -"
LIST 101: PARENT 101,100: WIDTH 101,220: HEIGHT 101,HEIGHT(100)-40: ON_CLICK 101,Sendmail
    FONT_SIZE 101,10: FONT_COLOR 101,0,0,255
LIST 102: PARENT 102,100: LEFT 102,WIDTH(101): WIDTH 102,180: HEIGHT 102,HEIGHT(101)
    FONT_SIZE 102,10
BUTTON 103: PARENT 103,100: TOP 103,HEIGHT(100)-60: WIDTH 103,WIDTH(100)-20
    FONT_BOLD 103: FONT_SIZE 103,12: CAPTION 103,"Cliquer une adresse pour créer un message"
IF FILE_EXISTS(fmel$) = 1
    FILE_OPEN_READ 1,fmel$
    WHILE FILE_EOF(1) = 0
        FILE_READLN 1,a$: b$ = "": i% = INSTR(a$," ")
        IF i% > 0
            b$ = RIGHT_POS$(a$,i%+1): a$ = LEFT$(a$,i%-1)
         END_IF
         ITEM_ADD 101,a$: ITEM_ADD 102,b$
    END_WHILE
    FILE_CLOSE 1
ELSE
    HIDE 14
END_IF

FORM 120: HIDE 120: LEFT 120,LEFT(0)+WIDTH(0): WIDTH 120,250: HEIGHT 120,SCREEN_Y-30
    BORDER_SMALL 120
LIST 121: PARENT 121,120: FULL_SPACE 121
IF FILE_EXISTS(ftel$) = 1
    FILE_LOAD 121,ftel$
ELSE
    HIDE 15
END_IF
END
' ==============================================================================
Majdat:
lm%(2) = 28: Bisex(aa%): IF rs_bi% = 1 THEN lm%(2) = 29
a$ = "- "+mo$(mm%)+"  "+STR$(aa%)+" -": i% = TEXT_WIDTH(a$,1)
LEFT 1,(WIDTH(0)-i%)/2: CAPTION 1,a$
GridPict(pg%,x%,y%,nc%,nr%,wc%,hr%)
FONT_SIZE pg%,10: FONT_BOLD pg%
ct% = 0: cf% = 13158655: ' texte noir sur bleu clair
FOR i% = 1 TO 7: ' jours de la semaine
    a$ = MID$(js$,i%*2-1,2)
    GridPictEcr(pg%,wc%,hr%,i%,1,a$,1,1,ct%,cf%)
NEXT i%
FONT_BOLD_OFF pg%: FONT_COLOR pg%,0,0,255
r% = 2
FOR j% = 1 TO lm%(mm%): ' quantièmes du mois
    Joursem(aa%,mm%,j%): c% = rs_js%: IF c% = 0 THEN c% = 7
    ct% = 0: cf% = 16777215
    IF j% = jj% AND mm% = mo% AND aa% = ao%
        FONT_BOLD pg%: ct%=65536*180: cf%=65536*255+256*255: ' txt rouge sur jaune
    END_IF
    IF r% > nr% THEN nr% = nr%+1
    GridPictEcr(pg%,wc%,hr%,c%,r%,STR$(j%),1,1,ct%,cf%)
    FONT_BOLD_OFF pg%: FONT_COLOR pg%,0,0,255
    IF c% = 7 THEN r% = r%+1
NEXT j%
RETURN
' ==============================================================================
Clk:
i% = NUMBER_CLICK
SELECT i%
    CASE 10: aa% = aa%-1: GOSUB Majdat
    CASE 11: mm% = mm%-1: IF mm% < 1 THEN mm% = 12: aa% = aa%-1
             GOSUB Majdat
    CASE 12: mm% = mm%+1: IF mm% = 13 THEN mm% = 1: aa% = aa%+1
             GOSUB Majdat
    CASE 13: aa% = aa%+1: GOSUB Majdat
    CASE 14: GOSUB Afmail
    CASE 15: GOSUB Aftel
    CASE 16: TERMINATE
END_SELECT

RETURN
' ==============================================================================
Afmail:
SHOW 100
RETURN
' ==============================================================================
Sendmail:
a$ = ITEM_INDEX$(101)
EXECUTE "cmd.exe /c start /B "+wm$+" /mailurl:mailto:"+a$: ' lancement Windows Mail
HIDE 100
RETURN
' ==============================================================================
Aftel:
SHOW 120
RETURN
' ==============================================================================
SUB GridPict(pg%,x%,y%,nc%,nr%,wc%,hr%)
  ' Création d'un picture/grille npg% en x%,y%, nc%/nr% colonnes/rangées,
  ' wc%,hr% dimensions cellules largeur/hauteur (pixels)
  DIM_LOCAL i%
  IF OBJECT_EXISTS(pg%) = 0
    PICTURE pg%: TOP pg%,y%: LEFT pg%,x%: WIDTH pg%,nc%*wc%+1: HEIGHT pg%,nr%*hr%+1
  ELSE
    CLS
  END_IF
  2D_TARGET_IS pg%
  FOR i% = 0 TO WIDTH(pg%) STEP wc%
    2D_LINE i%,0,i%,HEIGHT(pg%)
  NEXT i%
  FOR i% = 0 TO HEIGHT(pg%) STEP hr%
    2D_LINE 0,i%,WIDTH(pg%),i%
  NEXT i%
END_SUB
' ==============================================================================
SUB GridPictxy(pg%,wc%,hr%,c%,r%)
  ' Coordonnées de la cellule colonne c%, rangée r% -> x%,y% (picture/grille pg%)
  x% = (c%-1)*wc%+1
  y% = (r%-1)*hr%+1
END_SUB
' ==============================================================================
SUB GridPictEcr(pg%,wc%,hr%,c%,r%,tx$,ah%,av%,ct%,cf%)
  ' Ecriture texte tx$ dans la cellule c%,r% du picture/grille pg%
  ' (attributs courants): ah%,av% = alignement horizontal et vertical
  ' (0 gauche ou haut, 1 centre, 2 droite ou bas)
  ' ct%: couleur texte (-1 si inchangé), cf%= couleur fond (-1 si inchangé)
  ' (format couleurs: r*65536 + g*256 + b)
  DIM_LOCAL x%,y%,wt%,ht%,cr%,cg%,cb%
  x% = (c%-1)*wc%+3: ' coordonnées de la case cible
  y% = (r%-1)*hr%+1
  2D_TARGET_IS pg%
  IF cf% >= 0: ' couleur fond de la case
      cr%=INT(cf%/65536): cg%=BIN_AND(cf%,65280)/256: cb%=BIN_AND(cf%,255)
      2D_FLOOD x%+2,y%+2,cr%,cg%,cb%
      2D_FILL_COLOR cr%,cg%,cb%
  END_IF
  wt% = TEXT_WIDTH(tx$,pg%): ht% = TEXT_HEIGHT(tx$,pg%)
  IF ah% > 0
    SELECT ah%
        CASE 1: WHILE wt%<wc%: tx$=" "+tx$+" ": wt%=TEXT_WIDTH(tx$,pg%): END_WHILE
        CASE 2: WHILE wt%<wc%: tx$=" "+tx$: wt%=TEXT_WIDTH(tx$,pg%): END_WHILE
    END_SELECT
    tx$ = RIGHT_POS$(tx$,2)
  END_IF
  IF av% > 0
    SELECT av%
        CASE 1: y% = y%+(hr%-ht%)/2
        CASE 2: y% = y%+ hr%-ht%-1
    END_SELECT
  END_IF
  PRINT_TARGET_IS pg%
  IF ct% >= 0: ' couleur texte
      cr%=INT(ct%/65536): cg%=BIN_AND(ct%,65280)/256: cb%=BIN_AND(ct%,255)
      FONT_COLOR pg%,cr%,cg%,cb%
  END_IF
  PRINT_LOCATE x%,y%: PRINT RTRIM$(tx$)
  2D_FILL_COLOR 255,255,255
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 Bisex(Annee)
  IF VARIABLE("rs_bi%") = 0 THEN DIM rs_bi%
  rs_bi% = 0
  IF (FRAC(Annee/4)=0 AND FRAC(Annee/100)>0) OR FRAC(Annee/400)=0 THEN rs_bi% = 1
END_SUB
' ==============================================================================
Positionné arbitrairement au centre de l'écran (modulable, évidemment).
Affiche au lancement le mois en cours.

- Les touches flèches servent à se déplacer '<' et '>' d'un mois, et '<<' et '>>' d'une année.
- La touche 'Mail' affiche une liste d'adresses email, contenues dans un fichier texte séquentiel, comprenant par ligne l'adresse mail elle-même suivie éventuellement d'un espace et d'un court commentaire.
Le clic sur une adresse provoque l'affichage de la messagerie avec l'adresse destinataire préremplie: il s'agit ici de Windows Mail, mais il faudrait adapter pour d'autres messageries.
- La touche 'Tél.' affiche un annuaire téléphonique tout simple, également dans un fichier texte (il faut adapter la taille des lignes à celle de la fenêtre (ou l'inverse !  Very Happy )
- Et 'Quit' pour quitter.

Rien de révolutionnaire, c'est un gadget sans prétention.

Les adresses des ressources, en tête (fichiers et messagerie) sont évidemment à adapter.


Dernière édition par JL35 le Mar 20 Sep 2016 - 17:53, édité 4 fois
Revenir en haut Aller en bas
Marc

Marc


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

Un petit éphéméride Empty
MessageSujet: Re: Un petit éphéméride   Un petit éphéméride EmptyDim 18 Sep 2016 - 0:57

Bonjour JL35,

Après avoir ajusté les paramètres dont tu as parlé et créé les deux fichiers .TXT, tout fonctionne à merveille !

Format du fichier "adresses mail" créé pour les tests :

toto@free.fr Louis
tata@orange.fr Simone
xxxxx@sfr.fr Bidule
...

Pas de problème et les années bissextiles sont bien calculées.

Merci pour ce code.

Petit gadget sympa !

Revenir en haut Aller en bas
JL35




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

Un petit éphéméride Empty
MessageSujet: Re: Un petit éphéméride   Un petit éphéméride EmptyDim 18 Sep 2016 - 13:08

Merci Marc pour le retour, c'est sympa et ça fait plaisir ! Smile

PS du coup je viens d'ajouter la possibilité d'écrire dans les cases de la picture/grille avec une couleur donnée sur un fond de couleur donnée..
Ici le jour actuel est rouge sur fond jaune, et les noms des jours sur fond bleu clair.
Un petit éphéméride Eph10
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Un petit éphéméride Empty
MessageSujet: re   Un petit éphéméride EmptyDim 18 Sep 2016 - 14:34

Joli petit outils JL35.
Revenir en haut Aller en bas
jjn4

jjn4


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

Un petit éphéméride Empty
MessageSujet: +++   Un petit éphéméride EmptyMar 20 Sep 2016 - 14:42

Oui, un petit bidule bien utile, bravo !
cheers alien king
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Un petit éphéméride Empty
MessageSujet: Re: Un petit éphéméride   Un petit éphéméride EmptyMar 20 Sep 2016 - 16:34

@JL35
j'obtiens l'erreur suivante:
(93)FILE does not exist(not created). line 50 

pareil en ligne 63
Revenir en haut Aller en bas
JL35




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

Un petit éphéméride Empty
MessageSujet: Re: Un petit éphéméride   Un petit éphéméride EmptyMar 20 Sep 2016 - 17:51

Bonjour silverman,

Il s'agit des deux fichiers répertoriés en tête (avec adresses à adapter):
- le fichier des adresses email
- le répertoire téléphonique
dont j'ai donné la structure (très simple: voir le post de Marc37 pour les adresses email, format libre pour le téléphone, c'est rudimentaire).
Mais effectivement j'aurais dû d'entrée tester la présence de ces deux fichiers qui sont des ressources 'externes', et qui après tout ne sont pas forcément obligatoires.

J'ai rajouté ce test là-haut.
Et j'ai désactivé l'affichage des boutons 'Mail' et/ou 'Tél.' si ces fichiers n'existent pas.
Revenir en haut Aller en bas
Minibug

Minibug


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

Un petit éphéméride Empty
MessageSujet: Re: Un petit éphéméride   Un petit éphéméride EmptyMar 20 Sep 2016 - 19:54

Pas mal du tout. Wink
Bravo JL35 ! cheers
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





Un petit éphéméride Empty
MessageSujet: Re: Un petit éphéméride   Un petit éphéméride Empty

Revenir en haut Aller en bas
 
Un petit éphéméride
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Petit plus sur le mag
» petit truc
» Un petit explorateur
» Un petit diaporama
» Petit Questionnaire

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: