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 Post-it sur le bureau | |
| | |
Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Un Post-it sur le bureau Lun 12 Juil 2010 - 15:38 | |
| Une petite note rapide à prendre et on n'a pas de crayon sous la main, il suffit de la saisir au clavier. Et ça affiche les dernières notes archivées. La saisie se fait sur une ligne (Edit) au kilomètre, puis 'OK', l'affichage sur plusieurs lignes éventuellement. Les notes sont affichées dans l'ordre chronologique inverse (d'abord les plus récentes). Un article du fichier d'archivage des notes (Postit.txt) comprend deux lignes: la date et heure de la note, puis la note elle-même. On peut supprimer un des enregistrements en cliquant dessus. L'icône sur le bureau (après transformation en exe) n'est pas fournie. On remarquera que j'ai utilisé la méthode de numérotation en série des objets, ça me plaît bien, c'est bien plus parlant, et on peut intercaler ou supprimer des objets sans problème, sans s'occuper des numéros, ça s'ajuste automatiquement. Voilà: - Code:
-
' Postit.bas un post-it sur le bureau DIM w0, h0, wf, hf, pv, ph, fpo$, ftm$, tpo, dl$, rc$, go DIM a$, b$, d$, t$, m$, i%, j%, k%, x%, ll% DIM ht, hm, hl, ha, he, hb, tm, tl, ta, te, tb, lb DIM art$(2000), nart% DIM no%, LS%, AL2%, ED%, BTR%, BTO%, BQ%, BS%, BC%, BV%, BA%, BR%, BH% DATA "janvier","février","mars","avril","mai","juin","juillet","août" DATA "septembre","octobre","novembre","décembre" LABEL Fin, Agrandir, Reduire, Redim, Valide, Mef, Supart, rq, rr, rs, rt, ru LABEL Copier, Coller, Raz, Aide
fpo$ = "C:\LANGAGES\Panoramic\Postit.txt": ' ***** emplacement à ajuster ***** ftm$ = "Z:\Ftmp.txt": ' ***** fichier de manoeuvre, à ajuster ***** dl$ = "**** ": ' séquence de début d'article rc$ = "<#": ' retour chariot interligne
ht = 24: ' hauteur titre hm = 24: ' hauteur menu hl = 100: ' hauteur initiale fenêtre de visualisation ha = 18: ' hauteur alpha he = 24: ' hauteur zone edit hb = 26: ' hauteur zone bouton h0 = ht+hm+hl+ha+he+hb: ' hauteur totale tm = ht tl = ht + hm ta = tl + hl te = ta + ha tb = te + he pv = 30: ' paliers d'agrandissement ou de réduction de la fenêtre ph = 40
w0 = 320: ' *** Taille de la fenêtre à ajuster selon les goûts ! lb = w0/6: hb = 18 LEFT 0, 10: TOP 0, 10: WIDTH 0, w0: HEIGHT 0, h0: BORDER_HIDE 0 COLOR 0, 255,255,220 wf = w0 - 8 tpo = 10: ' taille police ll% = INT((w0-20)/8): ' largeur ligne maxi, en caractères
no% = 0: ' numéro d'objet no% = no% + 1: ALPHA no%: TOP no%, -8: LEFT no%, 80: HEIGHT no%, ht: WIDTH no%, w0-80 FONT_NAME no%, "Arial Black": FONT_SIZE no%, 20: FONT_BOLD no% CAPTION no%, "Post-it" no% = no%+1: BUTTON no%: TOP no%, 2: LEFT no%, w0-lb: WIDTH no%, lb FONT_SIZE no%, tpo: CAPTION no%, "Quitter": ON_CLICK no%, Fin: BQ% = no% no% = no% + 1: BUTTON no%: TOP no%, ht+5: LEFT no%, 0: WIDTH no%, lb: HEIGHT no%, hb CAPTION no%, "Supprimer": ON_CLICK no%, Supart: BS% = no% no% = no% + 1: BUTTON no%: TOP no%, ht+5: LEFT no%, lb: WIDTH no%, lb: HEIGHT no%, hb CAPTION no%, "Copier": ON_CLICK no%, Copier: BC% = no% no% = no% + 1: BUTTON no%: TOP no%, ht+5: LEFT no%, 2*lb: WIDTH no%, lb: HEIGHT no%, hb CAPTION no%, "Coller": ON_CLICK no%, Coller: BV% = no% no% = no% + 1: BUTTON no%: TOP no%, ht+5: LEFT no%, 3*lb: WIDTH no%, lb: HEIGHT no%, hb CAPTION no%, "Agrandir": ON_CLICK no%, Agrandir: BA% = no% no% = no% + 1: BUTTON no%: TOP no%, ht+5: LEFT no%, 4*lb: WIDTH no%, lb: HEIGHT no%, hb CAPTION no%, "Réduire": ON_CLICK no%, Reduire: BR% = no% no% = no% + 1: BUTTON no%: TOP no%, ht+5: LEFT no%, 5*lb: WIDTH no%, lb: HEIGHT no%, hb CAPTION no%, "?": ON_CLICK no%, Aide: BH% = no% ' LS%: List principale no% = no% + 1: LIST no%: TOP no%, tl: LEFT no%, 4: HEIGHT no%, hl: WIDTH no%, wf FONT_SIZE no%, tpo: FONT_NAME no%, "Lucida Console": COLOR no%, 255,255,128 LS% = no%
no% = no% + 1: ALPHA no%: TOP no%, ta: WIDTH no%, w0 FONT_SIZE no%, tpo CAPTION no%, " Entrer le nouveau texte ici:": AL2% = no% no% = no% + 1: EDIT no%: TOP no%, te: LEFT no%, 5: HEIGHT no%, 16: WIDTH no%, wf FONT_SIZE no%, tpo: ED% = no% no% = no% + 1: BUTTON no%: TOP no%, tb: LEFT no%, w0/2-lb: WIDTH no%, lb FONT_SIZE no%, tpo: CAPTION no%, "RAZ": ON_CLICK no%, Raz: BTR% = no% no% = no% + 1: BUTTON no%: TOP no%, tb: LEFT no%, w0/2: WIDTH no%, lb FONT_SIZE no%, tpo: CAPTION no%, "OK": ON_CLICK no%, Valide: BTO% = no% GOSUB Mef END Fin: TERMINATE
Agrandir: go = 0 IF (ht+hm+hl+ha+he+hb) < (SCREEN_Y-10) hl = hl + pv: go = 1 END_IF IF w0 < (SCREEN_X - 20) w0 = w0 + ph: go = 1 END_IF IF go = 1 THEN GOSUB Redim RETURN
Reduire: go = 0 IF hl > 60 hl = hl - pv END_IF IF w0 > 200 w0 = w0 - ph: go = 1 END_IF IF go = 1 THEN GOTO Redim RETURN
Redim: lb = w0/6 wf = w0 - 8 ll% = INT((w0-20)/8): ' largeur ligne maxi, en caractères h0 = ht+hm+hl+ha+he+hb: ' hauteur totale tl = ht + hm ta = tl + hl te = ta + ha tb = te + he WIDTH 0, w0: HEIGHT 0, h0 WIDTH LS%, wf: HEIGHT LS%, hl WIDTH ED%, wf TOP AL2%, ta TOP ED%, te TOP BTR%, tb TOP BTO%, tb WIDTH BQ%, lb: WIDTH BS%, lb: WIDTH BC%, lb: WIDTH BV%, lb: WIDTH BA%, lb WIDTH BR%, lb: WIDTH BH%, lb: WIDTH BTR%, lb: WIDTH BTO%, lb LEFT BQ%, w0-lb LEFT BC%,lb: LEFT BV%,2*lb: LEFT BA%,3*lb: LEFT BR%,4*lb: LEFT BH%,5*lb LEFT BTR%, w0/2-lb: LEFT BTO%, w0/2 GOSUB Mef RETURN
Valide: a$ = RTRIM$(TEXT$(ED%)): IF a$ = "" THEN RETURN RESTORE FOR i% = 1 TO VAL(MID$(DATE$, 4, 2)) READ m$ NEXT i% d$ = LEFT$(DATE$, 2) + " " + m$ + " " + RIGHT$(DATE$, 4) FILE_OPEN_APPEND 1, fpo$ FILE_WRITELN 1, dl$ + d$ + " à " + TIME$ + " ****" FILE_WRITELN 1, a$ FILE_CLOSE 1 GOSUB Mef TEXT ED%, "": ' effacement de l'Edit RETURN
Mef: ' mise du fichier en ordre chronologique inverse, et chargement dans List LS% nart% = 0 IF FILE_EXISTS(fpo$) = 0 FILE_OPEN_WRITE 1, fpo$ RESTORE FOR i% = 1 TO VAL(MID$(DATE$, 4, 2)) READ m$ NEXT i% d$ = LEFT$(DATE$, 2) + " " + m$ + " " + RIGHT$(DATE$, 4) FILE_WRITELN 1, dl$ + d$ + " à " + TIME$ + " INIT ****" FILE_WRITELN 1, "Initialisation" FILE_CLOSE 1 END_IF FILE_OPEN_READ 1, fpo$ WHILE FILE_EOF(1) = 0 FILE_READLN 1, a$ IF LEFT$(a$, 5) = dl$ FILE_READLN 1, b$: a$ = a$ + CHR$(13) + CHR$(10) + b$ nart% = nart% + 1: art$(nart%) = a$ END_IF END_WHILE FILE_CLOSE 1 FILE_OPEN_WRITE 1, ftm$ FOR i% = nart% TO 1 STEP -1 a$ = RTRIM$(art$(i%)) k% = INSTR(a$, CHR$(13)) FILE_WRITELN 1, LEFT$(a$, k%-1): a$ = MID$(a$, k%+2, LEN(a$)-k%-1) rq: IF LEN(a$) > ll% FOR j% = ll%+1 TO 1 STEP -1 IF MID$(a$, j%, 1) = " " THEN EXIT_FOR NEXT j% IF j% = 0 FILE_WRITELN 1, LEFT$(a$, ll%)+CHR$(31) a$ = MID$(a$, ll%+1, LEN(a$)-ll%) ELSE FILE_WRITELN 1, LEFT$(a$, j%-1) a$ = MID$(a$, j%+1, LEN(a$)-j%) END_IF GOTO rq END_IF FILE_WRITELN 1, a$ NEXT i% FILE_CLOSE 1 FILE_LOAD LS%, ftm$ FILE_DELETE ftm$ RETURN
Supart: IF ITEM_INDEX(LS%) = 0 MESSAGE "Sélectionner une ligne d'un article pour le supprimer" RETURN END_IF x% = ITEM_INDEX(LS%) rr: a$ = ITEM_READ$(LS%, x%) IF LEFT$(a$, 5) <> dl$ THEN x% = x% - 1: GOTO rr IF INSTR(a$, "INIT") > 0 MESSAGE "Suppression du 1er article (Init) interdite !": RETURN END_IF i% = MESSAGE_CONFIRMATION_YES_NO("Supprimer cet article") IF i% = 1 FILE_OPEN_READ 1, fpo$ FILE_OPEN_WRITE 2, ftm$ WHILE FILE_EOF(1) = 0 FILE_READLN 1, b$ IF b$ = a$ FILE_READLN 1, b$: ' ignore la ligne et la suivante ELSE FILE_WRITELN 2, b$ END_IF END_WHILE FILE_CLOSE 1 FILE_CLOSE 2 ' Recopie du fichier temporaire dans le fichier Postit.txt FILE_OPEN_READ 1, ftm$ FILE_OPEN_WRITE 2, fpo$ WHILE FILE_EOF(1) = 0 FILE_READLN 1, a$: FILE_WRITELN 2, a$ END_WHILE FILE_CLOSE 1 FILE_CLOSE 2 GOSUB Mef END_IF RETURN
Copier: ' copie d'un article dans le clipboard IF ITEM_INDEX(LS%) = 0 MESSAGE "Sélectionner un article pour copier son contenu dans le presse-papier" RETURN END_IF x% = ITEM_INDEX(LS%): b$ = "" rs: a$ = ITEM_READ$(LS%, x%) IF LEFT$(a$, 5) <> dl$ THEN x% = x% - 1: GOTO rs x% = x% + 1: b$ = ITEM_READ$(LS%, x%) rt: x% = x% + 1 IF x%<= COUNT(LS%) a$ = ITEM_READ$(LS%, x%) IF LEFT$(a$, 5) <> dl$ IF RIGHT$(b$, 1) = CHR$(31) b$ = LEFT$(b$, LEN(b$)-1) + a$ ELSE b$ = b$ + " " + a$ END_IF GOTO rt END_IF END_IF CLIPBOARD_STRING_COPY b$ RETURN
Coller: a$ = CLIPBOARD_STRING_PASTE$ ru: k% = INSTR(a$, CHR$(13)+CHR$(10)) IF k% > 0 AND k% < (LEN(a$)-1) a$ = LEFT$(a$, k%-1) + rc$ + MID$(a$, k%+2, LEN(a$)-k%-1): GOTO ru END_IF TEXT ED%, a$ RETURN
Raz: TEXT ED%, "" RETURN
Aide: a$ = CHR$(9) + CHR$(9) + CHR$(9) + "POST-IT" + CHR$(10) + CHR$(10) a$ = a$ + " Saisie et affichage de courts textes aide-mémoire" + CHR$(10) + CHR$(10) a$ = a$ + "Saisir le texte à mémoriser (une seule ligne, de longueur quelconque)" + CHR$(10) a$ = a$ + " dans la zone de saisie, en bas, puis clic 'OK'." + CHR$(10) a$ = a$ + " (on peut insérer un saut de ligne par la séquence '<#')." + CHR$(10) a$ = a$ + "Le texte validé sera horodaté, mémorisé dans le fichier Postit.txt, et"+ CHR$(10) a$ = a$ + " affiché dans la fenêtre supérieure." a$ = a$ + CHR$(10) a$ = a$ + "Les textes déjà mémorisés sont présentés dans le tableau au-dessus,"+CHR$(10) a$ = a$ + " dans l'ordre chronologique inverse (les plus récents en tête)." + CHR$(10) a$ = a$ + " (les sauts de ligne éventuels sont représentés par la séquence '<#')."+CHR$(10) a$ = a$ + CHR$(10) a$ = a$ + "Touche 'Supprimer': supprimer un article sélectionné." + CHR$(10) a$ = a$ + " Sélectionner une ligne quelconque de l'article, puis 'Supprimer'"+CHR$(10) a$ = a$ + "Touche 'Copier': copier l'article sélectionné dans le clipboard."+CHR$(10) a$ = a$ + "Touche 'Coller': coller le clipboard (texte) dans la zone de saisie."+CHR$(10) a$ = a$ + " (les sauts de ligne éventuels sont représentés par la séquence '<#')."+CHR$(10) a$ = a$ + "Touches 'Agrandir/Réduire': modifier la taille de la fenêtre."+CHR$(10) a$ = a$ + CHR$(10) + "Touche 'RAZ': effacer la zone de saisie." + CHR$(10) a$ = a$ + "Touche 'OK': valider la saisie -> affichage et écriture dans le fichier." MESSAGE a$ RETURN
Dernière édition par JL35 le Dim 25 Juil 2010 - 22:45, édité 6 fois | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Un Post-it sur le bureau Lun 12 Juil 2010 - 16:02 | |
| Superbe idée, cela rend toujours service un post-it ! surtout quand on a déjà plus de place autour de l'écran ! Heu.... ne le prend pas mal JL35, je t'assure, je ne m'acharne pas sur toi... Je suis peut être maladroit dans mes réponses mais ce n'est pas dans mon intention de blesser... Mais lorsque je lance le prog j'ai le message FILE Does not Exist Line 61... Peut être un test FILE_EXIST puis éventuellement un FILE_OPEN_WRITE (pour la création) serait nécessaire avant le FILE_OPEN_READ... eventuellement j'entend... Amicalement, Nardo | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Un Post-it sur le bureau Lun 12 Juil 2010 - 16:24 | |
| Évidemment, je vois bien que tu t'acharnes sur moi, mais je dois bien reconnaître (à contre coeur et de mauvaise grâce) que tu as raison Le fichier n'existe évidemment pas à l'origine (je l'avais créé avec le bloc-notes pour mes essais, donc je n'ai pas eu l'erreur. C'est une explication, pas une excuse). Je corrige ça tout de suite, merci quand même !!! PS: voilà, j'ai édité le code ci-dessus, pour créer le fichier s'il n'existe pas (et apparemment je n'ai pas perdu les antislash dans la bagarre). | |
| | | Invité Invité
| Sujet: Re: Un Post-it sur le bureau Lun 12 Juil 2010 - 18:49 | |
| Ton programme est le bien venu. Bon travail |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Un Post-it sur le bureau Lun 12 Juil 2010 - 19:11 | |
| rien à redire... nickel !
| |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Un Post-it sur le bureau Lun 12 Juil 2010 - 19:58 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Un Post-it sur le bureau Lun 12 Juil 2010 - 20:32 | |
| Merci les gars, n'en jetez plus ! | |
| | | Invité Invité
| Sujet: Re: Un Post-it sur le bureau Lun 12 Juil 2010 - 22:02 | |
| J'ai juste un seul article (pour sortir les poubelles -c'est fait), et j'ai voulu le supprimer. Je reçois ce message d'erreur: (122) FILE Already Used. Line 108 la ligne 108, si dès fois il y a in petit décalage selon comment on copie ou non, est: - Code:
-
IF LEFT$(a$, 5) <> dl$ THEN x% = x% - 1: GOTO rr Je me fais aucun soucis pour la résolution. @+ |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Un Post-it sur le bureau Lun 12 Juil 2010 - 23:13 | |
| Effectivement cosmos, tu as mis le doigt sur une faille, s'il n'y a qu'un seul article et qu'on le supprime. Je regarde ça. (entre parenthèses, l'erreur que tu donnes ne peut pas correspondre à la ligne citée, je ne vois pas le rapport...)
PS voilà, j'ai édité le code ci-dessus: j'ai fait au plus simple, j'ai tout simplement interdit la suppression du 1er article d'initialisation (créé au moment de la création du fichier, au premier lancement du programme). Il vaut mieux supprimer carrément le fichier Postit.txt, s'il existe, avant de lancer cette nouvelle version, il sera recréé. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 0:06 | |
| Très sympa, ton programme ! J'en ai généré un exe après avoir adapté les répertoires, j'ai choppé l'icône PostIt que to as postée gentiment, et je l'ai placé sur le bureau, afin de l'avoir sous la main... une excellente idée ! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 9:58 | |
| Merci Klaus, c'était bien mon idée: en faire un exe pour l'avoir sous la main sur le bureau. L'icône je ne l'ai pas diffusée (sous forme d'icône) parce que fabriquée à la va-vite d'après un scan... (et puis, copyright ? mais on s'en fiche un peu). | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 10:40 | |
| Celui là m'a permis de découvrir ceci: - Code:
-
fpo$ = "Postit.txt": ' ***** emplacement à ajuster ***** ftm$ = "Ftmp.txt": ' ***** fichier de manoeuvre, à ajuster *****
En supprimant tout le baratin devant j'arrive à faire fonctionner sans problème et ensuite j'ai enregistré l'exe sur le bureau. Très pratique, mais comme j'ai pas envie de te faire trop de compliments, (pour tes chevilles), çà serait bien que tu nous le réédite avec une superbe présentation | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 11:07 | |
| Décidément, c'est la 2eme fois que je retape une réponse, j'ai l'impression que parfois quand on post, cela va directement à la poubelle...
Juste une petite question : Je n'ai pas trouvé dans la doc des commandes permettant de changer des attribut sur un item. Existe t-il un moyen de faire en sorte que l'item n°x de la liste y soit en rouge,gras,etc... (pour marquer une priorité par ex.)?
| |
| | | Invité Invité
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 12:31 | |
| Bonjour, La réponse est non (si j'ai bien compris la question). On peut modifier la couleur de la fonte pour l'ensemble de l'objet avec font_color N, la couleur de l'objet avec color N, etc mais pour tous les objets qui traitent du texte comme memo et list, une ligne ne peut pas actuellement modifiée dans ses attributs.
Désolé! |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 13:30 | |
| Eh oui, c'est bien séduisant et tentant comme idée, mais comme dit cosmos ce n'est pas possible, les attributs s'appliquent à l'ensemble de l'objet !
@Jean Claude je comprends ta pudeur pour me faire des compliments, mais tu peux y aller, j'ai le dos large ! Par contre pour la 'superbe présentation', c'est un programme ouvert (à tous les vents), à toi l'honneur si tu veux ! (pourquoi, il est pas beau comme ça mon programme ?) | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 13:40 | |
| @JL35 Je voulais te taquiner, mais je relève le challenge. - Citation :
- (pourquoi, il est pas beau comme ça mon programme ?)
Heu bé heu bé,........, Bof. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 13:49 | |
| Tu as ma bénédiction mon enfant... | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 13:49 | |
| C'est bien dommage de ne pas avoir une commande plus générale du genre: ATTRIBUT N,index,attr (index : optionel en fct de N) @JL35 Mais si qu'il est très bien ton programme !!! Quoi que.... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 14:06 | |
| Oh oh les mecs ! moi je le trouve très joli, bon, pas très joli, mais très fonctionnel comme ça ! maintenant, si on peut joindre la beauté à l'intelligence... pourquoi pas ? Tiens Jean-Claude (et Nardo), j'ai édité et changé un peu le look, est-ce que ça te plaît mieux comme ça ? on peut ajuster la largeur et la hauteur (w0, h0) à son goût avant compilation. | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Mar 13 Juil 2010 - 17:14 | |
| Super, ce gestionnaire de post-it ! Félicitations, Papy35 ! (pratique, pour l'alzheimer !) Et en mettant l'exe dans le menu démarrer, on l'aura dès qu'on allumera l'ordinateur et on ne risquera plus d'oublier de sortir la poubelle ! | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 17:34 | |
| Papy35, je trouve que çà lui va bien.... Papy,(hi! hi!) j'ai revu ton code, mais très difficile de bricoler la présentation du fait de la proximité des objets par rapport au bord du Form. Ce qui m'a empecher d'encadrer le tout (voir ligne 64) J'ai tout de même rectifié le left de l'alpha "Post-it" pour qu'il suive automatiquement la taille choisie par w0. Et j'ai ajouté 3 variables r, g, b pour que chacun choissise sa couleur (Les Alphas suivent le mouvement) Je n'ai pas changé ta signature ligne 1. Voilà ton code rectifié (finalement bien modestement) - Code:
-
' Postit.bas un post-it sur le bureau DE PAPY35 DIM w0, h0, wf, hf, t8, h8, fpo$, ftm$, tp, tp9, dl$ DIM a$, b$, d$, t$, m$, i%, j%, k%, x%, ll% DIM art$(2000), nart% DIM no%, BQ%, LS%, AL1%, AL2%, ED%, BV% dim r,g,b DATA "janvier","février","mars","avril","mai","juin","juillet","août" DATA "septembre","octobre","novembre","décembre" LABEL Fin, Valide, Mef, Supart, rq, rr
fpo$ = "Postit.txt": ' ***** emplacement à ajuster ***** ftm$ = "Ftmp.txt": ' ***** fichier de manoeuvre, à ajuster ***** dl$ = "**** ": ' début d'article r=235:g=235:b=235:' Couleurs du Form w0 = 600: h0 = 200: ' *** Taille de la fenêtre à ajuster selon les goûts ! LEFT 0, 10: TOP 0, 10: WIDTH 0, w0: HEIGHT 0, h0: BORDER_SMALL 0 border_hide 0 COLOR 0, 250,250,235: CAPTION 0, "" picture 10:LEFT 10, 1: TOP 10, 1: WIDTH 10, w0: HEIGHT 10, h0 color 10,r,g,b wf = w0 - 8 tp = 10: ' taille police no% = 0: ' numéro d'objet ll% = INT((w0-40)/8): ' largeur ligne maxi, en caractères t8 = 28: h8 = h0-100 tp9 = h0-70
no% = no%+1: BUTTON no%: TOP no%, 2: LEFT no%, w0-84: WIDTH no%, 80 FONT_SIZE no%, tp: CAPTION no%, "Quitter": ON_CLICK no%, Fin: BQ% = no% no% = no% + 1: LIST no%: TOP no%, t8: LEFT no%, 4: HEIGHT no%, h8: WIDTH no%, wf FONT_SIZE no%, tp: FONT_NAME no%, "Lucida Console": COLOR no%, 255,255,0 ON_CLICK no%, Supart: LS% = no% no% = no% + 1: ALPHA no%: TOP no%, -8 : WIDTH no%, w0-80: LEFT no%,int(width(0)/2)-80 FONT_NAME no%, "Arial Black": FONT_SIZE no%, 20: FONT_BOLD no%:color no%,r,g,b CAPTION no%, "Post-it": AL1% = no% no% = no% + 1: ALPHA no%: TOP no%, tp9: WIDTH no%, w0:color no%,r,g,b FONT_SIZE no%, tp CAPTION no%, " Entrer le nouveau texte ici:": AL2% = no% no% = no% + 1: EDIT no%: TOP no%, tp9+16: LEFT no%, 5: HEIGHT no%, 16: WIDTH no%, wf FONT_SIZE no%, tp: ED% = no% no% = no% + 1: BUTTON no%: TOP no%, tp9+42: LEFT no%, w0/2-40: WIDTH no%, 70 FONT_SIZE no%, tp: CAPTION no%, "OK": ON_CLICK no%, Valide: BV% = no% GOSUB Mef END Fin: TERMINATE
Valide: a$ = TEXT$(ED%): IF a$ = "" THEN RETURN RESTORE FOR i% = 1 TO VAL(MID$(DATE$, 4, 2)) READ m$ NEXT i% d$ = LEFT$(DATE$, 2) + " " + m$ + " " + RIGHT$(DATE$, 4) FILE_OPEN_APPEND 1, fpo$ FILE_WRITELN 1, dl$ + d$ + " à " + TIME$ + " ****" FILE_WRITELN 1, a$ FILE_CLOSE 1 GOSUB Mef TEXT ED%, "": ' effacement de l'Edit RETURN
Mef: ' 2d_rectangle 2,2,width(0)-4,height(0)-4 ' mise du fichier en ordre chronologique inverse, et chargement dans List LS% nart% = 0 IF FILE_EXISTS(fpo$) = 0 FILE_OPEN_WRITE 1, fpo$ RESTORE FOR i% = 1 TO VAL(MID$(DATE$, 4, 2)) READ m$ NEXT i% d$ = LEFT$(DATE$, 2) + " " + m$ + " " + RIGHT$(DATE$, 4) FILE_WRITELN 1, dl$ + d$ + " à " + TIME$ + " INIT ****" FILE_WRITELN 1, "Initialisation" FILE_CLOSE 1 END_IF FILE_OPEN_READ 1, fpo$ WHILE FILE_EOF(1) = 0 FILE_READLN 1, a$ IF LEFT$(a$, 5) = dl$ FILE_READLN 1, b$: a$ = a$ + CHR$(13) + CHR$(10) + b$ nart% = nart% + 1: art$(nart%) = a$ END_IF END_WHILE FILE_CLOSE 1 FILE_OPEN_WRITE 1, ftm$ FOR i% = nart% TO 1 STEP -1 a$ = art$(i%) k% = INSTR(a$, CHR$(13)) FILE_WRITELN 1, LEFT$(a$, k%-1): a$ = MID$(a$, k%+2, LEN(a$)-k%-1) rq: IF LEN(a$) > ll% FOR j% = ll%+1 TO 1 STEP -1 IF MID$(a$, j%, 1) = " " THEN EXIT_FOR NEXT j% FILE_WRITELN 1, LEFT$(a$, j%-1) a$ = MID$(a$, j%+1, LEN(a$)-j%): GOTO rq END_IF FILE_WRITELN 1, a$ NEXT i% FILE_CLOSE 1 FILE_LOAD LS%, ftm$ FILE_DELETE ftm$ RETURN
Supart: i% = MESSAGE_CONFIRMATION_YES_NO("Supprimer cet article") IF i% = 1 x% = ITEM_INDEX(LS%) rr: a$ = ITEM_READ$(LS%, x%) IF LEFT$(a$, 5) <> dl$ THEN x% = x% - 1: GOTO rr IF INSTR(a$, "INIT") > 0 MESSAGE "Suppression du 1er article (Init) interdite !": RETURN END_IF FILE_OPEN_READ 1, fpo$ FILE_OPEN_WRITE 2, ftm$ WHILE FILE_EOF(1) = 0 FILE_READLN 1, b$ IF b$ = a$ FILE_READLN 1, b$: ' ignore la ligne et la suivante ELSE FILE_WRITELN 2, b$ END_IF END_WHILE FILE_CLOSE 1 FILE_CLOSE 2 ' Recopie du fichier temporaire dans le fichier Postit.txt FILE_OPEN_READ 1, ftm$ FILE_OPEN_WRITE 2, fpo$ WHILE FILE_EOF(1) = 0 FILE_READLN 1, a$: FILE_WRITELN 2, a$ END_WHILE FILE_CLOSE 1 FILE_CLOSE 2 GOSUB Mef END_IF RETURN
| |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 18:04 | |
| Oui, bon, bof, pas révolutionnaires tes modifs... vraiment des petits détails cosmétiques, dans mon dernier edit j'avais déjà changé la couleur du Form 0 en jaune pâle, un peu plus joli. Bref, allez je garde le mien.
Sinon, tu ne m'as pas dit, qu'est-ce que tu penses de ma numérotation dynamique des objets ? tu aurais pu l'utiliser au lieu de balancer un PICTURE 10 dont je ne vois d'ailleurs pas trop l'utilité, puisqu'on peut colorer le Form 0, ce que j'ai fait (COLOR 0, 255,255,220) | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 18:22 | |
| Ouai bin moé je préfère le gris. le PICTURE 10 n'a éffectivement pas d'utilité. Je l'avais créer pour encadrer Form 0 avec 2d_rectangle(comme je l'ai précisé dans mon précedent poste), mais il faudrait pour cela décaler tout les objets, et comme c'est un post_it je ne le ferait pas car çà risquerait d'en augmenter la taille (ce qui n'est pas bon pour un post_it) Quand à la numérotation des objets (no%=no%+1), je vais te trouver le post (parlant de Faux Form) et qui date, ou j'avais parlé de cette façon de faire. Une façon de faire que j'ai d'ailleurs abandonnée (provisoirement), j'essai une nouvelle formule qui n'est pas encore au point. Voila c'était ici: (désolé, mais t'as rien inventé) https://panoramic.1fr1.net/vos-sources-vos-utilitaires-a-partager-f2/programmation-par-objet-avec-des-faux_forms-t456.htm?sid=81c6fe9fb673346560ae715261031723 | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Mar 13 Juil 2010 - 18:28 | |
| Moi, j'aime bien les numéros je trouve ça moins compliqué. Quand je risque d'avoir à en rajouter j'en saute un certain nombre, pour pouvoir en insérer d'autres. Et puis c'est tout. Pourquoi faire compliqué quand on peut faire simple ? | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Un Post-it sur le bureau Mar 13 Juil 2010 - 18:33 | |
| C'est la principale raison qui m'a fait abandonner cette numérotation d'objet. Mais je crois que çà dépend du programme que tu fabriques. Dans certain cas c'est peut-être utile. | |
| | | Contenu sponsorisé
| Sujet: Re: Un Post-it sur le bureau | |
| |
| | | | Un Post-it sur le bureau | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |