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
Menu paramétrable à laisser sur le bureau Emptypar Marc Hier à 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Menu paramétrable à laisser sur le bureau Emptypar Marc Hier à 12:22

» Philharmusique
Menu paramétrable à laisser sur le bureau Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Menu paramétrable à laisser sur le bureau Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Menu paramétrable à laisser sur le bureau Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Menu paramétrable à laisser sur le bureau Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Menu paramétrable à laisser sur le bureau Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Menu paramétrable à laisser sur le bureau Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Menu paramétrable à laisser sur le bureau Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
Menu paramétrable à laisser sur le bureau Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Menu paramétrable à laisser sur le bureau Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Menu paramétrable à laisser sur le bureau Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
Menu paramétrable à laisser sur le bureau Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Menu paramétrable à laisser sur le bureau Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Menu paramétrable à laisser sur le bureau 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

 

 Menu paramétrable à laisser sur le bureau

Aller en bas 
4 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12295
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Menu paramétrable à laisser sur le bureau Empty
MessageSujet: Menu paramétrable à laisser sur le bureau   Menu paramétrable à laisser sur le bureau EmptyDim 16 Juin 2013 - 19:32

J'avais déjà publié récemment un outil permettant de crée, modifier et utiliser un menu. L'exécutable est à lancer en début de session et peut rester actif - il n'est pas encombrant et au combien pratique pour accéder rapidement à ses programmes.

On peut créer autant de sous-menus que nécessaire, et dans chaque sous-menu, autant de lignes que nécessaire. Chaque ligne a 4 paramètres:
- le libellé affiché à l'écran
- le chemin vers le fichier à lancer
- un paramètre à passer éventuellement au programme
- le dossier par défaut dans lequel le programme doit s'exécuter

On peut ainsi lancer n'importe quel programme exécutable. Mais on peut aussi lancer l'éditeur de Panoramic. On peut même lancer l'éditeur de panoramic avec le nom du fichier BAS en paramètre, ainsi que le dossier dans lequel il est. Panoramic ouvre alors ce fichier d'un seul clic. Et je fais la même chose avec mes projets Delphi etc.

Et le clou de l'affaire, c'est que ce programme contient automatiquement un premier menu nommé "Outils" qui a deux fonctions:
- modifier la liste principale des sous-menus ou un des sous-menus
- recharger la liste des sous-menus après une modification
Ce programme est ainsi son propre éditeur.

J'ai ajouté maintenant la possibilité de spécifier une adresse http:// dans le paramètre du fichier à lancer. Cette adresse URL s'ouvrira alors dans un nouvel onglet ou une nouvelle fenêtre (en fonction des paramètres du browser) du browser Web par défaut. C'est un moyen d'accéder au Mag en un seul clic.

