Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: PanAstuces - la gestion de l'aide Lun 3 Juin 2019 - 14:46 | |
| Bonjour à tous ! Comme je vous en parlais il y a quelques jours, je vous propose un nouvel utilitaire ! Il se nomme PanAstuces, c'est une mini base de données pour retrouver les sources du forum. Ayant remarqué et je ne suis pas le seul, qu'il est parfois difficile de retrouver quelque chose sur le forum, j'ai décidé de mettre en place cet outil sans prétention mais très pratique... Il permet de mémoriser un titre, une date, un auteur avec quelques lignes explicatives. Mais le plus intéressant, c'est qu'il mémorise aussi le lien du fil de discussion. Il est muni d'un Edit de recherche, ce qui permet de retrouvé n'importe quel fil ou suivi de discussion. Pour l'utiliser, 2 solutions : - Soit vous téléchargez depuis le webdav en suivant les liens en bas de ce message - Sinon vous avez les 2 fichiers ci-dessous. Le premier est le programme et le second la base a renommer en liste.txtEDIT : Mise à jour des 2 fichiers pour la version 1.02 du 03 juin 2019 - 21h01- PanAstuces.bas:
- Code:
-
' ============================================================================================================================================================ ' PANASTUCES - La gestion de l'aide
' PAR MiNiBuG ' Version 1.02 - 03 Juin 2019
' ============================================================================================================================================================
init_variables() init_labels() init_interface() init_programme() END
' ============================================================================================================================================================
' ------------------------ INITIALISATION DES VARIABLES ------------------------ SUB init_variables() DIM chemin$ : ' Emplacement du programme DIM z : ' Numérotation des objets DIM cl : ' Gestion du clic sur les objets DIM ch : ' Gestion du change sur les objets
DIM dd : ' déplacement de la fenêtre DIM astuce$ : ' Numéro et Astuce séléctionnée DIM lien_forum$ : ' Lien permettant l'accès au fil de discussion de l'astuce DIM NbAstuce DIM mois$(12) : ' Gestion des mois de l'année END_SUB
' ============================================================================================================================================================
' ------------------------- INITIALISATION DES LABELS -------------------------- SUB init_labels() LABEL clic : ' Gestion des ON_CLICK LABEL change : ' Gestion des ON_CHANGE LABEL mouv : ' Gestion des ON_MOVE END_SUB
' ============================================================================================================================================================
' ------------------------- INITIALISATION DES OBJETS -------------------------- SUB init_interface() DIM_LOCAL a, b, t$
' Fenêtre Principale BORDER_HIDE z : DIM Form0 : Form0=z : LEFT z,5: TOP z,5 : WIDTH z,480 : HEIGHT z,535 : FONT_NAME z,"Tahoma" ' Panel titre et Panel quitter z=z+1 : PANEL z : PARENT z,Form0 : DIM PanelTitre : PanelTitre=z WIDTH z,WIDTH(0)-93 : HEIGHT z,30 : COLOR z,180,180,180 : FONT_COLOR z,255,255,255 : FONT_BOLD z : FONT_SIZE z,14 READ t$ : HINT z,t$ : CAPTION z,"PANASTUCES - La gestion de l'aide" : ON_MOUSE_MOVE z,mouv z=z+1 : PANEL z : PARENT z,Form0 : DIM PanelFullHeight : PanelFullHeight=z : LEFT z,WIDTH(0)-92 : WIDTH z,30 : HEIGHT z,30 : COLOR z,180,180,180 FONT_NAME z,"Wingdings 3" : FONT_BOLD z : FONT_SIZE z,14 : CAPTION z,CHR$(113) : READ t$ : HINT z,t$ : ON_CLICK z,clic
z=z+1 : PANEL z : PARENT z,Form0 : DIM PanelReduit : PanelReduit=z : LEFT z,WIDTH(0)-61 : WIDTH z,30 : HEIGHT z,30 : COLOR z,180,180,180 FONT_NAME z,"Wingdings 3" : FONT_BOLD z : FONT_SIZE z,14 : CAPTION z,CHR$(126) : READ t$ : HINT z,t$ : ON_CLICK z,clic z=z+1 : PANEL z : PARENT z,Form0 : DIM PanelQuitte : PanelQuitte=z LEFT z,WIDTH(0)-30 : WIDTH z,30 : HEIGHT z,30 : COLOR z,180,180,180 : FONT_BOLD z : FONT_SIZE z,14 : CAPTION z,"X" : READ t$ : HINT z,t$ : ON_CLICK z,clic
' Boutons de commandes DIM Bouton(5) FOR a=1 TO 5 z=z+1 : BUTTON z : PARENT z,Form0 : Bouton(a)=z : LEFT z,a*94-90 : TOP z,32 : WIDTH z,94 : HEIGHT z,26 : FONT_SIZE z,12 READ t$ : CAPTION z,t$ : READ t$ : HINT z,t$ : ON_CLICK z,clic NEXT a
' Affichage des infos de l'astuce z=z+1 : CONTAINER z : PARENT z,Form0 : DIM Continfo : Continfo=z : LEFT z,5 : TOP z,60 : WIDTH z,470 : HEIGHT z,240 : READ t$ : CAPTION z," "+t$+" " ' Infos sur l'astuce sélectionnée DIM Info(6), ButtonLien, ContLien z=z+1 : CONTAINER z : PARENT z,Continfo : LEFT z,5 : TOP z,12 : WIDTH z,460 : HEIGHT z,40 : READ t$ : CAPTION z," "+t$+" " z=z+1 : EDIT z : PARENT z,z-1 : Info(2)=z : FULL_SPACE z : COLOR z,250,250,155 : FONT_SIZE z,11 : INACTIVE z z=z+1 : CONTAINER z : PARENT z,Continfo : LEFT z,5 : TOP z,55 : WIDTH z,75 : HEIGHT z,40 : READ t$ : CAPTION z," "+t$+" " z=z+1 : EDIT z : PARENT z,z-1 : Info(1)=z : FULL_SPACE z : COLOR z,250,250,155 : FONT_SIZE z,11 : INACTIVE z z=z+1 : CONTAINER z : PARENT z,Continfo : LEFT z,85 : TOP z,55 : WIDTH z,140 : HEIGHT z,40 : READ t$ : CAPTION z," "+t$+" " z=z+1 : EDIT z : PARENT z,z-1 : Info(3)=z : FULL_SPACE z : COLOR z,250,250,155 : FONT_SIZE z,11 : INACTIVE z z=z+1 : CONTAINER z : PARENT z,Continfo : LEFT z,230 : TOP z,55 : WIDTH z,234 : HEIGHT z,40 : READ t$ : CAPTION z," "+t$+" " z=z+1 : EDIT z : PARENT z,z-1 : Info(4)=z : FULL_SPACE z : COLOR z,250,250,155 : FONT_SIZE z,11 : INACTIVE z z=z+1 : CONTAINER z : PARENT z,Continfo : LEFT z,5 : TOP z,96 : WIDTH z,460 : HEIGHT z,97 : READ t$ : CAPTION z," "+t$+" " z=z+1 : MEMO z : PARENT z,z-1 : Info(5)=z : FULL_SPACE z : COLOR z,250,250,155 : FONT_SIZE z,11 : BAR_VERTICAL z : INACTIVE z
z=z+1 : CONTAINER z : PARENT z,Continfo : ContLien=z : HIDE z : LEFT z,5 : TOP z,195 : WIDTH z,460 : HEIGHT z,40 : READ t$ : CAPTION z," "+t$+" " z=z+1 : EDIT z : PARENT z,z-1 : Info(6)=z : FULL_SPACE z : COLOR z,250,250,155 : FONT_SIZE z,11 : INACTIVE z z=z+1 : BUTTON z : PARENT z,Continfo : ButtonLien=z : LEFT z,4 : TOP z,197 : WIDTH z,460 : HEIGHT z,38 : INACTIVE z : FONT_SIZE z,11 : READ t$ : CAPTION z,t$: ON_CLICK z,clic
' Edit et Liste de recherche z=z+1 : CONTAINER z : PARENT z,Form0 : DIM ContRech : ContRech=z : LEFT z,5 : TOP z,305 : WIDTH z,470 : HEIGHT z,225 : READ t$ : CAPTION z," "+t$+" " z=z+1 : ALPHA z : PARENT z,ContRech : LEFT z,5 : TOP z,18 : FONT_SIZE z,11 : CAPTION z,"Recherche : " z=z+1 : EDIT z : PARENT z,ContRech : DIM EditRech : EditRech=z : LEFT z,88 : WIDTH z,349 : TOP z,15 : COLOR z,250,250,155 READ t$ : HINT z,t$ : FONT_SIZE z,12 : ON_CLICK z,clic : ON_CHANGE z,change z=z+1 : BUTTON z : PARENT z,ContRech : DIM ButtonAnnule : ButtonAnnule=z : LEFT z,438 : TOP z,15 : WIDTH z,26 : HEIGHT z,26 READ t$ : HINT z,t$ : FONT_SIZE z,11 : CAPTION z,"X" : ON_CLICK z,clic z=z+1 : GRID z : HIDE z : DIM GridBase : GridBase=z z=z+1 : LIST z : PARENT z,ContRech : DIM ListAstuce : ListAstuce=z : SORT_ON z COLOR z,250,250,155 : LEFT z,4 : TOP z,45 : WIDTH z,462 : HEIGHT z,175 : FONT_SIZE z,12 : ON_CLICK z,clic ' Panel A Propos z=z+1 : PANEL z : PARENT z,Form0 : HIDE z : DIM PanelApropos : PanelApropos=z : LEFT z,40 : TOP z,67 : WIDTH z,400 : HEIGHT z,400 z=z+1 : ALPHA z : PARENT z,PanelApropos : LEFT z,50 : TOP z,18 : FONT_BOLD z : FONT_SIZE z,12 : CAPTION z,"INFORMATIONS SUR LE PROGRAMME" FOR a=1 TO 3 z=z+1 : ALPHA z : PARENT z,PanelApropos : FONT_SIZE z,11 : TOP z,a*20+35 : READ t$ : LEFT z,(WIDTH(PanelApropos)-TEXT_WIDTH(t$,z))/2 : CAPTION z,t$ NEXT a z=z+1 : ALPHA z : PARENT z,PanelApropos : DIM AlphaAstuce : AlphaAstuce=z : FONT_SIZE z,11 : TOP z,a*20+47 FOR a=1 TO 9 z=z+1 : ALPHA z : PARENT z,PanelApropos : LEFT z,37 : TOP z,a*18+155 : FONT_SIZE z,10 : READ t$ : CAPTION z,t$ NEXT a z=z+1 : PANEL z : PARENT z,PanelApropos : DIM PanelFermer : PanelFermer=z : LEFT z,100 : TOP z,350 : WIDTH z,200 : HEIGHT z,40 : COLOR z,250,250,155 FONT_SIZE z,12 : CAPTION z,"Fermer la fenêtre" : ON_CLICK z,clic END_SUB
' ============================================================================================================================================================
' ------------------------- INITIALISATION DU PROGRAMME -------------------------- SUB init_programme() DIM_LOCAL a, t$ ' Initialisation des mois pour affichage de la date FOR a=1 TO 12 : READ mois$(a) : NEXT a ' Determine les chemins du programme chemin$=DIR_CURRENT$ affiche_liste_astuces("") IF NbAstuce=0 THEN MESSAGE "Aucun fichier d'astuces n'est présent !"+CHR$(13)+"Pour ajouter une nouvelle astuce, cliquez sur le bouton 'Ajouter'." END_SUB
' ============================================================================================================================================================
' ----------------------------- Gestion des On_click ------------------------------ clic: cl=NUMBER_CLICK OFF_CLICK cl
IF cl=Bouton(1) THEN cacher_astuce() IF cl=Bouton(2) THEN ajouter_astuce() IF cl=Bouton(3) THEN modifier_astuce() IF cl=Bouton(4) THEN supprimer_astuce() IF cl=Bouton(5) THEN apropos() IF cl=PanelFermer THEN apropos() IF cl=ListAstuce THEN affiche_astuce() IF cl=ButtonLien THEN EXECUTE lien_forum$ IF cl=ButtonAnnule THEN cacher_astuce() IF cl=PanelFullHeight THEN taille_full_height() IF cl=PanelReduit THEN taille_fenetre() IF cl=PanelQuitte THEN TERMINATE ON_CLICK cl,clic RETURN
' ----------------------------- Gestion des On_change ------------------------------ change: ch=NUMBER_CHANGE IF ch=EditRech THEN CLEAR ListAstuce : affiche_liste_astuces(TEXT$(EditRech)) RETURN
' ----------------------------- Gestion des On_move ------------------------------ mouv: IF MOUSE_LEFT_DOWN(PanelTitre)=1 THEN dd=1 IF dd=0 THEN RETURN OFF_MOUSE_MOVE PanelTitre IF MOUSE_LEFT_UP(PanelTitre)=1 THEN dd=0 IF dd=1 LEFT (0),LEFT(0)+MOUSE_X_POSITION(PanelTitre)-MOUSE_X_LEFT_DOWN(PanelTitre) : DISPLAY : ' On déplace le 1er objet en X TOP (0),TOP(0)+MOUSE_Y_POSITION(PanelTitre)-MOUSE_Y_LEFT_DOWN(PanelTitre) : DISPLAY : ' On déplace le 1er objet en Y END_IF ON_MOUSE_MOVE PanelTitre,mouv RETURN
' ============================================================================================================================================================ ' ----------------------------- Afficher les astuces correspondantes à la recherche dans la liste ------------------------------ SUB affiche_liste_astuces(r$) DIM_LOCAL a, t, t$
' Grise les boutons Modifier et Supprimer INACTIVE Bouton(3) : INACTIVE Bouton(4) FOR a=1 TO 6 : COLOR Info(a),249,246,249 : NEXT a IF FILE_EXISTS(chemin$+"\liste.txt")=1 GRID_LOAD GridBase,chemin$+"\liste.txt" FILE_OPEN_READ 1,chemin$+"\liste.txt" FILE_READLN 1,t$ : GRID_ROW GridBase,VAL(t$) FILE_READLN 1,t$ : GRID_COLUMN GridBase,VAL(t$) FILE_CLOSE 1 NbAstuce=GRID_ROW(GridBase) IF NbAstuce=0 THEN EXIT_SUB OFF_CHANGE EditRech FOR a=1 TO NbAstuce t$=LOWER$(GRID_READ$(GridBase,a,2)) IF INSTR(t$,r$)<>0 OR r$="" IF t$<>"" THEN ITEM_ADD ListAstuce,t$ END_IF NEXT a ON_CHANGE EditRech,change ELSE INACTIVE Bouton(1) : NbAstuce=0 END_IF
END_SUB
' ----------------------------- Affiche l'astuce ------------------------------ SUB affiche_astuce() DIM_LOCAL a, b, t$ a=ITEM_INDEX(ListAstuce) t$=LOWER$(ITEM_READ$(ListAstuce,a)) FOR a=1 TO 6 : COLOR Info(a),250,250,155 : ACTIVE Info(a) : NEXT a FOR b=1 TO NbAstuce IF t$=LOWER$(GRID_READ$(GridBase,b,2)) THEN EXIT_FOR NEXT b ' Affichage des infos TEXT Info(1),GRID_READ$(GridBase,b,1) TEXT Info(2),GRID_READ$(GridBase,b,2) TEXT Info(3),GRID_READ$(GridBase,b,3) TEXT Info(4),GRID_READ$(GridBase,b,4) TEXT Info(5),GRID_READ$(GridBase,b,5) TEXT Info(6),GRID_READ$(GridBase,b,6) lien_forum$=GRID_READ$(GridBase,b,6) : IF lien_forum$="" : INACTIVE ButtonLien : ELSE : ACTIVE ButtonLien : END_IF
' Active les boutons Modifier et Supprimer ACTIVE Bouton(2) : ACTIVE Bouton(3) : ACTIVE Bouton(4) END_SUB
' ----------------------------- Cacher l'astuce ------------------------------ SUB cacher_astuce() DIM_LOCAL a ' Effacement de l'Edit de recherche et affichage de la liste complète des astuces TEXT EditRech,"" : CLEAR ListAstuce : COLOR EditRech,250,250,155 : COLOR ListAstuce,250,250,155 affiche_liste_astuces("") ' SHOW ListAstuce : SHOW EditRech : HIDE ContLien : SHOW ButtonLien ' Désactive les boutons Modifier et Supprimer - et active l'Edit de recherche avec la Liste ACTIVE Bouton(2) : INACTIVE Bouton(3) : INACTIVE Bouton(4) : ACTIVE EditRech : ACTIVE ListAstuce IF NbAstuce<>0 THEN ACTIVE Bouton(1) FOR a=1 TO 6 : TEXT Info(a),"" : INACTIVE Info(a) : NEXT a INACTIVE ButtonLien CAPTION Bouton(1),"Rechercher" : CAPTION Bouton(2),"Ajouter" : CAPTION Bouton(3),"Modifier" END_SUB
' ----------------------------- Ajouter l'astuce ------------------------------ SUB ajouter_astuce() DIM_LOCAL a, t$ IF CAPTION$(Bouton(2))="Enregistrer" ACTIVE Bouton(1) : CAPTION Bouton(1),"Rechercher" : CAPTION Bouton(2),"Ajouter" NbAstuce=NbAstuce+1 GRID_ROW GridBase,NbAstuce GRID_WRITE GridBase,NbAstuce,1,TEXT$(Info(1)) GRID_WRITE GridBase,NbAstuce,2,TEXT$(Info(2)) GRID_WRITE GridBase,NbAstuce,3,TEXT$(Info(3)) GRID_WRITE GridBase,NbAstuce,4,TEXT$(Info(4)) ligne() : GRID_WRITE GridBase,NbAstuce,5,TEXT$(Info(5)) GRID_WRITE GridBase,NbAstuce,6,TEXT$(Info(6)) GRID_SAVE GridBase,NbAstuce,6,chemin$+"\liste.txt" cacher_astuce() ELSE CAPTION Bouton(1),"Annuler" : CAPTION Bouton(2),"Enregistrer" TEXT EditRech,"" : COLOR EditRech,250,250,155 : COLOR ListAstuce,250,250,155 ' Inactive les boutons Modifier et Supprimer - et l'Edit de recherche avec la Liste INACTIVE Bouton(3) : INACTIVE Bouton(4) INACTIVE EditRech : COLOR EditRech,249,246,249 : INACTIVE ListAstuce : COLOR ListAstuce,249,246,249 FOR a=1 TO 6 : COLOR Info(a),250,250,155 : NEXT a ' Initialisation des champs FOR a=1 TO 6 : TEXT info(a),"" : ACTIVE info(a) : NEXT a ' Affichage le numéro de la nouvelle astuce et de la date du jour TEXT Info(1),RIGHT$("00000"+STR$(NbAstuce+1),5) TEXT Info(3),RIGHT$("00"+STR$(DATE_DAY),2)+" "+mois$(DATE_MONTH)+" "+STR$(DATE_YEAR) ' Affiche l'Edit au lieu du Bouton de lien HIDE ButtonLien : SHOW ContLien END_IF END_SUB
' ----------------------------- Modifier l'astuce ------------------------------ SUB modifier_astuce() DIM_LOCAL a, b IF CAPTION$(Bouton(3))="Enregistrer" CAPTION Bouton(1),"Rechercher" : CAPTION Bouton(3),"Modifier" TEXT EditRech,"" : COLOR EditRech,250,250,155 : COLOR ListAstuce,250,250,155 a=VAL(TEXT$(Info(1)))
GRID_WRITE GridBase,a,2,TEXT$(Info(2)) GRID_WRITE GridBase,a,3,TEXT$(Info(3)) GRID_WRITE GridBase,a,4,TEXT$(Info(4)) ligne() : GRID_WRITE GridBase,a,5,TEXT$(Info(5)) GRID_WRITE GridBase,a,6,TEXT$(Info(6)) GRID_SAVE GridBase,NbAstuce,6,chemin$+"\liste.txt" cacher_astuce() ELSE CAPTION Bouton(1),"Annuler" : CAPTION Bouton(3),"Enregistrer"
' Inactive les boutons Ajouter et Supprimer - et l'Edit de recherche avec la Liste INACTIVE Bouton(2) : INACTIVE Bouton(4) INACTIVE EditRech : COLOR EditRech,249,246,249 : INACTIVE ListAstuce : COLOR ListAstuce,249,246,249 FOR a=1 TO 6 : COLOR Info(a),250,250,155 : NEXT a
' Initialisation des champs FOR a=1 TO 6 : ACTIVE info(a) : NEXT a ' Affiche l'Edit au lieu du Bouton de lien SHOW ContLien : HIDE ButtonLien END_IF END_SUB
' ----------------------------- Reconstitution du Memo sur une seule ligne ------------------------------ SUB ligne() DIM_LOCAL a, t$, tt$ a=INSTR(TEXT$(Info(5)),CHR$(13)) IF a<>0 t$=TEXT$(Info(5)) REPEAT a=INSTR(t$,CHR$(13)) IF a<>0 THEN tt$=tt$+LEFT$(t$,a-1)+RIGHT$(t$,LEN(t$)-a-1) t$=tt$ : tt$="" a=INSTR(t$,CHR$(13)) UNTIL a=0 TEXT Info(5),t$ END_IF END_SUB
' ----------------------------- Supprimer l'astuce ------------------------------ SUB supprimer_astuce() DIM_LOCAL a, b, c, r, t$ a=ITEM_INDEX(ListAstuce) t$=LOWER$(ITEM_READ$(ListAstuce,a)) FOR b=1 TO NbAstuce IF t$=LOWER$(GRID_READ$(GridBase,b,2)) THEN EXIT_FOR NEXT b IF MESSAGE_CONFIRMATION_YES_NO("Etes vous sûr de supprimer l'astuce : "+CHR$(13)+CHR$(13)+UPPER$(t$))=1 GRID_ROW_DELETE GridBase,b NbAstuce=NbAstuce-1 IF NbAstuce=0 FILE_DELETE chemin$+"\liste.txt" FOR a=1 TO 6 GRID_WRITE GridBase,1,a,"" NEXT a CLEAR ListAstuce ELSE FOR a=b TO NbAstuce GRID_WRITE GridBase,a,1,RIGHT$("00000"+STR$(a),5) NEXT a GRID_SAVE GridBase,(NbAstuce),6,chemin$+"\liste.txt" END_IF FOR a=1 TO 6 : TEXT info(a),"" : INACTIVE info(a) : NEXT a cacher_astuce() t$="L'astuce n° "+RIGHT$("00000"+STR$(b),5)+" : "+UPPER$(t$)+" vient d'être supprimée !" IF NbAstuce>0 THEN t$=t$+CHR$(13)+CHR$(13)+"Et la liste des astuces restantes vient d'être renumérotée." MESSAGE t$ IF NbAstuce=0 THEN MESSAGE "Aucun fichier d'astuces n'est présent !"+CHR$(13)+"Pour ajouter une nouvelle astuce, cliquez sur le bouton 'Ajouter'." END_IF END_SUB
' ----------------------------- Réduit ou Agrandit la fençetre ------------------------------ SUB taille_fenetre() ' 113 126 128 IF CAPTION$(PanelReduit)=CHR$(126) CAPTION PanelReduit,CHR$(128) : HEIGHT Form0,30 HINT PanelReduit,"Cliquez pour afficher la fenêtre en mode normale" CAPTION PanelFullHeight,CHR$(113) : HINT PanelFullHeight,"Cliquez pour afficher la fenêtre en mode pleine hauteur" ELSE CAPTION PanelReduit,CHR$(126) : HEIGHT Form0,535 : HEIGHT ContRech,225 : HEIGHT ListAstuce,HEIGHT(ContRech)-50 IF TOP(Form0)+HEIGHT(Form0)>SCREEN_Y THEN TOP Form0,SCREEN_Y-HEIGHT(Form0) HINT PanelReduit,"cliquez pour réduire la fenêtre en mode barre de titre" END_IF END_SUB
SUB taille_full_height() IF CAPTION$(PanelFullHeight)=CHR$(113) CAPTION PanelFullHeight,CHR$(112) : TOP Form0,0 : HEIGHT Form0,SCREEN_Y : HEIGHT ContRech,SCREEN_Y-310 : HEIGHT ListAstuce,HEIGHT(ContRech)-50 HINT PanelFullHeight,"Cliquez pour afficher la fenêtre en mode normale" ELSE CAPTION PanelFullHeight,CHR$(113) : HEIGHT Form0,535 : HEIGHT ContRech,225 : HEIGHT ListAstuce,HEIGHT(ContRech)-50 HINT PanelFullHeight,"Cliquez pour afficher la fenêtre en mode pleine hauteur" END_IF CAPTION PanelReduit,CHR$(126) : HINT PanelReduit,"cliquez pour réduire la fenêtre en mode barre de titre" END_SUB
' ----------------------------- Affichage infos programme ------------------------------ SUB apropos() DIM_LOCAL a, t$ t$="La base contient actuellement "+STR$(NbAstuce)+" Astuces." : CAPTION AlphaAstuce,t$ : LEFT AlphaAstuce,(WIDTH(PanelApropos)-TEXT_WIDTH(t$,AlphaAstuce))/2 IF SHOW(PanelApropos)=1 HIDE PanelApropos : FOR a=1 TO 5 : SHOW Bouton(a) : NEXT a : SHOW Continfo : SHOW ContRech ELSE FOR a=1 TO 5 : HIDE Bouton(a) : NEXT a : HIDE Continfo : HIDE ContRech : SHOW PanelApropos END_IF END_SUB
' ============================================================================================================================================================
' ----------------------------- Liste des données ------------------------------ DATA "Cliquez et maintenant le bouton gauche de la souris enfoncé pour déplacer la fenêtre", "Cliquez pour afficher la fenêtre en mode pleine hauteur" DATA "cliquez pour réduire la fenêtre en mode barre de titre", "Cliquez pour quitter le programme"
DATA "Rechercher", "Cliquez pour initialiser une nouvelle recherche", "Ajouter", "Cliquez pour ajouter une nouvelle astuce" DATA "Modifier", "Cliquez pour modifier les infos de l'astuce affichée", "Supprimer", "Cliquez pour supprimer l'astuce et les infos affichées" DATA "A propos", " Informations sur le programme"
DATA " INFOS SUR L'ASTUCE ", " Titre de l'astuce ", " N° astuce ", " Date ", " Auteur de l'astuce ", " Informations et commentaires " DATA " Adresse du lien (A copier depuis le forum Panoramic) ", "Accéder au fil de la discussion sur le forum Panoramic" DATA " RECHERCHE ET LISTE DES ASTUCES ", "Tapez les infos ou le titre de l'astuce que vous recherchez", "Cliquez pour effacer les infos de recherche"
DATA "PanAstuces", "Version 1.02 du 03 juin 2019", "Réalisé par MiNiBuG" DATA "PanAstuces est une mini base de donnée permettant de", "retrouver les fils de discussion du forum Panoramic.", "" DATA "Il a pour but de simplifier vos recherches,", "et d'identifier les sources sur le site.", "" DATA "Vous pouvez modifier ou changer le code comme vous", "le souhaitez Il est entièrement libre et à votre disposition", "pour toutes modifications."
DATA "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aoùt", "Septembre", "Octobre", "Novembre", "Décembre"
- liste.txt:
- Code:
-
70 6 00001 Récupérer dimensions d'une image après CLIPBOARD_PASTE 29 Mai 2019 JL35 Permet de récupérer les dimensions d'un image une fois charger dans le clipboard http://panoramic.1fr1.net/t6152-resolu-recuperer-dimensions-image-apres-clipboard_paste 00002 Historique des modification pour la DLL KGF 01 Janvier 2019 Klaus Permet de retrouver les infos concernant les mise à jour de la DLL KGF http://panoramic.1fr1.net/t5210-kgf-dll-historique-des-modifications 00003 crocodile-basic - création d'un basic Amstrad 14 Avril 2018 jean_debord un Basic compatible sous Windows mais avec les possibilités des PC d'aujourd'hui et qui serait utilisé par les amoureux d'Amstrad qui développent encore aujourd'hui sous ce Basic. http://panoramic.1fr1.net/t5755p50-naissance-de-crocodile-basic 00004 Calculatrice romaine 01 juin 2019 Papydall Permet de calculer en chiffres romains. http://panoramic.1fr1.net/t6154-calculatrice-romaine 00005 La Lune en temps réel 24 mai 2019 Papydall Calcule la position et les caractéristiques de notre satellite la Lune. http://panoramic.1fr1.net/t6147-la-lune-en-temps-reel 00006 Mélanger les éléments d’un tableau trié 21 Mai 2019 papydall Mélanger les éléments d’un tableau trié ou comment générer un tableau dont les éléments sont tous différents http://panoramic.1fr1.net/t6143-melanger-les-elements-dun-tableau-trie 00007 Affichage au lancement 14 Mai 2019 JL35 Pour faire une surprise à quelqu'un de proche. Afficher un texte au lancement de son ordinateur, Bon Anniversaire, ou autre... C'est un programme (sous forme exécutable) qui se lance au démarrage du pc, il y a affichage d'un texte court en surimpression du bureau. Il suffit de cliquer dessus pour le fermer. http://panoramic.1fr1.net/t6135-affichage-au-lancement 00008 ELIP : un éditeur Panoramic 06 Octobre 2018 Marc Editeur pour le code panoramic. Il ne devrait pas vous dépayser : c’est une (photo)copie de Panoramic Editor ! http://panoramic.1fr1.net/t5971-elip-un-editeur-panoramic 00009 OBJECT_PARENT ne fonctionne plus ! 26 Juin 2017 Jack Le passage de OBJECT_PARENT() à PARENT() est la seule entorse faite au principe de compatibilité ascendante http://panoramic.1fr1.net/t6132-object_parent-resolu 00010 PanExpress : l'éditeur Panoramic avec création d'objet 26 Février 2017 Minibug Un autre éditeur pour Panoramic... http://panoramic.1fr1.net/t5162-panexpress-l-editeur-panoramic-avec-creation-d-objet 00011 Heures de passage au méridien / lever / coucher du soleil 28 Avril 2019 Papydall Pour connaitre l'heur du levé et couché du soleil http://panoramic.1fr1.net/t6118-heures-de-passage-au-meridien-lever-coucher-du-soleil 00012 Aide à l'utilisation de Panoramic 27 Avril 2019 Pedro Alvarez Des truc et des astuces dans un seul fichier http://panoramic.1fr1.net/t6119-aide-a-l-utilisation-de-panoramic 00013 Un petit calculateur du IMC et du poids idéal 27 Avril 2019 Klaus Voici uun petit gadget pour surveiller votre poids http://panoramic.1fr1.net/t6117-un-petit-calculateur-du-imc-et-du-poids-ideal 00014 Menu avec icones entièrement paramétrable 12 Fév 2019
Un menu avec icones. L’intérêt c'est qu'il ne contient qu'un fichier avec toutes les icônes, que vous pouvez complètement le paramétrer et même changer les couleurs http://panoramic.1fr1.net/t6062-menu-avec-icones-entierement-parametrable 00015 Un sélecteur de dossiers 100 % Panoramic 29 Janvier 2019 Klaus Un petit code qui permet de sélectionner ou créer un dossier, par une fenêtre de dialogue, en 100 % Panoramic http://panoramic.1fr1.net/t6050-un-selecteur-de-dossiers-100-panoramic 00016 Exemple d'une nouvelle version d'un GRID 07 Avril 2018 Klaus Création d'un nouvel objet KGFGrid. Il est similaire à un GRID, mais avec d'emblée des caractéristiques plus larges http://panoramic.1fr1.net/t5736-exemple-d-une-nouvelle-version-d-un-grid 00017 Un texte clignotant 31 Décembre 2018 JL35 Pour présenter ses voeux ou autre... Le résultat est dans un gif animé, donc intégrable dans un email. Et pour nous intégrable dans un html et donc affichable dans un Hviewer (et même ici !) http://panoramic.1fr1.net/t6029-un-texte-clignotant 00018 MMM-Wordpic 22 Décembre 2018 jjn4 Un éditeur de texte façon Wordpad en Panoramic http://panoramic.1fr1.net/t6024-mmm-wordpic 00019 Flouter une image 16 Mai 2019 JL35 Pour flouter une partie d'image, un personnage, ou n'importe quoi http://panoramic.1fr1.net/t6137-flouter-une-image 00020 Gestion des guillemets 07 Mai 2019 Marc Ah les guillemets ! Ces fameux guillemets ! Ils ne sont pas toujours faciles à insérer dans une chaîne de caractères et ça peut devenir rapidement un véritable casse-tête. http://panoramic.1fr1.net/t6128-gestion-des-guillemets 00021 Cadre pour image 08 Juin 2018 JL35 Pour encadrer une image quelconque http://panoramic.1fr1.net/t5875-cadre-pour-image 00022 Encore un lanceur de programmes 17 Avril 2019 Klaus Encore un n-ième lanceur de programmes, cette fois présenté sous forme de menus Panoramic hiérarchisés créés à partir d'un fichier texte. Tout est dans les commentaires http://panoramic.1fr1.net/t6114-encore-un-lanceur-de-programmes 00023 Calcul du périmètre de l’ellipse 14 Avril 2019 papydall Suite à une discussion sur le calcul du périmètre de l’ellipse sur un post de JL35, je vous propose ce code. http://panoramic.1fr1.net/t6110-calcul-du-perimetre-de-lellipse 00024 Conso-essence 08 Avril 2019 jjn4 Un programme pour calculer sa consommation d'essence http://panoramic.1fr1.net/t6103-conso-essence 00025 Panoramic et la récursivité 12 Avril 2019 papydall Tracer quatre courbes de Levy par une procédure récursive http://panoramic.1fr1.net/t6108-panoramic-et-la-recursivite 00026 Historique des connexions internet 31 Mars 2019 JL35 Historique des connexions, et liste des cookies enregistrés sur le pcPour la liste des cookies, c'est valable pour Firefox, à adapter pour d'autres navigateurs http://panoramic.1fr1.net/t6098-historique-des-connexions-internet 00027 Calculatrice 24 Mars 2019 Marc Le code de cette calculatrice est destiné à être intégré à l’éditeur EliP mais peut-être utilisé de manière autonome ou dans un quelconque autre programme. Elle s’utilise avec le clavier et/ou la souris.Elle fonctionne aussi parfaitement en tactile sur ma tablette Windows10. http://panoramic.1fr1.net/t6093-calculatrice 00028 Informations sur les disques durs montés sur le système 26 Novembre 2017 papydall tout est dans le titre et comme dit Papydall : Il fallait tout simplement y penser ! http://panoramic.1fr1.net/t5523-informations-sur-les-disques-durs-montes-sur-votre-systeme 00029 Affichage d'une icône 16 Février 2019 JL35 Pour afficher une icône (format .ICO, avec gestion de la transparence) dans un objet Panoramic (Picture),il suffit d'utiliser une fonction de KGF.dll de l'ami Klaus, bien pratique. http://panoramic.1fr1.net/t6068-affichage-d-une-icone 00030 Convertisseur Décimal ---> Binaire, Octal, Hexadécimal 21 Novembre 2018 papydall Tout est dans le code, rien à y ajouter ! http://panoramic.1fr1.net/t6018-convertisseur-decimal-binaire-octal-hexadecimal 00031 Palette couleur 23 Janvier 2019 papydall
http://panoramic.1fr1.net/t6044-palette-couleur 00032 Wordpic.2 10 Janvier 2019 jjn4 Et voici une nouvelle version de Wordpic(genre de mini-Wordpad en panoramic)qui peut gérer aussi les textes longs(contrairement à la version 1) http://panoramic.1fr1.net/t6037-wordpic-2 00033 Aide-mémoire des commandes console 26 Janvier 2018 JL35 Pour faire quelques opérations simples depuis un programme Panoramic.Par exemple, liste dans un Memo des images bmp d'un répertoire donné rep$ (commande 'DIR') http://panoramic.1fr1.net/t5607-aide-memoire-des-commandes-console 00034 Fichier <-> Datas 07 Janvier 2019 JL35 Sans prétention, deux petites subs de conversion d'un fichier quelconque en lignes de datas et inversement.Pour par exemple intégrer une petite image, genre icône dans un exécutable sans la mettre en fichier joint, elle sera intégrée dans le code http://panoramic.1fr1.net/t6034-fichier-datas 00035 Liste des logiciels installés 11 Novembre 2018 JL35 Liste des logiciels installés sur le PC, récupérée dans le registre avec regedit.exe.Ça peut servir en cas de réinstallation, ou autre chose. http://panoramic.1fr1.net/t6012-liste-des-logiciels-installes 00036 Identifier les composants matériels de l’ordinateur 06 Novembre 2018 papydall Identifier les composants matériels de l’ordinateur à l’aide du WMIC (Windows Management Instrumentation Command-line) http://panoramic.1fr1.net/t6004-identifier-les-composants-materiels-de-lordinateur 00037 Powershell: imprimer un fichier texte 06 Novembre 2018 JL35
http://panoramic.1fr1.net/t6005-powershell-imprimer-un-fichier-texte 00038 EPP_V02 éditeur pour Panoramic Aller en bas 02 Oct 2018 Jean Claude Editeur EPP V02, c'est une évolution de la V01 avec pas de mal de corrections de bugs de la v01 et des améliorations mineures. http://panoramic.1fr1.net/t5967-epp_v02-editeur-pour-panoramic 00039 Analyse d'un source - Version 2.1 24 Décembre 2017 Marc Version 2.1 du programme d’analyse d’un source.Bien plus performant, non pas en rapidité, mais en discrimination des mots clés. Intégration des fonctions recherche et sauvegarde. http://panoramic.1fr1.net/t5565-analyse-d-un-source-version-2-1 00040 Conversion texte en rtf 05 Octobre 2018 JL35 Pour affichage ultérieur dans un MEMO_RICH. Le texte est rédigé ou lu dans n'importe quel éditeur de textes simple, ou par programme. Les balises (élémentaires) de formatage sont insérées manuellement dans le texte. http://panoramic.1fr1.net/t5970-conversion-texte-en-rtf 00041 Biomorphe de Pickover 23 Septembre 2018 Papydall Ref : http://www.madteddy.com/biomorph.htm http://panoramic.1fr1.net/t5960-biomorphe-de-pickover 00042 Idée de menu 24 Août 2018 Marc Voici une trame extraite d’un de mes programmes en cours qui peut apporter une idée de menu. Il suffit de survoler l’icône avec la souris pour déployer le corps du menu. http://panoramic.1fr1.net/t5938-idee-de-menu 00043 Calculus 19 Janvier 2018 pascal10000 Une calculatrice un peut particulière. Pas de calcul scientifique pas de racine carré où d’algèbre. Elle est destinée aux jeunes du CE1 au CM2, toutefois ne la laissé pas entre ses mains sinon il y aura de la triche pour faire ses opérations à l'école ! http://panoramic.1fr1.net/t5590-calculus 00044 Animation : Pangine2D's Girl chez le docteur 14 Avril 2018 Marc Voici une nouvelle aventure de Pangine2D’s girl. "Pangine2D’s girl chez le docteur." Attention, elle va apparaitre dénudée, très dénudée. Trop dénudée ? http://panoramic.1fr1.net/t5752-animation-pangine2d-s-girl-chez-le-docteur 00045 PanAstuces - la gestion de l'aide 17 Mars 2018 Minibug Il est parfois difficile de retrouver quelque chose sur le forum,avec cet outil vous mémorisez un titre, une date, un auteur avec quelques lignes explicatives. Mais le plus intéressant, c'est qu'il mémorise aussi le lien du fil de discussion. http://panoramic.1fr1.net/t6162-panastuces-la-gestion-de-l-aide 00046 Identifiants Globaux utilisés par Windows 17 Mars 2018 papydall Windows utilise des identifiants globaux uniques pour chaque composants logiciels (GUID pour Global Unique Identifier), aussi appelés Class Id (CLSID). Une structure de code qui sert à identifier de manière unique les logiciels. Pour Windows, tout est objet : le bureau, un dossier, un fichier, une application... http://panoramic.1fr1.net/t5696-identifiants-globaux-utilises-par-windows 00047 Un explorateur de fichiers avec KGF 10 Avril 2018 Minibug A voir ! http://panoramic.1fr1.net/t5746-un-explorateur-de-fichiers-avec-kgf 00048 jeu des 3 portes (statistiques) 0 4 Avril 2018 silverman Il s'agit de la simulation d'un jeu américain, 'les 3 portes'. Si le candidat désigne la porte derrière laquelle se trouve la voiture, il la gagne. Cette simulation montre le nb de fois qu'un candidat peut gagner s'il change de choix au cours du jeu, lorsque l'oppotunité lui est offerte. http://panoramic.1fr1.net/t5731-jeu-des-3-portes-statistiques 00049 Etoile 01 Avril 2018 Marc Une p'tite étoile façon 2D... http://panoramic.1fr1.net/t5726-etoile 00050 Les Courbes de Bézier cubiques 30 Mars 2018 Papydall REF : https://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier http://panoramic.1fr1.net/t5717-les-courbes-de-bezier-cubiques 00051 Essai de construction d'organigramme par Panoramic 30 Mars 2018 Klaus De nouvelles fonctions pour KGF.dll permettant de tracer des orgarnigrammes. http://panoramic.1fr1.net/t5690-un-essai-de-construction-d-organigramme-par-panoramic 00052 forms transparent ou couleur invisible 10 Octobre 2015 silverman rendre un 'form' transparent ou une couleur invisible. En jouant avec les dlls de windows... http://panoramic.1fr1.net/t4475-forms-transparent-ou-couleur-invisible 00053 Utilisation des commandes SHELL 18 Mars 2018 papydall Sur vos ordinateurs, il y a des dizaines et des dizaines de dossiers dont vous ne soupçonnez même pas leur existence... http://panoramic.1fr1.net/t5697-utilisation-des-commandes-shell 00054 Drapeau à taille ajustable 11 Mars 2018 Marc Rien d’extraordinaire ! Juste pour le plaisir de programmer ! http://panoramic.1fr1.net/t5691-drapeau-a-taille-ajustable 00055 Création et gestion d’un livre 02 Mars 2018 papydall Le programme affiche un livre et gère son ouverture et le feuilletage de ses pages. Avant de lancer le programme, indiquez dans procédure SUB Init() le titre du livre, le nom de l’auteur et le nombre de pages du livre (lignes 33 à 35). Les pages du livre créé sont numérotées, mais elles sont encore vierges... http://panoramic.1fr1.net/t5687-creation-et-gestion-dun-livre 00056 Version d'essai des objets ScrollImage et ScrollPanel 02 Mars 2018 Klaus L'objet ScrollImage est un cadre d'affichage pour images dépassant les limites d'un objet PICTURE, avec des ascenseurs automatiques permettant de scroller l'image. On peut aussi la 'tirer' avec la souris. Et maintenant, on peut aussi la zoomer, avec adaptation automatique des ascenseurs de défilement. http://panoramic.1fr1.net/t5683-version-d-essai-des-objets-scrollimage-et-scrollpanel 00057 Défilement d’images dans tous les sens 01 Mars 2018 papydall Faire défiler vos images de gauche à droite, de droite à gauche, de haut en bas, de bas en haut ou alternativement de droite à gauche et de gauche à droite. D’une façon très fluide, sans aucun clignotement.Les images JPG et BMP peuvent être de n’importe quelle taille.Si elles sont plus grandes que le FORM de visualisation, il y aura des ascenseurs. http://panoramic.1fr1.net/t5682-defilement-dimages-dans-tous-les-sens 00058 Découpe dans une image 21 Février 2018 JL35 Pour découper une forme dans une image (photo), isoler une partie dans une forme géométrique, par exemple un visage(une image de fond qui ne tient pas dans l'écran sera automatiquement redimensionnée).La zone définie est encadrée d'un trait d'épaisseur et de couleur réglables, et le reste de l'image (l'extérieur de l'encadrement) est peint en blanc uniforme.Les figures d'encadrement prévues sont: un triangle équilatéral, un rectangle (ou carré), une ellipse (ou cercle), une étoile à 5 branches. http://panoramic.1fr1.net/t5662-decoupe-dans-une-image 00059 Vérifier la validité d'une date 22 Février 2018 papydall Fonction pour vérifier si une date est valide http://panoramic.1fr1.net/t5663-fnc-isdatevalided-pour-verifier-la-validite-d-une-date 00060 Curseurs personnalisés 20 Février 2018 papydall Pour pouvoir utiliser des curseurs personnalisés en Panoramic, on peut concocter le petit plat suivant dont les ingrédients sont : Un bon morceau de Panoramic / Une pincée de HTML-CSS / Une cuillerée de l’incontournable KGF.DLL de Klaus / Et … le savoir-faire de Papydall. http://panoramic.1fr1.net/t5655-curseurs-personnalises 00061 Exemples de définition et utilisation de Fonctions FNC 17 Février 2018 papydall Voici quelques exemples d'appel de la fonction FNC http://panoramic.1fr1.net/t5647-exemples-de-definition-et-utilisation-de-fonctions-fnc 00062 Pour coincer la bulle 17 Février 2018 JL35 En fait, pour apposer une bulle de texte sur une image quelconque, une photo par exemple, genre dialogue de bande dessinée.(par exemple sur des photos de famille, pour faire parler les gens). http://panoramic.1fr1.net/t5650-pour-coincer-la-bulle 00063 Mathématiques pour les transformations du plan 18 Février 2018 papydall Les principales transformations du plan sont : les translations / les changements d’échelles / les symétries / les rotations / les cisaillements. http://panoramic.1fr1.net/t5653-mathematiques-pour-les-transformations-du-plan 00064 Maquette d'une rédaction de partition de piano 02 Février 2018 Klaus un petit code 'proof of concept' pour montrer qu'on peut rédiger graphiquement une partition en cliquant sur un piano virtuel, et exporter les codes MIDI générés, pour en alimenter les fonctions de gestion MIDI. Voici la petite maquelle, juste avec une octave, mais avec un transposeur permettant de sélectionner les 8 octaves possibles d'un piano. http://panoramic.1fr1.net/t5615-maquette-d-une-redaction-de-partition-de-piano 00065 Infos sur composants et pilotes DirectX sur votre système 08 Février 2018 papydall Obtenir des informations détaillées sur les composants et pilotes DirectX installés sur votre système. http://panoramic.1fr1.net/t5631-infos-sur-composants-et-pilotes-directx-sur-votre-systeme 00066 Jeux et leçons pour apprendre l'Anglais 03 Fév 2018 papydall
http://panoramic.1fr1.net/t5617-jeux-et-lecons-pour-apprendre-l-anglais 00067 Calcul de la hauteur de base d'une police 03 Fév 2018 JL35 Pour savoir où est la base d'alignement (base des caractères majuscules par exemple) par rapport à la hauteur totale de la police donnée par TEXT_HEIGHT. Par exemple pour aligner sur une même ligne de texte des polices différentes et/ou de taille différente, sur un Picture. http://panoramic.1fr1.net/t5621-calcul-de-la-hauteur-de-base-d-une-police 00068 Dessins élémentaires 29 Jan 2018 JL35 Une autre petite sub pour dessiner rapidement des figures élémentaires sur un picture (contenant ou non une image). Figures de base: trait, rectangle, cercle. http://panoramic.1fr1.net/t5609-dessins-elementaires 00069 Utilitaire Découpe d'une image 24 Jan 2018 Jean Claude Pour découper une image en fargments http://panoramic.1fr1.net/t5602-utilitaire-decoupe-d-une-image 00070 Les pentaminos 03 Juin 2019 papydall Un casse-tête façon papydall... http://panoramic.1fr1.net/t5596-les-pentaminos
Cette liste n'est qu'un exemple d'une petite cinquantaine de liens. Vous pouvez ensuite rajouter tous les articles de votre choix pour créer une Mégabase ! Je vous laisse découvrir avec cette copie d'écran
Dernière édition par Minibug le Lun 3 Juin 2019 - 21:11, édité 6 fois | |
|