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
» Logiciel de planétarium.
Regrouper les applications par genre (bureau Windows) Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Regrouper les applications par genre (bureau Windows) Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Regrouper les applications par genre (bureau Windows) Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Regrouper les applications par genre (bureau Windows) Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Regrouper les applications par genre (bureau Windows) Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Regrouper les applications par genre (bureau Windows) Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Regrouper les applications par genre (bureau Windows) Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Regrouper les applications par genre (bureau Windows) Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Regrouper les applications par genre (bureau Windows) Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Regrouper les applications par genre (bureau Windows) Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Regrouper les applications par genre (bureau Windows) Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Regrouper les applications par genre (bureau Windows) Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Regrouper les applications par genre (bureau Windows) Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Regrouper les applications par genre (bureau Windows) Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Regrouper les applications par genre (bureau Windows) Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 Regrouper les applications par genre (bureau Windows)

Aller en bas 
AuteurMessage
JL35




Nombre de messages : 7112
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 : 7112
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: