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 |
|
|
| Outil d'archivage "desk-top" | |
| | Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Outil d'archivage "desk-top" Sam 11 Fév 2012 - 0:33 | |
| Pour les besoins, j'ai créé un petit outil d'archivage de documents que je mets à disposition su ça peut intéresser certains parmi vous. L'outil se présente comme un fichier source Panoramic qui est à compiler en EXE. Cet EXE sera placé à l'endroit qui vous convient, puis il faut placer un raccourci vers cet EXE sur le bureau. D'ailleurs, dans le source, il y aune ligne de paramétrage du répertoire qu'il faut adapter, bien sûr. C'est la ligne 48 - Code:
-
dim version_klaus% : version_klaus% = 1 : ' mettre 0 normalement !
Si vous mettez la valeur à zéro ce qui est prévu comme configuration normale, le programme va chercher et/ou créer ses fichiers dans le répertoire où se trouve l'exécutable. Si vous laissez la ligne 48 telle qu'elle est, vous devez adapter la ligne 54: - Code:
-
dim rep1$ : rep1$ = "c:\documents and settings\klaus\mes documents\mes projets panoramic\repertoire\"
en y mettant le chemin complet vers un répertoire où se trouveront les fichiers de l'application. Attention: pas de "\" à la fin de cette chaîne ! Le programme utilise 3 fichiers, et en leur absence, il les crée automatiquement, vides, avec juste une première ligne contenant === Répertoire ===. Cette ligne servira d'estampillage (modeste). Le programme permet de mémoriser des fichiers de tout type et de les classer de deux façons: d'une part on peut les regrouper par "rubriques", c'est-à-dire des cqtégories, et d'autre part, on peut affecter des drapeaux aux fichiers. On peut utiliser simultanément jusqu'à 20 rubriques et jusqu'à 10 drapeaux. Un fichier peut appartenir à plusieurs rubriques à la fois, ou à aucune, et peut posséder plusieurs drapeaux ou aucun. Les rubriques et drapeaux sont de simples libellés qui peuvent être maintenus et gérés par le programme lui-même; ils sont déposés dans les fichiers rubriques.txt et flags.txt qui peuvent aussi être simplement modifiés par un éditeur de texte, mais attention à ne pas produire de décalages de lignes: le programme se repère à la position dans le fichier pour affecter un libellé à un drapeau ou une rubrique. Au niveau de l'archivage, le programme ne recopie évidemment pas physiquement les fichiers. Il crée un fichier repertoire.txt dans lequel il dépose une ligne par fichier, contenant le chemin complet vers ce fichier, un intitulé, la date de mémorisation, les drapeaux et les rubriques sous forme de suites caractères "0" et "1". Tout est lisible dans un éditeur de texte. Les champs sont séparés par des tabulations chr$(9). Alors, pour mémoriser un fichier, on le fait simplement glisser sur son icône placée sur le bureau. On peut aussi le lancer à partir d'un programme Panoramic par EXECUTE repertoire.exe xxxxx.yyy. Le fichier sera mémorisé avec la date du jour, l'intitulé est le nom du fichier sans le chemin, et toutes les rubriques et drapeaux sont désactivés. A tout moment, on peut lancer ce programme en mode interactif, simplement en double-cliquant sur son icône. Un écran apparaît alors qui montre dans sa partie gauche les intitulés de tous les fichiers répertoriés. Toutes les fonctions sont alors gérées par un menu. Un clic sur une ligne dans la liste sélectionne ce fichier, et ses informations sont affichées dans un cadre à droite pour son intitulé, ses rubriques et ses drapeaux, et dans un cadre en bas pour le chemin complet. Ce chemin complet est aussi copié dans le presse-papier dès qu'on sélectionne un fichier. Une fois un fichier sélectionné, on peut modifier ses attributs (fonction dans le menu "édition". On peut affecter ou enlever des rubriques et/ou des drapeaux, et on peut changer l'intitulé. Les modifications sont effectives en cliquant sur Valider, ou oubliées en cliquant sur Annuler. L'intérêt principal du programme, c'est qu'on peut faire des filtrages ! Dans le menu Edition, il y a une fonction Filtrage. La partie de droite avec les attributs change alors de sens: ce n'est plus l'affichage des attributs d'un fichier, mais un masque de comparaison qu'un définit pour filtrer la liste existante. Le sens est un OU logique: si l'on coche la rubrique 1 et le drapeau 3, on retiendra les fichiers appartenant, entre autres, à la rubrique 3, ou les fichiers portant, entre autres, le drapeau 3. On peut aussi placer une chaine de caractères dans l'intitulé: le critère est alors vrai si l'on trouve cette chaîne quelque part dans l'intitulé d'un fichier. Par exemple: on place Panoramic dans l'intitulé, on trouvera "Documents pour Panoramic", "Sources Panoramic de Klaus", mais on ne trouvera pas "Modules panoramic". Pour filtrer, il faut donc constituer le critère de filtrage, puis cliquer sur Validation. Dans la fenêtre de gauche n'apparaîtront alors plus que les fichiers répondant aux critères. On peut revenir dans le filtrage et changer les critères, et la validation affichera d'autres résultats. Pour récupérer la liste complète, utiliser le bouton Tout qui construit un critère sélectionnant tous les fichiers, puis faire Validation. Pour la simplicité, le bouton Rien efface le critère Tout - ceci évite de manuellement décocher chaque case. Bon, assez da baratin, voici le source V1.05 du 12/2/2012: - Code:
-
' ********************************* ' * repertoire.bas * ' *********************************
' ce programme gère un répertoire évolué de ' documents de tout type. Il a deux mode opératoires: ' - mode batch: repertoire fichier ' - mode interactif ' en mode batch, il inclut le fichier dans son archive ' en mode iinteractif, il permet de donner des attributs ' aux fichiers archivés, ou de faire des recheches ' selon des critères variés. ' On n'archive pas physiquement les fichiers, mais ' uniquement leur chemin d'accès complet avec une ' collection d'attributs. ' Structure d'un enregistrement: champs séparés par des TAB. ' Liste des champs: ' chemin complet | libellé | flags | date | rubriques | ' Les flags sont une liste de 10 valeurs 0/1. ' les rubriques sont une liste de 20 valeurs 0/1.
hide 0 label labels : gosub labels gosub variables gosub form0 gosub GUI gosub initialisations gosub cmdline show 0
end
labels: label variables, form0, GUI, initialisations label cmdline, champ, choix, sortir, a_propos, executer, defaut label nouveau_fichier, nouveau_URL, nouvelle_ligne label supprimer, supprimer_tout, clic_titre label m_rubriques, fermer_m_rub, select_m_rub, change_nom_rub, clic_nom_rub label m_drapeaux, fermer_m_flg, select_m_flg, change_nom_flg, clic_nom_flg label valider_ligne, m_attributs, annuler_ligne label filtrer, annuler_filtrage, valider_filtrage label tout_filtrage, rien_filtrage, remplacer_rep label a_propos_close, a_propos_site, aide, aide_aide label annuler_defaut, valider_defaut, load_base return variables: dim s$, file$, rep$, i%, j%, k%, no%, p%, prog$, champ$ dim modif%, n_select%, modif_rubs%, modif_flags%, n_select_ligne% dim mod_rubriques$, mod_flags$, n_select_ligne_f%, trouve% dim def_flags$, def_rubs$, aide_flag%, url$ dim version_klaus% : version_klaus% = 1 : ' mettre 0 normalement ! dim base$ : base$ = "repertoire.txt" dim rubs$ : rubs$ = "rubriques.txt" dim flags$ : flags$ = "flags.txt" dim defaut$ : defaut$ = "defaut.txt" dim tab$ : tab$ = chr$(9) dim c$ : c$ = chr$(13) + chr$(10) dim header$ : header$ = "=== Répertoire ===" dim rep1$ : rep1$ = "c:\documents and settings\klaus\mes documents\mes projets panoramic\repertoire\"
dim no_liste% : ' numéro d'objet de la liste affichée dim no_liste_t% : ' numéro d'objet de la liste affichée contenant tout dim no_dlist_t% : ' numéro d'objet de la dlist contenant tout dim no_dlist% : ' numéro d'objet de la dlist sousjacente dim no_dlist_i% : ' numéro d'objet de la dlist filtrée avec indexes dim no_flags% : ' numéro d'objet de la dlist flags sousjacente dim no_date% : ' numéro d'objet de la dlist date sousjacente dim no_rubs% : ' numéro d'objet de la dlist rubriques sousjacente dim no_info_fic% : ' numéro d'objet d'affichage du nom du fichier dim no_info_lib% : ' numéro d'objet d'affichage du libellé du fichier dim no_info_typ% : ' numéro d'objet d'affichage du type du fichier dim no_cont_det% : ' numéro d'objet du container des infos de détail dim no_lib% : ' numéro d'objet du libellé d'une ligne dim no_det_rub% : ' numéro d'objet de la première rubrique d'une ligne dim no_det_flg% : ' numéro d'objet du premier flag d'une ligne
dim no_cont_rub% : ' numéro d'objet du container de maintenance des rubriques dim no_m_rub% : ' numéro d'objet de la list des rubriques pour modification dim no_m_r_nom% : ' numéro d'objet de l'edit du nom d'une rubrique dim no_cont_flg% : ' numéro d'objet du container de maintenance des drapeaux dim no_m_flg% : ' numéro d'objet de la list des flags pour modification dim no_m_f_nom% : ' numéro d'objet de l'edit du nom d'un drapeau
dim no_cont_flt% : ' numéro d'objet du container pour le filtrage des éléments dim no_lib_f% : ' numéro d'objet du libellé d'une ligne dim no_det_rub_f% : ' numéro d'objet de la première rubrique d'une ligne dim no_det_flg_f% : ' numéro d'objet du premier flag d'une ligne dim no_ann_flt% : ' numéro d'objet du bouton Annuler du container de filtrage dim no_val_flt% : ' numéro d'objet du bouton Valider du container de filtrage dim no_a_propos% : ' numéro d'objet de la form A_Propos dim no_aide% : ' numéro d'objet de la form Aide dim no_open_dialog% : ' numéro objet du open_dialog
return
form0: caption 0,"Répertoire V1.0" height 0,600 : width 0,800 top 0,(screen_y-600)/2 left 0,(screen_x-800)/2 on_close 0,sortir return
GUI: no% = no% + 1 : list no% : no_liste% = no% height no%,400 : width no%,200 : no_liste% = no% on_click no%, choix no% = no% + 1 : dlist no% : no_liste_t% = no% no% = no% + 1 : dlist no% : no_dlist_t% = no% no% = no% + 1 : dlist no% : no_dlist_i% = no% no% = no% + 1 : dlist no% : no_dlist% = no% no% = no% + 1 : dlist no% : no_flags% = no% no% = no% + 1 : dlist no% : no_date% = no% no% = no% + 1 : dlist no% : no_rubs% = no% no% = no% + 1 : open_dialog no% : no_open_dialog% = no%
no% = no% + 1 : container no% : top no%,430 : left no%,10 : j% = no% height no%,110 : width no%,770 : caption no%,"Informations" no% = no% + 1 : alpha no% : parent no%,j% : top no%,20 : left no%,10 caption no%,"Fichier:" no% = no% + 1 : alpha no% : parent no%,j% : top no%,20 : left no%,10 no_info_fic% = no% no% = no% + 1 : alpha no% : parent no%,j% : top no%,40 : left no%,10 no_info_lib% = no% no% = no% + 1 : alpha no% : parent no%,j% : top no%,40 : left no%,400 no_info_typ% = no%
no% = no% + 1 : container no% : top no%,40 : left no%,230 : j% = no% : hide no% height no%,390 : width no%,550 : caption no%,"Rubriques" : no_cont_rub% = no% no% = no% + 1 : list no% : parent no%,j% : top no%,20 : left no%,10 on_click no%, select_m_rub : width no%, 200 : height no%, 350 : no_m_rub% = no% no% = no% + 1 : alpha no% : parent no%,j% : top no%,20 : left no%,240 caption no%,"Nom de la rubrique:" no% = no% + 1 : edit no% : parent no%,j% : top no%,50 : left no%,240 no_m_r_nom% = no% : on_change no%, change_nom_rub : on_click no%, clic_nom_rub no% = no% + 1 : button no% : parent no%,j% : top no%,360 : left no%,470 caption no%,"Fermer" : on_click no%, fermer_m_rub
no% = no% + 1 : container no% : top no%,40 : left no%,230 : j% = no% : hide no% height no%,390 : width no%,550 : caption no%,"Drapeaux" : no_cont_flg% = no% no% = no% + 1 : list no% : parent no%,j% : top no%,20 : left no%,10 on_click no%, select_m_flg : width no%, 200 : height no%, 350 : no_m_flg% = no% no% = no% + 1 : alpha no% : parent no%,j% : top no%,20 : left no%,240 caption no%,"Nom du drapeau:" no% = no% + 1 : edit no% : parent no%,j% : top no%,50 : left no%,240 no_m_f_nom% = no% : on_change no%, change_nom_flg : on_click no%, clic_nom_flg no% = no% + 1 : button no% : parent no%,j% : top no%,360 : left no%,470 caption no%,"Fermer" : on_click no%, fermer_m_flg
no% = no% + 1 : container no% : top no%,40 : left no%,230 : j% = no% : inactive no% height no%,390 : width no%,550 : caption no%,"Détail des attributs" : no_cont_det% = no% no% = no% + 1 : alpha no% : top no%,30 : left no%,10 caption no%,"Intitulé:" : parent no%,j% no% = no% + 1 : edit no% : top no%,30 : left no%,60 : no_lib% = no% width no%,460 : parent no%,j% : on_click no%,clic_titre no% = no% + 1 : container no% : top no%,60 : left no%,10 : k% = no% height no%,290 : width no%,350 : caption no%,"Rubriques" : parent no%,j% no_det_rub% = no%+1 for i%=1 to 10 no% = no% + 1 : check no% : top no%,30+20*i% : left no%,10 width no%,160 : caption no%,"Rubrique "+str$(i%) : parent no%,k% no% = no% + 10 : check no% : top no%,30+20*i% : left no%,170 width no%,160 : caption no%,"Rubrique "+str$(i%+10) : parent no%,k% no% = no% - 10 next i% no% = no% + 10 no% = no% + 1 : container no% : top no%,60 : left no%,370 : k% = no% height no%,290 : width no%,150 : caption no%,"Drapeaux" : parent no%,j% no_det_flg% = no%+1 for i%=1 to 10 no% = no% + 1 : check no% : top no%,30+20*i% : left no%,10 width no%,130 : caption no%,"Drapeau "+str$(i%) : parent no%,k% next i%
no% = no% + 1 : button no% : parent no%,j% : top no%,360 : left no%,270 caption no%,"Annuler" : on_click no%, Annuler_ligne no% = no% + 1 : button no% : parent no%,j% : top no%,360 : left no%,470 caption no%,"Valider" : on_click no%, valider_ligne
no% = no% + 1 : container no% : top no%,40 : left no%,230 : j% = no% : hide no% height no%,390 : width no%,550 : caption no%,"Filtrage par attributs" : no_cont_flt% = no% no% = no% + 1 : alpha no% : top no%,30 : left no%,10 caption no%,"Intitulé:" : parent no%,j% no% = no% + 1 : edit no% : top no%,30 : left no%,60 : no_lib_f% = no% width no%,460 : parent no%,j% no% = no% + 1 : container no% : top no%,60 : left no%,10 : k% = no% height no%,290 : width no%,350 : caption no%,"Rubriques" : parent no%,j% no_det_rub_f% = no%+1 for i%=1 to 10 no% = no% + 1 : check no% : top no%,30+20*i% : left no%,10 width no%,160 : caption no%,"Rubrique "+str$(i%) : parent no%,k% no% = no% + 10 : check no% : top no%,30+20*i% : left no%,170 width no%,160 : caption no%,"Rubrique "+str$(i%+10) : parent no%,k% no% = no% - 10 next i% no% = no% + 10
no% = no% + 1 : container no% : top no%,60 : left no%,370 : k% = no% height no%,290 : width no%,150 : caption no%,"Drapeaux" : parent no%,j% no_det_flg_f% = no%+1 for i%=1 to 10 no% = no% + 1 : check no% : top no%,30+20*i% : left no%,10 width no%,130 : caption no%,"Drapeau "+str$(i%) : parent no%,k% next i%
no% = no% + 1 : button no% : parent no%,j% : top no%,360 : left no%,10 caption no%,"Tout" : on_click no%, tout_filtrage no% = no% + 1 : button no% : parent no%,j% : top no%,360 : left no%,110 caption no%,"Rien" : on_click no%, rien_filtrage no% = no% + 1 : button no% : parent no%,j% : top no%,360 : left no%,270 caption no%,"Annuler" : on_click no%, Annuler_filtrage : no_ann_flt% = no% no% = no% + 1 : button no% : parent no%,j% : top no%,360 : left no%,470 caption no%,"Valider" : on_click no%, valider_filtrage : no_val_flt% = no%
no% = no% + 1 : form no% : hide no% : no_a_propos% = no% : j% = no% top no%,(screen_y-height(no%))/2 : left no%,(screen_x-width(no%))/2 caption no%,"A propos de Répertoire" : on_close no%,a_propos_close no% = no% + 1 : alpha no% : parent no%,j% : top no%,30 : left no%,90 caption no%,s$ : font_name no%,"Arial" : font_size no%,10 no% = no% + 1 : button no% : parent no%,j% : width no%,100 top no%,height(j%)-90 : left no%,(width(j%)-width(no%))/2 caption no%,"Site du forum" : on_click no%,a_propos_site
no% = no% + 1 : picture no% : no_aide% = no% : j% = no% : hide no% width no%,20 : height no%,35 : color no%,255,255,0 top no%,0 : left no%,width(0)-width(no%)-10 font_name no%,"Arial" : font_size no%,24 : font_bold no% 2d_target_is no% : 2d_fill_color 255,255,0 print_target_is no% : print "?"
no% = no% + 1 : main_menu no% : j% = no% no% = no% + 1 : sub_menu no% : parent no%,j% : k% = no% : caption no%,"Fichiers" no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Nouveau fichier" on_click no%,nouveau_fichier no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Nouvelle URL" on_click no%,nouveau_URL no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Exécuter" on_click no%,executer no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"---------" no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Sortir" on_click no%,sortir
no% = no% + 1 : sub_menu no% : parent no%,j% : k% = no% : caption no%,"Edition" no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Modifier les attributs" on_click no%,m_attributs no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Filtrer les éléments" on_click no%,filtrer no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"--------------------" no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Remplacer par son répertoire" on_click no%,remplacer_rep no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"--------------------" no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Supprimer cet élément" on_click no%,supprimer no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Supprimer TOUS les éléments affichés" on_click no%,supprimer_tout no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"--------------------" no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Attributs par défaut" on_click no%,defaut no% = no% + 1 : sub_menu no% : parent no%,j% : k% = no% : caption no%,"Options" no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Rubriques" on_click no%,m_rubriques no% = no% + 1 : sub_menu no% : parent no%,k% : caption no%,"Drapeaux" on_click no%,m_drapeaux
no% = no% + 1 : sub_menu no% : parent no%,j% : k% = no% : caption no%,"Aide" on_click no%,aide_aide no% = no% + 1 : sub_menu no% : parent no%,j% : k% = no% : caption no%,"?" on_click no%, a_propos
return initialisations: clear no_liste% : clear no_dlist% clear no_liste_t% : clear no_dlist_i% prog$ = param_value$(0) prog$ = file_extract_path$(prog$) if version_klaus%=1 base$ = rep1$ + base$ rubs$ = rep1$ + rubs$ flags$ = rep1$ + flags$ defaut$ = rep1$ + defaut$ else base$ = prog$ + base$ rubs$ = prog$ + rubs$ flags$ = prog$ + flags$ defaut$ = prog$ + defaut$ end_if if file_exists(defaut$)=1 file_open_read 1,defaut$ file_readln 1,s$ if s$=header$ file_readln 1,s$ gosub champ def_flags$ = champ$ gosub champ def_rubs$ = champ$ else def_flags$ = string$(10,"0") def_rubs$ = strings$(20,"0") end_if file_close 1 else def_flags$ = string$(10,"0") def_rubs$ = string$(20,"0") end_if if file_exists(rubs$)=0 file_open_write 1,rubs$ file_writeln 1,header$ for i%=1 to 20 file_writeln 1,str$(i%)+": " next i% file_close 1 end_if if file_exists(flags$)=0 file_open_write 1,flags$ file_writeln 1,header$ for i%=1 to 10 file_writeln 1,str$(i%)+": " next i% file_close 1 end_if if file_exists(base$)=0 file_open_write 1,base$ file_writeln 1,header$ file_close 1 end_if file_open_read 1,rubs$ file_readln 1,s$ if s$=header$ i% = 0 while file_eof(1)=0 file_readln 1,s$ item_add no_m_rub%,s$ caption no_det_rub%+i%,s$ caption no_det_rub_f%+i%,s$ i% = i% + 1 end_while end_if file_close 1 file_open_read 1,flags$ file_readln 1,s$ if s$=header$ i% = 0 while file_eof(1)=0 file_readln 1,s$ item_add no_m_flg%,s$ caption no_det_flg%+i%,s$ caption no_det_flg_f%+i%,s$ i% = i% + 1 end_while end_if file_close 1 gosub load_base return load_base: file_open_read 1,base$ file_readln 1,s$ if s$=header$ while file_eof(1)=0 file_readln 1,s$ gosub nouvelle_ligne end_while else message "Répertoire non reconnu !" terminate end_if file_close 1 return champ: i% = instr(s$,tab$) champ$ = left$(s$,i%-1) s$ = mid$(s$,i%+1,len(s$)) + tab$ return choix: if aide_flag%=1 s$ = "Liste des fichiers."+c$+c$ s$ = s$ + "Par défaut, on voit ici tous les fichiers répertoriés."+c$ s$ = s$ + "Après utilisation du filtrage (menu Edition), cette liste montre le résultat du filtrage."+c$ s$ = s$ + "Un clic dans cette liste sélectionne le fichier de la ligne correspondante."+c$ s$ = s$ + "Les attributs du fichier sélectionné seront affichés à droite."+c$ s$ = s$ + "la modification des attributs se fait par le menu Edition."+c$ s$ = s$ + "Le menu Edition permet aussi de supprimer le fichier sélectionné."+c$ message s$ goto aide end_if n_select_ligne% = item_index(no_liste%) n_select_ligne_f% = val(item_read$(no_dlist_i%,n_select_ligne%)) s$ = item_read$(no_dlist_t%,n_select_ligne_f%) gosub champ caption no_info_fic%,champ$ clipboard_string_copy champ$ if file_exists(champ$)=1 caption no_info_typ%,"Fichier Existant" else if dir_exists(champ$)=1 caption no_info_typ%,"Répertoire Existant" else if instr(champ$,"http://")=1 caption no_info_typ%,"URL existante" else caption no_info_typ%,"Fichier, Répertoire ou URL Manquant" end_if end_if end_if champ$ = item_read$(no_liste%,n_select_ligne%) gosub champ caption no_info_lib%,champ$ text no_lib%,champ$ champ$ = item_read$(no_flags%,n_select_ligne_f%) for i%=1 to 10 if mid$(champ$,i%,1)="1" mark_on no_det_flg%+i%-1 else mark_off no_det_flg%+i%-1 end_if next i% champ$ = item_read$(no_rubs%,n_select_ligne_f%) for i%=1 to 20 if mid$(champ$,i%,1)="1" mark_on no_det_rub%+i%-1 else mark_off no_det_rub%+i%-1 end_if next i% return cmdline: if param_number=0 show 0 return end_if for p%=1 to param_number s$ = lower$(trim$(param_value$(p%))) if len(s$)=0 then return file$ = file_extract_name$(s$) rep$ = file_extract_path$(s$) file_open_append 1,base$ file_writeln 1,s$+tab$+file$+tab$+def_flags$+tab$+date$+tab$+def_rubs$+tab$ file_close 1 next p% terminate m_rubriques: if aide_flag%=1 s$ = "Modificaction des rubriques."+c$+c$ s$ = s$ + "Cette fonction permet de modifier les titres des rubriques."+c$+c$ s$ = s$ + "ATTENTION: cela change les titres des rubriques pour TOUS les fichiers répertoriés !"+c$ message s$ goto aide end_if hide no_cont_det% hide no_cont_flg% hide no_cont_flt% show no_cont_rub% inactive no_liste% return
fermer_m_rub: if aide_flag%=1 s$ = "Modificaction des rubriques."+c$+c$ s$ = s$ + "Ce bouton valide la modification des rubriques."+c$+c$ s$ = s$ + "Les modifications faites dans les titres des rubriques sont imposées à tous les fichiers."+c$ message s$ goto aide end_if hide no_cont_rub% hide no_cont_flg% show no_cont_det% active no_liste% return
select_m_rub: if aide_flag%=1 s$ = "Modificaction des rubriques."+c$+c$ s$ = s$ + "Un clic dans cette liste sélectionne une rubrique dont le titre pourra être modifié."+c$ message s$ goto aide end_if off_change no_m_r_nom% n_select% = item_index(no_m_rub%) text no_m_r_nom%,item_read$(no_m_rub%,n_select%) on_change no_m_r_nom%,change_nom_rub return
clic_nom_rub: if aide_flag%=1 s$ = "Modificaction des rubriques."+c$+c$ s$ = s$ + "On peut saisir ici le titre de la rubrique sélectionnée dans la liste à gauche."+c$ message s$ goto aide end_if return
change_nom_rub: item_delete no_m_rub%,n_select% item_insert no_m_rub%,n_select%,text$(no_m_r_nom%) caption no_det_rub%+n_select%-1,text$(no_m_r_nom%) modif_rubs% = 1 return m_drapeaux: if aide_flag%=1 s$ = "Modificaction des drapeaux."+c$+c$ s$ = s$ + "Cette fonction permet de modifier les titres des drapeaux."+c$+c$ s$ = s$ + "ATTENTION: cela change les titres des drapeaux pour TOUS les fichiers répertoriés !"+c$ message s$ goto aide end_if hide no_cont_det% hide no_cont_rub% show no_cont_flg% hide no_cont_flt% inactive no_liste% return fermer_m_flg: if aide_flag%=1 s$ = "Modificaction des drapeaux."+c$+c$ s$ = s$ + "Ce bouton valide la modification des drapeaux."+c$+c$ s$ = s$ + "Les modifications faites dans les titres des drapeaux sont imposées à tous les fichiers."+c$ message s$ goto aide end_if hide no_cont_flg% hide no_cont_rub% show no_cont_det% active no_liste% return
select_m_flg: if aide_flag%=1 s$ = "Modificaction des drapeaux."+c$+c$ s$ = s$ + "Un clic dans cette liste sélectionne un drapeau dont le titre pourra être modifié."+c$ message s$ goto aide end_if off_change no_m_f_nom% n_select% = item_index(no_m_flg%) text no_m_f_nom%,item_read$(no_m_flg%,n_select%) on_change no_m_f_nom%,change_nom_flg return
clic_nom_flg: if aide_flag%=1 s$ = "Modificaction des drapeaux."+c$+c$ s$ = s$ + "On peut saisir ici le titre du drapeau sélectionné dans la liste à gauche."+c$ message s$ goto aide end_if return
change_nom_flg: item_delete no_m_flg%,n_select% item_insert no_m_flg%,n_select%,text$(no_m_f_nom%) caption no_det_flg%+n_select%-1,text$(no_m_f_nom%) modif_flags% = 1 return m_attributs: if aide_flag%=1 s$ = "Modificaction des attributs."+c$+c$ s$ = s$ + "Cette fonction permet la modification des attributs du fichier sélectionné."+c$+c$ s$ = s$ + "On peut modifier les rubriques et/ou les drapeaux affectés à ce fichier"+c$ s$ = s$ + "Le bouton Annuler laisse les attributs dans leur état d'origine."+c$ s$ = s$ + "Le bouton Valider remplace les attributs du fichier sélectionné."+c$ message s$ goto aide end_if if n_select_ligne%=0 then return hide no_cont_flg% hide no_cont_flt% show no_cont_rub% show no_cont_det% active no_cont_det% return supprimer_tout: if aide_flag%=1 s$ = "Suppression de TOUS les fichiers."+c$+c$ s$ = s$ + "Cette fonction permet d'effectuer la suppression de TOUS les fichiers listés à gauche."+c$+c$ s$ = s$ + "Par défaut, il s'agit de l'ensemble des fichiers archivés."+c$ s$ = s$ + "Si un filtrage a été effectué, cette fonction supprime le résultat du filtrage,"+c$ s$ = s$ + " en laissant tous les fichiers non sélectionnés intacts."+c$+c$ s$ = s$ + "ATTENTION ! Cette fonction est irréversible et supprime les fichiers du répertoire !"+c$ message s$ goto aide end_if if count(no_dlist_i%)=0 then return s$ = "Voulez-vous vraiment supprimer tous ces fichiers ?" if message_confirmation_yes_no(s$)<>1 then return s$ = "ATTENTION ! Cette suppression est définitive !" + c$ + c$ s$ = s$ + "Voulez-vous vraiment procéder à la suppression ?" if message_confirmation_yes_no(s$)<>1 then return for i%=count(no_dlist_i%) to 1 step -1 item_delete no_dlist_t%,val(item_read$(no_dlist_i%,i%)) next i% file_open_write 1,base$ file_writeln 1,header$ if count(no_dlist_t%)>0 for i%=1 to count(no_dlist_t%) file_writeln 1,item_read$(no_dlist_t%,i%) next i% end_if file_close 1 clear no_liste% : clear no_dlist% clear no_liste_t% : clear no_dlist_i% clear no_flags% clear no_date% clear no_rubs% gosub load_base modif% = 0 return supprimer: if aide_flag%=1 s$ = "Suppression du fichiers sélectionné."+c$+c$ s$ = s$ + "Cette fonction permet de supprimer le fichier sélectionné dans la liste à gauche."+c$+c$ s$ = s$ + "ATTENTION ! Cette fonction est irréversible et supprime le fichier du répertoire !"+c$ message s$ goto aide end_if if n_select_ligne%=0 then return hide no_cont_flg% hide no_cont_flt% show no_cont_rub% show no_cont_det% s$ = "Voulez-vous vraiment supprimer ce fichier:" + c$ + c$ s$ = s$ + item_read$(no_liste_t%,n_select_ligne_f%) if message_confirmation_yes_no(s$)=1 item_delete no_dlist_t%,n_select_ligne_f% file_open_write 1,base$ file_writeln 1,header$ for i%=1 to count(no_dlist_t%) file_writeln 1,item_read$(no_dlist_t%,i%) next i% file_close 1 clear no_liste% : clear no_dlist% clear no_liste_t% : clear no_dlist_i% clear no_flags% clear no_date% clear no_rubs% gosub load_base modif% = 0 end_if return clic_titre: if aide_flag%=1 s$ = "Modification des attributs."+c$+c$ s$ = s$ + "On peut saisir le titre du fichier séléctionné dans la liste à gauche."+c$ s$ = s$ + "Le nouveau titre sera mis en place par le bouton Valider."+c$ message s$ goto aide end_if return valider_ligne: if aide_flag%=1 s$ = "Modification des attributs."+c$+c$ s$ = s$ + "Cette fonction valide les modifications des attributs"+c$ s$ = s$ + "du fichier sélectionné dans la liste à gauche,"+c$ s$ = s$ + "en remplaçant ses attributs par ceux affichés dans la partie droite."+c$ message s$ goto aide end_if inactive no_cont_det% modif% = 1 mod_rubriques$ = "" for i%=1 to 20 mod_rubriques$ = mod_rubriques$ + str$(checked(no_det_rub%+i%-1)) next i% mod_flags$ = "" for i%=1 to 10 mod_flags$ = mod_flags$ + str$(checked(no_det_flg%+i%-1)) next i% item_delete no_rubs%, n_select_ligne_f% item_insert no_rubs%, n_select_ligne_f%, mod_rubriques$ item_delete no_flags%, n_select_ligne_f% item_insert no_flags%, n_select_ligne_f%, mod_flags$
item_delete no_liste%,n_select_ligne% item_insert no_liste%,n_select_ligne%,text$(no_lib%) item_delete no_liste_t%,n_select_ligne_f% item_insert no_liste_t%,n_select_ligne_f%,text$(no_lib%)
s$ = item_read$(no_dlist_t%,n_select_ligne_f%) gosub champ s$ = champ$ + tab$ s$ = s$ + item_read$(no_liste%,n_select_ligne%) + tab$ s$ = s$ + item_read$(no_flags%,n_select_ligne_f%) + tab$ s$ = s$ + item_read$(no_date%,n_select_ligne_f%) + tab$ s$ = s$ + item_read$(no_rubs%,n_select_ligne_f%) + tab$ item_delete no_dlist%,n_select_ligne% item_insert no_dlist%,n_select_ligne%,s$ item_delete no_dlist_t%,n_select_ligne_f% item_insert no_dlist_t%,n_select_ligne_f%,s$
return
annuler_ligne: if aide_flag%=1 s$ = "Modification des attributs."+c$+c$ s$ = s$ + "Cette fonction annule les modifications des attributs"+c$ s$ = s$ + "du fichier sélectionné dans la liste à gauche."+c$ s$ = s$ + "Ses attributs resteront inchangés."+c$ message s$ goto aide end_if inactive no_cont_det% return
filtrer: on_click no_ann_flt%,annuler_filtrage on_click no_val_flt%,valider_filtrage if aide_flag%=1 s$ = "Filtrage des fichiers."+c$+c$ s$ = s$ + "Cette fonction permet de filtrer la liste des fichiers selon certains critères."+c$+c$ s$ = s$ + "Les critères comprennent les rubriques et les drapeaux,"+c$ s$ = s$ + "mais aussi une chaîne de caractères dont la présence sera cherchée dans le titre des fichiers."+c$ s$ = s$ + "Un fichier sera sélectionné si au moins un des critères est vrai (OU logique)."+c$ message s$ goto aide end_if hide no_cont_det% hide no_cont_rub% hide no_cont_flg% show no_cont_flt% return defaut: if aide_flag%=1 s$ = "Attributs par défaut."+c$+c$ s$ = s$ + "Cette fonction permet de définir les attributs par défaut."+c$+c$ s$ = s$ + "Cela concerne le ajouts de fichiers dans le répertoire,"+c$ s$ = s$ + "Ils seront répertoriés avec les attributs par défaut."+c$ s$ = s$ + "Ces attributs peuvent être changés par la suite (menu Edition)."+c$ s$ = s$ + "Initialement, les attributs par défaut sont <aucune rubrique> et <aucun drapeau>."+c$ message s$ goto aide end_if hide no_cont_det% hide no_cont_rub% hide no_cont_flg% on_click no_ann_flt%,annuler_defaut on_click no_val_flt%,valider_defaut caption no_cont_flt%,"Attributs par défaut" show no_cont_flt% return
annuler_defaut: if aide_flag%=1 s$ = "Attributs par défaut."+c$+c$ s$ = s$ + "Ce bouton annule les modifications des attributs par défaut."+c$+c$ s$ = s$ + "Les attributs par défaut resteront dans leur état d'origine,"+c$ message s$ goto aide end_if hide no_cont_flt% on_click no_ann_flt%,annuler_filtrage on_click no_val_flt%,valider_filtrage caption no_cont_flt%,"Filtrage par attributs" show no_cont_det% return
valider_defaut: if aide_flag%=1 s$ = "Attributs par défaut."+c$+c$ s$ = s$ + "Ce bouton valide les modifications des attributs par défaut."+c$+c$ s$ = s$ + "Les attributs par défaut seront remplacés par ceux affichés à droite,"+c$ message s$ goto aide end_if s$ = "" for i%=1 to 10 s$ = s$ + str$(checked(no_det_flg_f%+i%-1)) next i% s$ = s$ + tab$ for i%=1 to 20 s$ = s$ + str$(checked(no_det_rub_f%+i%-1)) next i% s$ = s$ + tab$ file_open_write 1,defaut$ file_writeln 1,header$ file_writeln 1,s$ file_close 1 hide no_cont_flt% on_click no_ann_flt%,annuler_filtrage on_click no_val_flt%,valider_filtrage caption no_cont_flt%,"Filtrage par attributs" show no_cont_det% return
tout_filtrage: if aide_flag%=1 s$ = "Sélection des attributs."+c$+c$ s$ = s$ + "Ce bouton sélection TOUS les attributs."+c$+c$ s$ = s$ + "Cette fonction est utile en filtrage pour retrouver la liste de tous les fichiers,"+c$ message s$ goto aide end_if for i%=1 to 20 mark_on no_det_rub_f%+i%-1 next i% for i%=1 to 10 mark_on no_det_flg_f%+i%-1 next i% text no_lib_f%,"*" return rien_filtrage: if aide_flag%=1 s$ = "Sélection des attributs."+c$+c$ s$ = s$ + "Ce bouton dé-sélection TOUS les attributs."+c$+c$ s$ = s$ + "Cette fonction est utile en filtrage pour retrouver une liste vierge des attributs,"+c$ message s$ goto aide end_if for i%=1 to 20 mark_off no_det_rub_f%+i%-1 next i% for i%=1 to 10 mark_off no_det_flg_f%+i%-1 next i% text no_lib_f%,"" return
annuler_filtrage: if aide_flag%=1 s$ = "Filtrage des fichiers."+c$+c$ s$ = s$ + "Ce bouton annule le filtrage."+c$+c$ s$ = s$ + "La liste de gauche restera inchangée,"+c$ message s$ goto aide end_if hide no_cont_flt% show no_cont_det% return valider_filtrage: if aide_flag%=1 s$ = "Filtrage des fichiers."+c$+c$ s$ = s$ + "Ce bouton valide le filtrage par les critères choisis."+c$+c$ s$ = s$ + "La liste de gauche contiendra les fichiers"+c$ s$ = s$ + " correspondant aux attributs à droite,"+c$ message s$ goto aide end_if clear no_liste% clear no_dlist_i% for i%=1 to count(no_dlist_t%) trouve% = 0 champ$ = item_read$(no_rubs%,i%) for j%=1 to 20 if checked(no_det_rub_f%+j%-1)=1 if mid$(champ$,j%,1)="1" then trouve%=1 end_if next j% champ$ = item_read$(no_flags%,i%) for j%=1 to 10 if checked(no_det_flg_f%+j%-1)=1 if mid$(champ$,j%,1)="1" then trouve%=1 end_if next j% s$ = trim$(text$(no_lib_f%)) if len(s$)>0 if s$="*" trouve% = 1 else if instr(item_read$(no_dlist%,i%),s$)>0 then trouve%=1 end_if end_if if trouve%=1 item_add no_liste%,item_read$(no_liste_t%,i%) item_add no_dlist_i%,str$(i%) end_if next i% hide no_cont_flt% show no_cont_det% return
a_propos: if aide_flag%=1 s$ = "A-propos."+c$+c$ s$ = s$ + "Cette fonction affiche des informations sur le programme."+c$+c$ s$ = s$ + "Les informations comprennent date, version et auteur."+c$ s$ = s$ + "Il y a aussi un bouton qui conduit vers le forum Panoramic."+c$ message s$ goto aide end_if s$ = "REPERTOIRE V1.06" +c$+c$ s$ = s$ + "Auteur: Klaus" + c$+c$ s$ = s$ + "Réalisé en Panoramic" +c$ s$ = s$ + "le 13 Février 2012" caption no_a_propos%+1,s$ show no_a_propos% return a_propos_close: hide no_a_propos% return
a_propos_site: if aide_flag%=1 s$ = "A-propos."+c$+c$ s$ = s$ + "Ce bouton ouvre le forum Panoramic sans l'exporateur par défaut."+c$+c$ s$ = s$ + "Cette page contient aussi un lien vers le site officiel."+c$ s$ = s$ + "Une version stable de Panoramic peut être tétéchargée sur le site officiel,"+c$ s$ = s$ + " et des versions instantanées sont diponibles dans le forum,"+c$ s$ = s$ + " dans le fil de discussion <Ce qui est en cours>." message s$ goto aide end_if execute "http://panoramic.1fr1.net/" return aide_aide: if aide_flag%=1 s$ = "Aide."+c$+c$ s$ = s$ + "Cette fonction affiche une aide sur le prochain objet cliqué."+c$ message s$ end_if aide: aide_flag% = 1 - aide_flag% if aide_flag% =1 show no_aide% to_foreground no_a_propos% else hide no_aide% end_if return executer: if aide_flag%=1 s$ = "Exécuter un fichier."+c$+c$ s$ = s$ + "Ce bouton essaie d'ouvrir le fichier sélectionné avec son application par défaut."+c$+c$ s$ = s$ + "Ainsi, un fichier TXT sera ouvert dans Notepad,"+c$ s$ = s$ + " un fichier XLS sera ouvert avec Excel, etc."+c$ s$ = s$ + "Le résultat est identique à un double-clic sur le fichier,"+c$ message s$ goto aide end_if if n_select_ligne%=0 then return s$ = item_read$(no_dlist_t%,n_select_ligne_f%) gosub champ ' laisse la fenêtre DOS pendant l'exécution du programme lancé ' execute "cmd /C "+chr$(34)+champ$+chr$(34) ' ferme la fenêtre DOS dès que le programme est lancé if file_exists(champ$)=1 execute "cmd /c start "+chr$(34)+chr$(34)+" /b "+chr$(34)+champ$+chr$(34) else if dir_exists(champ$)=1 execute "cmd /c start "+chr$(34)+chr$(34)+" /b "+chr$(34)+champ$+chr$(34) else if instr(champ$,"http://")=1 execute "cmd /c start "+chr$(34)+chr$(34)+" /b "+chr$(34)+champ$+chr$(34) else message "Attention ! Ce fichier, répertoire ou URL n'existe plus !" end_if end_if end_if return nouveau_fichier: if aide_flag%=1 s$ = "Ajouter un nouveau fichier."+c$+c$ s$ = s$ + "Cette fonction ajoute un nouveau fichier dans le réperotire."+c$+c$ s$ = s$ + "Ce fichier sera créé avec les attributs par défaut."+c$ message s$ goto aide end_if s$ = file_name$(no_open_dialog%) if s$="_" then return champ$ = file_extract_name$(s$) s$ = s$ + tab$ + champ$ + tab$ + def_flags$ + tab$ + date$ + tab$ + def_rubs$ + tab$ gosub nouvelle_ligne return
nouveau_URL: if aide_flag%=1 s$ = "Ajouter une nouvelle URL."+c$+c$ s$ = s$ + "Cette fonction ajoute une nouvelle URL dans le réperotire."+c$+c$ s$ = s$ + "Cette URL sera créée avec les attributs par défaut."+c$ s$ = s$ + "Elle sera ouverte dans l'exporateur par défaut (menu fichiers/exécuter)."+c$ message s$ goto aide end_if s$ = message_input$("Nouvelle URL","Entrez ici la nouvelle URL:","www.") if s$="www." then return s$ = s$ + tab$ + s$ + tab$ + def_flags$ + tab$ + date$ + tab$ + def_rubs$ + tab$ gosub nouvelle_ligne return
remplacer_rep: if aide_flag%=1 s$ = "Remplacer par son répertoire."+c$+c$ s$ = s$ + "Cette fonction remplace un fichier par son répertoire."+c$+c$ s$ = s$ + "Le nom du fichier sera simplement supprime.."+c$ s$ = s$ + "Son répertoire (chemin d'accès) reste mémorisé seul.."+c$ s$ = s$ + "Les attributs restent inchangés.."+c$ message s$ goto aide end_if if n_select_ligne%=0 then return if message_confirmation_yes_no("Voulez-vous vraiment garder uniquement de chemin d'accès ?")=1 s$ = item_read$(no_dlist_t%,n_select_ligne_f%) gosub champ champ$ = file_extract_path$(champ$) s$ = champ$ + tab$ + s$ item_delete no_dlist_t%,n_select_ligne_f% item_insert no_dlist_t%,n_select_ligne_f%,s$ item_delete no_dlist%,n_select_ligne_f% item_insert no_dlist%,n_select_ligne_f%,s$ caption no_info_fic%,champ$ if file_exists(champ$)=1 caption no_info_typ%,"Fichier Existant" else if dir_exists(champ$)=1 caption no_info_typ%,"Répertoire Existant" else if instr(champ$,"http://")=1 caption no_info_typ%,"URL existante" else message "Fichier, Répertoire ou URL Manquant" end_if end_if end_if modif% = 1 end_if return nouvelle_ligne: item_add no_dlist%,s$ : ' ligne complète item_add no_dlist_t%,s$ : ' ligne complète i% = instr(s$,tab$) s$ = mid$(s$,i%+1,len(s$)) : ' éliminer le chemin gosub champ item_add no_liste%,champ$ : ' libellé item_add no_liste_t%,champ$ : ' libellé item_add no_dlist_i%,str$(count(no_liste%)) : ' indexe gosub champ item_add no_flags%,champ$ : ' flags for i%=1 to 10 if mid$(champ$,i%,1)="1" mark_on no_det_flg%+i%-1 else mark_off no_det_flg%+i%-1 end_if next i% gosub champ item_add no_date%,champ$ : ' date gosub champ item_add no_rubs%, champ$ : ' rubriques for i%=1 to 20 if mid$(champ$,i%,1)="1" mark_on no_det_rub%+i%-1 else mark_off no_det_rub%+i%-1 end_if next i% modif% = 1 return
sortir: if aide_flag%=1 s$ = "Sortir."+c$+c$ s$ = s$ + "Ce bouton sort de l'application Répertoire."+c$+c$ s$ = s$ + "Si des modifications ont été appliquées, elles seront sauvegardées sur disque."+c$ s$ = s$ + "Ceci concerne, séparément:"+c$ s$ = s$ + " - la liste des fichiers répertoriés avec leurs attributs"+c$ s$ = s$ + " - la liste des intitulés des rubriques" s$ = s$ + " - la liste des intitulés des drapeaux" s$ = s$ + " - les attributs par défaut" message s$ goto aide end_if if modif%=1 file_open_write 1,base$ file_writeln 1,header$ for i%=1 to count(no_dlist_t%) file_writeln 1,item_read$(no_dlist_t%,i%) next i% file_close 1 end_if if modif_rubs%=1 file_open_write 1,rubs$ file_writeln 1,header$ for i%=1 to count(no_m_rub%) file_writeln 1,item_read$(no_m_rub%,i%) next i% file_close 1 end_if if modif_flags%=1 file_open_write 1,flags$ file_writeln 1,header$ for i%=1 to count(no_m_flg%) file_writeln 1,item_read$(no_m_flg%,i%) next i% file_close 1 end_if terminate
Et ici un exemple du fichier rubriques.txt: - Code:
-
=== Répertoire === 1: Courrier privé 2: Factures 3: Documentations générales 4: Sources Panoramic 5: Modules #INCLUDE 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
et du fichier flags.txt: - Code:
-
=== Répertoire === 1: Urgent 2: à faire 3: à lire 4: 5: 6: 7: 8: 9: 10:
Dernière édition par Klaus le Jeu 16 Fév 2012 - 19:04, édité 14 fois | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Outil d'archivage "desk-top" Sam 11 Fév 2012 - 0:47 | |
| C'est génial ton programme ! Mais comment il t'arrive d'avoir des idées comme ça, c'est fou Tu est vraiment un inventeur mais dans le monde des programmes Je suis sûr que si tu inventais un grand jeu en delphi tu aurais ton nom dans "l'histoire internationale des jeux" comme celui qui a inventé "Civilisation" ou encore ceux qui ont fait "Quake". | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Outil d'archivage "desk-top" Sam 11 Fév 2012 - 0:54 | |
| Oh, je suis beaucoup plus modeste que ça. Comme j'aime bien programmer, je me fais tout le temps de petis outils pour me faciliter la vie, et celui-ci en est un.
J'aime bien jouer à l'ordinateur, mais à des jeux de réflexion, genre différentes variantes de patience, et un jeu Alchemy de PopCap Software. Un jeu génial, loin d'être simple. Or, quand on perd un niveau, il faut tout recommencer à zéro ! Frustrant. Je me suis donc là encore fait un outil permettant de sauvegarder chaque niveau de jeu, séparément selon les 3 degrés de difficulté. Et je peux ainsi restaurer à tout moment le niveau qui m'intéresse et repartir de là. Ce programme, pour m'amuser, je l'ai fait en Delphi, mais j'aurais tout aussi bien pu le faire en Panoramic.
En réalité, je me pose souvent des petits défis techniques à moi-même, et je prends plaisir à en trouver la solution. Chacun s'amuse comme il peut. C'est pourquoi je relève si volontiers les problèmes techniques qui se présentent sur le forum - c'est très varié et très enrichissant pour moi. | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Outil d'archivage "desk-top" Sam 11 Fév 2012 - 1:42 | |
| Moi je trouve ça génial de se relever des défis techniques ou intellectuels, c'est gratifiant en plus quand on y arrive, on se dit, c'est moi qui l'ai fait, ou j'y suis finalement arrivé^^ C'est cool comme sensation Moi mon défi c'est de me faire des jeux, seulement je commence depuis peu, je n'avais pas le bagage suffisant avant, car la programmation de jeux c'est un monde plein de défis et difficile quand on y entre sans avoir rien connu du genre, comme moi, sauf en tant qu'utilisateur. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Outil d'archivage "desk-top" Sam 11 Fév 2012 - 9:33 | |
| J'ai mis en ligne dans le premier post, une nouvelle version de mon programme REPERTOIRE. On peut maintenant lui passer plusieurs fichiers en une seule opération, en selectionnant plusisuer fichiers voire tout le contenu d'un répertoire, puis en faisant glisser le tout sur son icône, tout comme si l'on sélectionnait plusieurs fichiers pour les faire glisser dans la poubelle.
EDIT
Il y a maintenant un fenêtre A-propos avec un lien vers le forum...
EDIT
Et voici maintenant une ligne Exécuter dans le menu Fichiers qui permet de lancer le fichier sélectionné avec son programme d'ouverture par défaut: Notepad pour TXT, Panoramic pour BAS (si Panoramic est installé par la procédure d'installation), Excel pour XLS etc. Dans certains cas, une petite fenêtre DOS apparaît temporairement, mais disparaît toute seule.
Dernière édition par Klaus le Sam 11 Fév 2012 - 11:03, édité 2 fois | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Outil d'archivage "desk-top" Sam 11 Fév 2012 - 9:49 | |
| Ton programme va devenir le génie des fichiers et dossier, ça fera une belle application ça !
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Outil d'archivage "desk-top" Sam 11 Fév 2012 - 19:25 | |
| J'ai adapté le source légèrement pour que la commende Exécuter du ménu Fichiers ferme la fenêtre DOS parasite dès que le programme choisi est lancé sans attendre sa terminaison. C'est moins gênant comme ça.
Qu'est-ce que vous pensez de la commande Exécuter ? | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: Outil d'archivage "desk-top" Sam 11 Fév 2012 - 19:27 | |
| la commande executer ça me fait penser à Feu PCTOOLS c'était une de mes commandes préférées, donc dans ton programme c'est cool !!! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Outil d'archivage "desk-top" Sam 11 Fév 2012 - 19:40 | |
| Merci ! J'ai imaginé cela pour avoir un semblant d'aperçu - visualiser rapidement à quoi correspond une ligne répertoriée sans avoir à chercher le fichier dans un explorateur de fichiers.
EDIT
Ca marche même avec des répertoires ! On peut glisser un répertoire sur l'icône du programme. Ce répertoire sera alors mémorisé et on peut le configurer comme n'importe quel fichier (intitulé, rubriques et drapeaux). Mais on peut aussi l'exécuter - il s'ouvrira dans l'explorateur de fichiers ! Pratique ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Outil d'archivage "desk-top" Sam 11 Fév 2012 - 23:16 | |
| Voilà une nouvelle version V1.02 du 11/2/2012.
Nouveauté: Dans le menu Edition, il y a une nouvelle ligne Attributs par défaut.
Cette fonction permet de présélectionner les rubriques et drapeaux à installer lors de l'ajout d'un fichier au répertoire. Ces options resteront en viqueur jusqu'au prochain changement des attributs par défaut.
Ceci est particulièrement pratique pour l'ajout d'une série de fichiers similaires (une collection de sources, par exemple): il ne reste plus que l'intitulé à changer, éventuellement ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Outil d'archivage "desk-top" Dim 12 Fév 2012 - 2:54 | |
| Voici une nouvelle version V1.03 du 12/2/2012.
Nouveautés: - suppression du fichier sélectionné - suppression de TOUS les fichiers affichés
Ces nouvelles fonctions sont disponible par le menu Edition.
La suppression du fichier séléctionné n'affecte qu'un seul fichier: celui qui a été sélectionné par un clic dans la liste à gauche.
La suppression de TOUS les fichiers affichés requiert une double confirmation car son action peut effacer beaucoup de choses. Une fois les deux validations obtenues, le programme efface tous les fichiers qui sont affichés dans la liste de gauche. Si aucun filtrage n'a eu lieu, ceci efface complètement toute la base. Si l'on a procédé à un filtrage, la liste de gauche représente les fichiers qui correspondent au dernier critère. Ce seront alors ces fichiers qui seront supprimés, sans toucher au reste de la base.
Dans tous les cas, les libellés des attributs et drapeaux ainsi que les attributs par défaut restent inchangés.
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Outil d'archivage "desk-top" Dim 12 Fév 2012 - 16:01 | |
| Voici une nouvelle version V1.04 du 12/2/2012.
Nouveautés: - un système d'aide complet
La fonction Aide du menu affiche un point d'interrogation en haut à droite de la fenêtre, et le prochain clic sur une fonction du menu, sur un bouton ou un champ affiche une aide cor l'objet cliqué.
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Outil d'archivage "desk-top" Lun 13 Fév 2012 - 0:05 | |
| Voici une nouvelle version V1.05 du 12/2/2012.
Nouveautés: dans le menu Fichiers, il y a deux nouvelles fonctions: - Nouveau fichier --> ajoute un nouveau fichier le répertoire, sélectionné par un dialogue d'ouverture de fichiers - Nouvelle URL --> ajoute une ligne dans le répertoire avec une URL. Cette url est entrée dans une fenêtre de dialogue
Ces fonctions complètent les fonctions. Le fichier ajouté interactivement est traité exactement comme ceux ajoutés par glissage, et la URL est traitée comme un fichier symbolique. La fonction Exécuter du menu Fichiers ouvre une URL dans une nouvelle fenêtre ou un nouvel onglet de l'explorateur par défaut. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Outil d'archivage "desk-top" Jeu 16 Fév 2012 - 19:07 | |
| Voici une nouvelle version V1.06 du 13/2/2012.
Nouveautés: dans le menu Editions, il y a une nouvelle fonction: - "Remplacer par son répertoire"
Ceci permet de remplacer la cible d'une ligne par le répertoire du fichier ciblé. Cela permet ainsi, par la commande Exécuter, d'ouvrir ce répertoire dans l'explorateur de fichiers. | |
| | | Contenu sponsorisé
| Sujet: Re: Outil d'archivage "desk-top" | |
| |
| | | | Outil d'archivage "desk-top" | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |