Page 1 sur 1

Mon p'tit dernier : Template Manager

Publié : jeu. 19/mai/2011 19:35
par Chris
Comme son nom l'indique, Template Manager est un gestionnaire de Templates (Tous les petits bouts de code qu'on récupère à gauche et à droite en se disant :"Ca peut servir")

En général, on met ça dans des dossiers (dans le rep de PureBasic ou ailleurs), et c'est toujours au moment ou on en a besoin qu'on se demande:
"Mais ou j'ai bien pu foutre ce $@§µ£ de bout de code de #${&¤!!!"

Bref, Template Manager permet de créer une liste d'alias pointant chacun sur un des dossiers ou vous rangez vos codes.
En cliquant sur un alias, ça ouvre le dossier et vous voyez les fichiers qui sont à l'intérieur.
Si vous cliquez sur un fichier, le code s'affiche dans un EditorGadget et vous pouvez le coller dans le presse-papier (ou dans un onglet pour ceux qui utilisent jaPBe)


Les Fonctions:

[Tous les éditeurs]
- Création, modification, suppression d'extensions (Pour ne voir que les fichiers *.pb, par exemple).
- Création, modification, suppression d'alias.
- Copie d'un code complet ou d'une partie de code dans le presse-papier.
- Mini aide sur les gadgets survolés par la souris en bas de la fenêtre.
- Aide contextuelle en mettant la souris au dessus d'un gadget et en appuyant sur F1.

[jaPBe seulement]
- Copie d'un code complet ou d'une partie de code dans un nouvel onglet.
- Copie d'un code complet ou d'une partie de code à l'emplacement du curseur.
- Ouverture du fichier original dans un nouvel onglet.

A télécharger ici

Image

Re: Mon p'tit dernier : Template Manager

Publié : ven. 20/mai/2011 7:23
par gildev
C'est bien pensé. Je vois que je ne suis pas le seul à avoir ce problème. :lol:

Re: Mon p'tit dernier : Template Manager

Publié : ven. 20/mai/2011 9:31
par jbernard13
Grand merci à toi Chris

Re: Mon p'tit dernier : Template Manager

Publié : ven. 20/mai/2011 11:07
par Mindphazer
C'est assez pratique ;
j'ai cependant quelques remarques :
- si on fait CTRL-M alors que la liste des alias est vide ou qu'aucun alias n'est sélectionné (quelle idée, tu me diras !), le prog plante
- la suppression d'un alias (CTRL-S) provoque aussi un plantage

Re: Mon p'tit dernier : Template Manager

Publié : ven. 20/mai/2011 11:27
par Chris
En principe, c'est réglé.

Merci pour le rapport de bug

Re: Mon p'tit dernier : Template Manager

Publié : ven. 20/mai/2011 11:29
par Patrick88
bien bien... petite remarque, peux tu ajouter le numéro de version sur ton site oueb, afin que l'on sache si on a le derniere version rien qu'en consultant le site

dis ! c'est possible, hein, dis ? :mrgreen:

Re: Mon p'tit dernier : Template Manager

Publié : ven. 20/mai/2011 11:36
par Chris
Je pourrais, mais il faudrait que je change le n° de version dans le code de la page à chaque fois, et ça me fatigue :mrgreen:
Je suis en train de réfléchir à un petit truc qui devrait régler ça.

Un petit programme qui va envoyer chaque archive que je fais sur mon site, et remplir automatiquement la page.

Un clic, j'ouvre le programme, un clic, je choisis l'archive, un clic j'envoie par ftp l'archive et la page mise à jour.

Re: Mon p'tit dernier : Template Manager

Publié : ven. 20/mai/2011 13:51
par Ar-S
Chris a écrit :Je pourrais, mais il faudrait que je change le n° de version dans le code de la page à chaque fois, et ça me fatigue :mrgreen:
Je suis en train de réfléchir à un petit truc qui devrait régler ça.

Un petit programme qui va envoyer chaque archive que je fais sur mon site, et remplir automatiquement la page.

Un clic, j'ouvre le programme, un clic, je choisis l'archive, un clic j'envoie par ftp l'archive et la page mise à jour.
ça c'est une idée toute à fait pas conne :mrgreen:
La gestion du up de l'achive et la modification de version en prime. Je prends :)
Image

J'ai pas besoin du template manager donc pas testé.

Re: Mon p'tit dernier : Template Manager

Publié : lun. 23/mai/2011 10:32
par graph100
:D Je commençais à me dire que j'allais me faire un truc de ce goût là ! Mais puisque tu l'as fait avant moi, pourquoi m’embêter :lol:

Par contre, il y a une fonction qui serais à mon avis utile et très pratique : la recherche de fichier par mots clé.
Parce que perso, j'ai des plein de fichiers différents, plusieurs répertoires de sources de librairie, mais c'est vachement dur de retrouver une procédure spécifique dans un fichier.

Tu penses l'implémenter ou bien dois-je m'y pencher de mon coté ?

Re: Mon p'tit dernier : Template Manager

Publié : lun. 23/mai/2011 18:16
par Chris
graph100 a écrit ::D Je commençais à me dire que j'allais me faire un truc de ce goût là ! Mais puisque tu l'as fait avant moi, pourquoi m’embêter :lol:

Par contre, il y a une fonction qui serais à mon avis utile et très pratique : la recherche de fichier par mots clé.
Parce que perso, j'ai des plein de fichiers différents, plusieurs répertoires de sources de librairie, mais c'est vachement dur de retrouver une procédure spécifique dans un fichier.

