FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» SineCube
Regrouper les applications par genre (bureau Windows) Emptypar Marc Aujourd'hui à 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Regrouper les applications par genre (bureau Windows) Emptypar Marc Aujourd'hui à 12:22

» Philharmusique
Regrouper les applications par genre (bureau Windows) Emptypar jjn4 Hier à 13:58

» PANORAMIC V 1
Regrouper les applications par genre (bureau Windows) Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Regrouper les applications par genre (bureau Windows) Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Regrouper les applications par genre (bureau Windows) Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Regrouper les applications par genre (bureau Windows) Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Regrouper les applications par genre (bureau Windows) Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Regrouper les applications par genre (bureau Windows) Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
Regrouper les applications par genre (bureau Windows) Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Regrouper les applications par genre (bureau Windows) Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Regrouper les applications par genre (bureau Windows) Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
Regrouper les applications par genre (bureau Windows) Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Regrouper les applications par genre (bureau Windows) Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Regrouper les applications par genre (bureau Windows) Emptypar leclode Sam 27 Avr 2024 - 17:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Cdiscount : -30€ dès 300€ d’achat sur une sélection Apple
Voir le deal

 

 Regrouper les applications par genre (bureau Windows)

Aller en bas 
AuteurMessage
JL35




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

Regrouper les applications par genre (bureau Windows) Empty
MessageSujet: Regrouper les applications par genre (bureau Windows)   Regrouper les applications par genre (bureau Windows) EmptyLun 23 Nov 2009 - 18:21

A la demande générale de cosmos70, voici un premier jet de l'adaptation de mon programme de menus sous Panoramic.

BUT: réduire la multiplication des icônes sur le bureau de Windows, en regroupant les programmes par type d'application sous une seule icône:
Regrouper les applications par genre (bureau Windows) Menus
Pour la facilité, j'ai regroupé pour ma part les données sous un répertoire commun C:\Menus.
Dans ce répertoire figurent:
- le programme exécutable ProgMenu.exe, qui est appelé pour chaque menu.
- les menus eux-mêmes, un par type d'application. Ce sont des fichiers .txt, qui contiennent pour chaque application le titre, le commentaire, le chemin de l'exécutable, et des infos optionnelles (doc...)
Voici par exemple ce qui s'affiche si on clique sur le menu Photos:
Regrouper les applications par genre (bureau Windows) Menuphot
(la hauteur du Memo 0 est calculée en fonction du nombre d'articles, l'affichage se faisant sur 2 colonnes).

Et voici le début du fichier MenuPhot.txt correspondant:
Code:
* - PROGRAMMES PHOTO -
* ====================
* Par programme (séparés par une ligne vide):
*    T: Nom du programme
*    C: Commentaire
*    P: Adresse d'exécution du programme
*    R: Répertoire de travail (si différent)
*    H: Fichier de documentation éventuel

T: PhotoFiltre
C: Retouche photo
P: C:\Progra~1\PhotoFiltre\PhotoFiltre.exe

T: IrfanView
C: Traitements photo
P: C:\Progra~1\IrfanView\i_view32.exe
H: C:\Textes\Irfanv.txt

T: Photoscape
C: Traitements photo (planches ...)
P: C:\Progra~1\PhotoScape\PhotoScape.exe

T: ImpPhot
C: Impression de planches photos
P: C:\LANGAGES\FreeBasic\SOURCES\Impphot.exe

etc...
Remarque 1: les lignes vides et les lignes précédées d'un astérisque (commentaires) sont ignorées par le programme.
Remarque 2: la commande EXECUTE de Panoramic ne supporte pas les espaces dans un chemin d'exécutable. Il faut donc remplacer les noms de dossier comportant des espaces par leur équivalent court (msdos)
Par exemple: C:\Program Files\IrfanView\... doit être remplacé par C:\Progra~1\IrfanVierw\...
(j'ai envisagé un sous-programme de conversion automatique, mais c'est un peu compliqué...)
Remarque 3: le programme ne contient pas (encore) le choix du fichier source à charger au lancement dans le cas des langages de programmation.

Sur le bureau windows il faut donc créer une application par type, avec son icône:
- clic droit sur un endroit vide du bureau, puis 'Nouveau', 'Raccourci'
- Emplacement de l'élément: donner le chemin de l'exécutable suivi du nom du fichier menu correspondant au type. Dans mon cas, pour le menu photos par exemple: 'C:\Menus\ProgMenu.exe MenuPhot' (suffixe .txt optionnel).
- Nom: choisir un nom pour ce raccourci.
- Après validation, clic droit sur cette nouvelle icône, 'Propriétés', bouton 'Changer d'icône', donner le chemin de l'icône désirée (on en trouve partout).

Voici le source du programme, qu'il faut évidemment compiler, et mettre l'exécutable dans le dossier des menus.

Code:
' ProgMenu.bas
DIM RepMenu$, fm$, ftmp$, tit$, a$, r$, ex$, arg$, p$
DIM nf, nl, nbprog, c, i, j, nobj, maxv, nmaxi, nbder
DIM lobj, hobj, x, y, x1, x2, y1, na, be, bl, bn, jclic
nmaxi = 20
DIM Titre$(20), Prog$(20), Comm$(20), Rept$(20), Doc$(20)
DIM Info1$(20), Info2(20), Info3(20): ' lignes complémentaires éventuelles
DIM lignf(20)