Voici le code (nécessite KGF.dll):
Code:
' xmenu.bas
'
' Le fichier xmenu.ini contient la liste des menus.
' Définis à ce jour:
' - menu_jeux.ini
' - menu_panoramic.ini
' - menu_delphi.ini
' - menu_help.ini
'
' les fichiers des menus individuels contiennent les informations suivantes:
'   libellé,programme,paramètres,dossier
' il est conseillé d'entourer chaque champ par des guillemets.
'
' tous ces menus seront présentés comme menus Panoramic.
' les programmes seront lancés par EXECUTE.
'
' KGF.dll est utilisé pour déterminer le nom court à partir du nom log
' et accessoirement pour décoder une ligne dans les fichiers menu_xxx.ini
'
' Le menu Outils est fixe et imposé. Il contient une fonction qui permet
' de recharger.tous les menus, ainsi qu'une fonction qui permet d'éditer
' les fichiers paramètres.
' Le fichier xmenu.ini contient la liste des sous-menus.
' Les sous-menus doivent s'appeler menu_xxx.ini avec xxx étant le nom
' du sous-menu dans xmenu.ini.
' Après une modification, la fonction Recharger affiche le menu modifié
'
' Si les 7 premiers caractères d'un nom de programme (2ème paramètre
' d'une ligne d'un menu) sont "http://", le programme génère un fichier
' "c:\temp\xmenutemp.html".dans lequel il dépose on berf code HTML avec
' un Java-Script redirigeant vers la page HTML choisie, puis lance
' l'exécution de ce code temporaire.

KGF_initialize("KGF.dll")

labels()
constantes()
variables()
form0()
objets()
menus()

end

sub labels()
  label click_menu, refresh, modif, modifier
end_sub

sub constantes()
  dim xmenu$ : xmenu$ = "xmenu.ini"
end_sub

sub variables()
  dim no%, no1%, no2%, nox%, noy%
  dim no_menus%, no_objets%, no_refresh%, no_combo%
  dim f$, s$, i%, s1$, s2$, s3$
  dim n%, n_menu%, n_ligne%
end_sub

sub form0()
  border_small 0 : height 0,45 : caption 0,"Menu Klaus"
  no% = no% + 1 : main_menu no% : no1% = no%
  no% = no% + 1 : sub_menu no% : parent no%,no1% : no2% = no% : caption no%,"Outils"
  no% = no% + 1 : sub_menu no% : parent no%,no2% : caption no%,"Recharger"
    on_click no%,refresh
  no% = no% + 1 : sub_menu no% : parent no%,no2% : caption no%,"-"
  no% = no% + 1 : sub_menu no% : parent no%,no2% : caption no%,"Modifier"
    on_click no%,modif
end_sub

sub objets()
  no% = no% + 1 : dlist no% : no_menus% = no%
  no% = no% + 1 : dlist no% : no_objets% = no%
  no% = no% + 1 : combo no% : no_combo% = no%
    top no%,10 : left no%,10 : width no%,100
  no% = no% + 1 : button no% : top no%,10 : left no%,130
    caption no%,"Modifier" : on_click no%,modifier
  no_refresh% = no%
end_sub

sub menus()
  if file_exists(xmenu$)=0
    file_open_write 1,xmenu$
    ' ********************************************************
    ' *********** adapter ici la liste des sous-menus ********
    ' ***********       à créer automatiquement       ********
    ' ********************************************************
    file_writeln 1,"menu_jeux.ini"
    file_writeln 1,"menu_panoramic.ini"
    file_writeln 1,"menu_delphi.ini"
    file_writeln 1,"menu_help.ini"
    ' ********************************************************
    ' ***********           fin de la liste           ********
    ' ********************************************************
    file_close 1
  end_if
  clear no_objets%
  clear no_combo%
  item_add no_combo%,"xmenu"
  file_open_read 1,xmenu$
  while file_eof(1)=0
    file_readln 1,f$
    if trim$(f$)="" then exit_while
    item_add no_menus%,f$
    if file_exists(f$)=0
      file_open_write 2,f$
      file_close 2
    end_if
    s$ = f$
    i% = instr(s$,"_")
    if i%>0 then s$ = mid$(s$,i%+1,len(s$))
    i% = instr(s$,".")
    if i%>0 then s$ = left$(s$,i%-1)
    item_add no_combo%,s$
    no% = no% + 1 : sub_menu no% : parent no%,no1% : no2% = no%
    item_add no_objets%,str$(no%)
      caption no%,s$
    ' ici, charger le sous-menu
    file_open_read 2,f$
    nox% = 128 + count(no_menus%) : dlist nox%
    while file_eof(2)=0
      file_readln 2,f$
      item_add nox%,f$
      KGFDelimitedTextExtract(f$,",",1)
      s1$ = KGFDelimitedTextExtract$
      noy% = nox%*32 + count(nox%)
      sub_menu noy% : parent noy%,no2% : caption noy%,s1$
      item_add no_objets%,str$(noy%)
      if left$(s1$,1)<>"-" then on_click noy%,click_menu
    end_while
    file_close 2
  end_while
  file_close 1
end_sub

click_menu:
  n% = number_click
  n_menu% = bin_and(n%,127*32) / 32
  n_ligne% = bin_and(n%,31)
  s$ = item_read$(n_menu%+128,n_ligne%)
' s1$ = "n%="+str$(n%)+"  n_menu%="+str$(n_menu%)
' message s1$ + "  n_ligne%="+str$(n_ligne%)
  KGFDelimitedTextExtract(s$,",",2)
  s1$ = KGFDelimitedTextExtract$
  KGFDelimitedTextExtract(s$,",",3)
  s2$ = KGFDelimitedTextExtract$
  KGFDelimitedTextExtract(s$,",",4)
  s3$ = KGFDelimitedTextExtract$
  if lower$(left$(s1$,7))="http://"
    file_open_write 1,"c:\temp\xmenutemp.html"
    file_writeln 1,"<html>"
    file_writeln 1,"<head>"
    file_writeln 1,"<title>Lancement site</title>"
    file_writeln 1,"<script type="+chr$(34)+"text/javascript"+chr$(34)+">"
    file_writeln 1,"<!--"
    file_writeln 1,"window.location = "+chr$(34)+s1$+chr$(34)
    file_writeln 1,"//-->"
    file_writeln 1,"</script>"
    file_writeln 1,"</head>"
    file_writeln 1,"</html>"
    file_close 1
    s1$ = "c:\temp\xmenutemp.html"
  end_if
  ExecuteProgram(s1$,s2$,s3$)
' message "["+s1$+"] ["+s2$+"] ["+s3$+"]"
  return
  
refresh:
  while count(no_objets%)>0
    n% = val(item_read$(no_objets%,count(no_objets%)))
    item_delete no_objets%,count(no_objets%)
    delete n%
  end_while
  no% = no_refresh%
  menus()
  return
  
modif:
  height 0,90
  return
  
modifier:
  height 0,45
  if text$(no_combo%)="" then return
  s$ = text$(no_combo%)
  if s$="xmenu"
    s1$ = dir_current$ + "\xmenu.ini"
  else
    s1$ = dir_current$ + "\menu_"+s$+".ini"
  end_if
  s2$ = ""
  s3$ = ""
  ExecuteProgram(s1$,s2$,s3$)
  return
  
#INCLUDE "KGF_SUB.bas"


Dernière édition par Klaus le Dim 16 Juin 2013 - 22:54, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Menu paramétrable à laisser sur le bureau Empty
MessageSujet: Re: Menu paramétrable à laisser sur le bureau   Menu paramétrable à laisser sur le bureau EmptyDim 16 Juin 2013 - 20:20

Je vais y regarder, 
juste un petit oubli (ligne 106) ON_ERROR_GOTO le label no_file_2 n'existe pas.

A+
Revenir en haut Aller en bas
JL35




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

Menu paramétrable à laisser sur le bureau Empty
MessageSujet: Re: Menu paramétrable à laisser sur le bureau   Menu paramétrable à laisser sur le bureau EmptyDim 16 Juin 2013 - 20:45

J'ai fait quelque chose de semblable pour mes besoins personnels, depuis longtemps, et c'est plutôt pratique à utiliser: en fait j'ai plusieurs grandes catégories avec chacune son icône sur le bureau: utilitaires, vidéo/son, photo, bureautique, dessin, Panoramic, etc. et c'est rudement pratique pour s'y retrouver., avec pour chaque application la même chose que toi: chemin d'accès, paramètre(s) à passer, répertoire d'exécution. Et possibilités de mises à jour (ajout de programmes).
Je n'ai pas trop soigné l'esthétique (c'était pour moi... et mon épouse), mais c'est efficace.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Menu paramétrable à laisser sur le bureau Empty
MessageSujet: Re: Menu paramétrable à laisser sur le bureau   Menu paramétrable à laisser sur le bureau EmptyDim 16 Juin 2013 - 21:32

Bien joué Klaus
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12295
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Menu paramétrable à laisser sur le bureau Empty
MessageSujet: Re: Menu paramétrable à laisser sur le bureau   Menu paramétrable à laisser sur le bureau EmptyDim 16 Juin 2013 - 22:55

Merci, Jean-Claude. C'était un résidu d'un test... J'ai retiré la ligne 106.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Menu paramétrable à laisser sur le bureau Empty
MessageSujet: Re: Menu paramétrable à laisser sur le bureau   Menu paramétrable à laisser sur le bureau Empty

Revenir en haut Aller en bas
 
Menu paramétrable à laisser sur le bureau
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» xmenu: menu paramétrable dynamiquement
» Menu avec icones entièrement paramétrable
» Menu personalisé avec icones et menu contextuel
» Aide Panoramic sur le bureau
» Une trace paramétrable en 100 % Panoramic

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: