Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: New Panoramic Project Jeu 20 Sep 2012 - 12:25 | |
| Un petit outils que je me suis créé ce matin... ( nécessite KGF.Dll ) - Code:
-
' ************************************************* ' * * ' * NEW PANORAMIC PROJECT * ' * * ' *************************************************
' Crée un dossier "Projets Panoramic" sur le bureau ' à sa première utilisation puis propose de choisir ' le nom du nouveau projet,crée son dossier et un ' fichier *.bas de son nom en son sein qu'il ouvre ' dans l'éditeur.( Mettre à jours vos adresses )
' ------------------------------------------------------------------------------ Hide 0 Dim D$,Dos$,Kgf$,Pano$,Fichier$,court$ Init_Var() Verif(D$) Close0() end ' ------------------------------------------------------------------------------ ' PROCEDURE D INITIALISATION DES VARIABLES DE BASE ' ------------------------------------------------------------------------------ Sub Init_Var() D$="C:\Users\Yannick\Desktop\Projets Panoramic" Kgf$="C:\Users\Yannick\Desktop\NPP\KGF.dll" Pano$="C:\PROGRA~2\PANORA~1\PANORA~2.EXE" End_Sub ' ------------------------------------------------------------------------------ ' PROCEDURE DE NOMINATION DU PROJET ' ------------------------------------------------------------------------------ Sub Dossier() If Message_input("Nom du Projet","Nom :","")=1 Dos$=Message_Text$ Else If Message_Information_OK("Vous allez quitter"+chr$(13)+"New Panoramic Project ?")=1 close0() End_If End_If End_Sub ' ------------------------------------------------------------------------------ ' PROCEDURE DE VERIFICATION ' ------------------------------------------------------------------------------ Sub Verif(D$) Dim_Local x%,New$,DN$ DN$=D$+"\Nouveau_" if dir_exists(D$)=0 Then Dir_Make D$ Dossier() If Dos$="" x%=1 New$=DN$+str$(x%) While Dir_Exists(New$)=1 x%=x%+1 New$=DN$+str$(x%) End_While Else New$=D$+"\"+Dos$ End_If Create(New$,Dos$) End_Sub ' ------------------------------------------------------------------------------ ' PROCEDURE DE CREATION DES DOSSIERS ET FICHIERS ' ------------------------------------------------------------------------------ Sub Create(New$,Dos$) Dim_Local x% ,L$,res% if Dos$="" then Dos$="Projet" Dir_make New$ Fichier$=New$+"\"+Dos$+".bas" File_Open_Write 1,New$+"\"+Dos$+".bas" For x%=1 To 53:Read L$:File_Writeln 1,L$:Next x% File_Close 1 File_Copy Kgf$,New$+"\KGF.dll" dll_on Dir_current$+"\KGF.dll" court$=string$(255," ") res%=dll_call2("GetShortName",adr(Fichier$),adr(court$)) if res%>0 Then Message "Erreur dans la conversion" dll_off Execute Pano$+Chr$(32)+court$ End_Sub ' ------------------------------------------------------------------------------ ' PROCEDURE DE SORTIE ' ------------------------------------------------------------------------------ Sub Close0() Terminate End_Sub '------------------------------------------------------------------------------- 'SQUELETTE DE PROGRAMME ' ------------------------------------------------------------------------------ Data "Dim No%,Menu% " Data "' ------------------------------------------------------------------------------" Data "Label Clic " Data "' ------------------------------------------------------------------------------" Data "F0()" Data "Menu()" Data "Objets()" Data "Init()" Data "end" Data "' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤" Data "Sub F0()" Data " Width 0,500:height 0,350" Data "End_Sub" Data "' ------------------------------------------------------------------------------" Data "Sub Menu()" Data " Dim_Local x% " Data " Main_Menu 1" Data " For x%=2 To 10:Sub_Menu x% :On_Click x%,Clic :Next x% " Data " For x%=2 To 5 :Parent x%,1:Next x% " Data "End_Sub" Data "' ------------------------------------------------------------------------------" Data "Sub Objets()" Data "End_Sub" Data "' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤" Data "Sub Init()" Data " Init_Dossier()" Data " Init_Langue()" Data "End_Sub" Data "' ------------------------------------------------------------------------------" Data "Sub Init_Dossier()" Data "End_Sub" Data "' ------------------------------------------------------------------------------" Data "Sub Init_Langue()" Data " Init_Caption()" Data "End_Sub" Data "' ------------------------------------------------------------------------------" Data "Sub Init_Caption()" Data "End_Sub" Data "' ------------------------------------------------------------------------------" Data "Clic:" Data " For No%=2 to 10" Data " If Clicked(No%)=1 Then Menu%=No% " Data " Next No%" Data " Select Menu% " Data " Case 2" Data " Case 3" Data " Case 4" Data " Case 5" Data " End_Select" Data "Return" Data "' ------------------------------------------------------------------------------" Data "' DATA LANGUES" Data "' ------------------------------------------------------------------------------" Vous devrez revoir les chemins selon vos systèmes d'exploitation, et vos envies perso. Le squelette n'a pas encore tous ses os mais vous pouvez créer le vôtre... | |
|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: New Panoramic Project Jeu 20 Sep 2012 - 13:22 | |
| Si tu passe par un générateur de squelette, je modifierait plusieurs petites choses. 1/ Je rajouterais un compteur d'objet (appel Cpt_obj%) plutôt que de mettre les numéros "en dur" 2/ Pour garder le numéro de départ du menu, je créerais la varaible N_Menu% et j'initialiserais Cpt_obj% dans Init() que j'executerais avant le F0() 3/ dans Sub Menu(), ça donnerait - Code:
-
Data "Sub Menu()" Data " Dim_Local x% " Data " Cpt_obj%= Cpt_obj%+1 : N_Menu%=Cpt_obj% : Main_Menu Cpt_obj%" Data " For x%=N_Menu%+1 To N_Menu%+9:Sub_Menu x% :On_Click x%,Clic :Next x% " Data " For x%=N_Menu%+1 To N_Menu%+5 :Parent x%,1:Next x% " Data "End_Sub"
4/ Dans clic, je ferais de Menu% une varaible locale à la procédure clic et je l'initailisaerais à 0 et je rajouterais un test de validité de Menu% avant le Select (Pas nécessaire dans l'état actuel du programme) Ce qui donnerait - Code:
-
Data "Clic:" Data " Dim_Local Menu%" Data " For No%=N_Menu%+1 To N_Menu%+9" Data " If Clicked(No%)=1 Then Menu%=No% " Data " Next No%" Data " If Menu% < 2 or Menu%> 5 then Return Data " Select Menu% " Data " Case 2" Data " Case 3" Data " Case 4" Data " Case 5" Data " End_Select" Data "Return"
| |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 20 Sep 2012 - 13:47 | |
| @ Jicehel, J'ai mis ce tas d'os pour exemple, chacun est libre de mettre ce qu'il veut mais je pense à faire autrement pour que le squelette soit changeable depuis un *.exe sur la base de "File_Copy" et "File_Rename" On pourrait ainsi avoir un dossier avec plusieurs cadavres et choisir le macabé que l'on veut... Le but est d'éviter la dispersion des fichiers sur le disque dur et les tâches fastidieuses des lignes répétitives du début d'un source. | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: New Panoramic Project Jeu 20 Sep 2012 - 15:02 | |
| Tout a fait et plus facilement utiliser les modèles de programmes. Bonne idée cette base de modèles pour commencer un projet selon ce que l'on veut faire | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 22 Sep 2012 - 2:58 | |
| Une Nouvelle version est sur le webdav Panoramic 2\ NPP Vs 0.1.zip | |
|
Contenu sponsorisé
| Sujet: Re: New Panoramic Project | |
| |
|