Tu penses l'implémenter ou bien dois-je m'y pencher de mon coté ?
J'y avais bien un peu pensé, mais je me suis dit que ça ne serait pas très utile.
Par contre, j'ai pas vraiment d'idée sur la façon de le faire.

Faire une recherche qui épluche tous les fichiers pour trouver un mot, c'est pas trop le problème.
Le truc, c'est de faire quelque chose qui ne te donne pas les résultats au bout de trois jours.

[Edit] Je viens de relire ton message, tu parles de "recherche de fichiers". C'est bien des noms de fichiers dont tu parles.
Parce que si c'est ça, c'est simple à faire. Il suffit de stocker tous les fichiers et leurs chemins dans une liste chainée, et de faire la recherche directement dans la liste. Ca sera beaucoup plus rapide que sur le disque.

Par contre, pour une recherche de mot-clés à l'intérieur des fichiers... :roll:

Re: Mon p'tit dernier : Template Manager

Publié : lun. 23/mai/2011 18:52
par graph100
non non !! une recherche dans les fichiers ;)
on peux voir à limiter les endroits de recherche pour aller plus vite, par exemple en ne recherchant que dans le nom des procédures

En fait, c'est peut être pas mal non plus de faire un index des procédures, et de montrer le fichier qui la contient quand tu cliques sur le nom.

Dans mon projet courant j'ai fait une fonction de recherche par mot clé. Il faut la modifier pour l'utiliser bien sur ;)

[edit] : j'ai changé le code pour mettre un exemple ça parle mieux


les sources de la recherche sont dans la liste ligne()
(ici ce serais les différents nom des procédures, ou bien chaque ligne du fichier en cours de recherche)
et j'affiche les résultats dans le gadget 3

copiez un texte dans l’éditeur, puis tapez un ou plusieurs mots clé dans la stringgadget en dessous

Code : Tout sélectionner

;{ structure et variables

Structure recherche
	nom.s
	point.l
	index_choix.l
EndStructure

Global NewList resultat.recherche()

Global NewList ligne.s()

;}


;{ procedure

Procedure Recherche(mot$)
	
	ClearList(resultat())
	
	nb = CountString(mot$, " ") + 1
	
	ForEach ligne()
		nb_point = 0
		
		nom$ = ligne()
		
		AddElement(resultat())
		resultat()\nom = nom$
		resultat()\index_choix = ListIndex(ligne()) ; sert pour retrouver les sources depuis resultat
		
		If nom$ = mot$
			nb_point = Len(mot$)
		EndIf
		
		For a = 1 To nb
			parti$ = LCase(StringField(mot$, a, " "))
			
			If FindString(LCase(nom$), parti$ + " ") Or FindString(LCase(nom$), " " + parti$)
				nb_point = nb_point + Len(parti$) * 2
			ElseIf FindString(LCase(nom$), parti$)
				nb_point = nb_point + Len(parti$)
			EndIf
			
		Next
		
		resultat()\point = nb_point
	Next
	
	SortStructuredList(resultat(), #PB_Sort_Descending, OffsetOf(recherche\point), #PB_Sort_Long)
	
	ClearGadgetItems(3)
	
	ForEach resultat()
		If resultat()\point > 0
			AddGadgetItem(3, -1, resultat()\nom)
		EndIf
		
		; 		Debug resultat()\nom + " : " +  Str(resultat()\point)
	Next
	
EndProcedure

;}

;{ fenetre

If OpenWindow(0, 0, 0, 800, 800, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
	EditorGadget(0, 5, 5, 790, 500)
	
	StringGadget(1, 5, 510, 700, 20, "")
	ButtonGadget(2, 710, 510, 80, 20, "GO !")
	
	ListViewGadget(3, 5, 535, 790, 800 - 540)
	
EndIf

AddKeyboardShortcut(0, #PB_Shortcut_Return, 0)

;}


;{ boucle principale

Repeat
	event = WaitWindowEvent()
	
	;{ evenement bouton ou [return]
	If (event = #PB_Event_Gadget And EventGadget() = 2) Or (event = #PB_Event_Menu And EventMenu() = 0)
		nb = CountGadgetItems(0)
		
		ClearList(ligne())
		
		For a = 0 To nb - 1
			AddElement(ligne())
			
			ligne() = GetGadgetItemText(0, a)
		Next
		
		Recherche(GetGadgetText(1))
	EndIf
	;}
	
Until event = #PB_Event_CloseWindow

;}

End

Re: Mon p'tit dernier : Template Manager

Publié : lun. 23/mai/2011 19:26
par Chris
En fait, on pourrait faire un index de tout ce qui est un peu particulier.

Procédures
Macros
Structures
Tableaux
Listes chainées
etc...

Bref, tout ce qu'on peut nommer soit même, à l'exception des variables.
On sauvegarde tout ça dans un fichier, ce qui évite de refaire une recherche à chaque fois qu'on ouvre le bazar.

Je vais regarder ton code :wink:

Re: Mon p'tit dernier : Template Manager

Publié : lun. 23/mai/2011 19:53
par graph100
il y a le problème de l'édition des fichiers ! A mon avis il faudrait sauver la date de modification avec l'index de chaque fichier
et vérifier juste la date lors du chargement du template manager, et refaire l'index du fichier qui a changé :D

C'est faisable je pense, mais faut être bien organisé