LABEL Rebouc, fcl, Rebc, Fin, Exec, Editm, DerProg, choix, retour

RepMenu$ = "C:\Menus\"
ftmp$ = "C:\Temp\Dir.tmp"

IF PARAM_NUMBER = 0 THEN TERMINATE ELSE fm$ = PARAM_VALUE$(1)
IF INSTR(fm$, "\") = 0 THEN fm$ = RepMenu$ + fm$
IF INSTR(fm$, ".") = 0 THEN fm$ = fm$ + ".txt"
nf = 2*nmaxi + 10
FILE_OPEN_READ nf, fm$
nl = 0
FILE_READLN nf, tit$: nl = nl + 1
IF LEFT$(tit$, 1) = "*" THEN tit$ = LTRIM$(MID$(tit$, 2, LEN(tit$)-1))
nbprog = 0

Rebouc:
IF FILE_EOF(nf) > 0 THEN GOTO fcl
FILE_READLN nf, a$: a$ = TRIM$(a$): nl = nl + 1
IF a$ = "" OR LEFT$(a$, 1) = "*" THEN GOTO Rebouc
c = ASC(UPPER$(LEFT$(a$, 1))): a$ = TRIM$(MID$(a$, 3, LEN(a$)-2))
SELECT c
CASE 84: ' T Titre (case asc("T") ne marche pas...
    nbprog = nbprog + 1
    lignf(nbprog) = nl
    Titre$(nbprog) = a$
CASE 67: ' C Commentaire
    Comm$(nbprog) = a$
CASE 80: ' P Programme exécutable
    Prog$(nbprog) = a$
    IF Rept$(nbprog) = ""
        FOR i = LEN(Prog$(nbprog)) TO 1 STEP -1
            IF MID$(Prog$(nbprog), i, 1) = "\" THEN EXIT_FOR
        NEXT i
        Rept$(nbprog) = LEFT$(Prog$(nbprog), i-1)
    END_IF
CASE 82: ' R Répertoire de travail éventuel, ou répertoire des sources
    Rept$(nbprog) = a$
CASE 72: ' H Fichier d'aide éventuel
    Doc$(nbprog) = a$
END_SELECT
GOTO Rebouc

fcl:
FILE_CLOSE nf
maxv = 1 + INT((nbprog+1)/2): IF FRAC((nbprog+1)/2) > 0 THEN maxv = maxv + 1

lobj = 180: hobj = 40: x1 = 5: x2 = x1 + lobj + 10
y1 = 5
x = x1: y = y1
WIDTH 0, lobj*2+40: HEIGHT 0, (maxv-1)*(hobj+5)+70
CAPTION 0, tit$
COLOR 0, 0, 255, 255: ' cyan clair
Rebc:
FOR j = 1 TO nbprog
    IF j = maxv THEN x = x2: y = y1
    BUTTON j: TOP j, y: LEFT j, x: WIDTH j, lobj: HEIGHT j, hobj/2
    FONT_BOLD j: CAPTION j, Titre$(j)
    ON_CLICK j, Exec
    na = j+nmaxi
    LIST na: TOP na, y+hobj/2: LEFT na,x: WIDTH na, lobj: HEIGHT na, hobj/2
    ITEM_ADD na, Comm$(j): INACTIVE na
    y = y + hobj + 5
NEXT j
be = j+1: BUTTON be: HEIGHT be, 20: WIDTH be, lobj/2
TOP be, (maxv-1)*(hobj+5)+10: LEFT be, x1+2*lobj/3+10
FONT_BOLD be: CAPTION be, "Edit Menu"
ON_CLICK be, Editm
END

Fin:
TERMINATE

Exec:
FOR jclic = 1 TO nbprog
    IF CLICKED(jclic) = 1 THEN EXIT_FOR
NEXT jclic
FOR i = 1 TO nbprog: INACTIVE i: NEXT i: INACTIVE be
IF jclic<= nbprog
    FOR i = LEN(Prog$(jclic)) TO 1 STEP -1
        IF MID$(Prog$(jclic), i, 1) = "\" THEN EXIT_FOR
    NEXT i
    r$ = LEFT$(Prog$(jclic), i - 1)
    ex$ = MID$(Prog$(jclic), i + 1, LEN(Prog$(jclic)) - i)
    arg$ = ""
    IF UPPER$(RIGHT$(fm$, 12)) = "MENUPROG.TXT" AND Rept$(jclic) <> ""
        GOSUB DerProg
    END_IF
    DIR_CHANGE r$
    ex$ = r$ + "\" + ex$: ' programme cible
    IF arg$ <> "" THEN ex$ = ex$ + " " + arg$
    EXECUTE ex$
    TERMINATE
END_IF
RETURN

Editm:
EXECUTE "Notepad.exe " + fm$
RETURN

DerProg:
IF FILE_EXISTS(ftmp$) = 1 THEN FILE_DELETE ftmp$
nbder = 10: ' nombre de sources présentés
EXECUTE "Command.com /c DIR " + Rept$(jclic) + " /O:-D /B >" + ftmp$
WHILE FILE_EXISTS(ftmp$) = 0: END_WHILE
WAIT 500
arg$ = ""
FILE_OPEN_READ nf, ftmp$
IF FILE_EOF(nf) = 0
    bl = be+1
    LIST bl: TOP bl, 10: LEFT bl, 50: WIDTH bl, 280: HEIGHT bl, 200
    COLOR bl, 255, 255, 180
    FONT_BOLD bl
    ' Affichage des (nbder) sources les plus récents (ordre chrono inverse)
    ITEM_ADD bl, "*** Derniers sources "+ Titre$(jclic) + " ***"
    ITEM_ADD bl, "": c = 1
    WHILE FILE_EOF(nf) = 0
        FILE_READLN nf, a$
        ITEM_ADD bl, a$: c = c + 1: IF c > nbder THEN EXIT_WHILE
    END_WHILE
    ON_CLICK bl, choix
    bn = bl+1
    BUTTON bn: TOP bn, 180: LEFT bn, 150: CAPTION bn, "Nouveau"
    ON_CLICK bn, retour
    END
choix:
    IF ITEM_INDEX(bl) = 1 OR ITEM_INDEX(bl) = 2 THEN GOTO retour
    arg$ = ITEM_INDEX$(bl)
    FOR i = LEN(Rept$(jclic)) TO 1 STEP -1
        IF MID$(Rept$(jclic), i, 1) = "\" THEN EXIT_FOR
    NEXT i
    arg$ = LEFT$(Rept$(jclic), i) + arg$
END_IF
FILE_CLOSE nf
FILE_DELETE ftmp$
retour:
RETURN


Dernière édition par JL35 le Mar 24 Nov 2009 - 23:29, édité 2 fois
Revenir en haut Aller en bas
Invité
Invité




Regrouper les applications par genre (bureau Windows) Empty
MessageSujet: Re: Regrouper les applications par genre (bureau Windows)   Regrouper les applications par genre (bureau Windows) EmptyMar 24 Nov 2009 - 0:27

Je te remercie pour le code que tu fais pour moi. D'abord, c'est un peu présomptueux de croire qu'à moi tout seul, je suis une demande générale.
J'avais trouvé ton programme pas mal, et je pensais qu'il pouvait intéresser quelqu'un. Pour ma part j'avais déjà codé quelques chose de similaire, mais en beaucoup moins bien en justbasic (c'était surtout pour essayer la fonction run de ce logiciel). Malheureusement je n'arrive pas à trouver du temps en ce moment. Mais dès que cela est possible, j'essaye ton programme, et je pense que je l'adopterais.
Maintenant j'ai entendu: "JACK A DIT : AU LIT !!!"
Bonne nuit
Revenir en haut Aller en bas
JL35




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

Regrouper les applications par genre (bureau Windows) Empty
MessageSujet: Re: Regrouper les applications par genre (bureau Windows)   Regrouper les applications par genre (bureau Windows) EmptyMar 24 Nov 2009 - 13:35

A ta disposition pour les précisions éventuelles. Chez moi il est installé et fonctionnel depuis longtemps, dans sa version d'origine.

Je suis en train de rajouter quelques fonctionnalités, par exemple:
- un bouton pour éditer le fichier Menu appelé (ça c'est fait et ça marche).
- dans le cas du menu programmation, le choix entre les derniers sources en date correspondant au langage appelé. Mais j'ai quelques difficultés: les fonctions Panoramic ne permettent pas de connaître la date des fichiers, et j'ai quelques problèmes à utiliser le 'DIR /O:-D...' de msdos (tri par ordre chronologique inverse) avec la fonction EXECUTE. C'est à l'étude.


Bon, j'ai mis à jour le code ci-dessus.
Principales modifs:
- l'ajout du bouton pour éditer le fichier texte menu correspondant.
- dans le cas du menu Programmation, sur clic d'un langage la présentation des 10 derniers sources enregistrés correspondants, pour choix du chargement d'un source avec le langage, ou 'Nouveau'.
Le chemin des sources est indiqué à la rubrique R: du fichier menu.
A savoir que ce chemin ne doit pas comporter d'espaces, ni de noms de répertoires supérieurs à 8 caractères. Il faut donc utiliser le chemin 'court' msdos, genre: C:\Progra~1\... à cause des contraintes du DIR.
J'ai envisagé un sous-programme de conversion automatique, mais ça n'a pas l'air d'être simple...
Revenir en haut Aller en bas
Contenu sponsorisé





Regrouper les applications par genre (bureau Windows) Empty
MessageSujet: Re: Regrouper les applications par genre (bureau Windows)   Regrouper les applications par genre (bureau Windows) Empty

Revenir en haut Aller en bas
 
Regrouper les applications par genre (bureau Windows)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Exécutables et Applications
» Quelques applications utilisant TSL et TSV
» Une grille d'un nouveau (?) genre
» Un Post-it sur le bureau
» Grille sur le bureau

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: