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.
Compilateur de fichiers *.bas Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Compilateur de fichiers *.bas Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Compilateur de fichiers *.bas Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Compilateur de fichiers *.bas Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Compilateur de fichiers *.bas Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Compilateur de fichiers *.bas Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Compilateur de fichiers *.bas Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Compilateur de fichiers *.bas Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Compilateur de fichiers *.bas Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Compilateur de fichiers *.bas Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Compilateur de fichiers *.bas Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Compilateur de fichiers *.bas Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Compilateur de fichiers *.bas Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Compilateur de fichiers *.bas Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Compilateur de fichiers *.bas 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
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 Compilateur de fichiers *.bas

Aller en bas 
AuteurMessage
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Compilateur de fichiers *.bas Empty
MessageSujet: Compilateur de fichiers *.bas   Compilateur de fichiers *.bas EmptyMar 30 Oct 2012 - 16:11

Un petit jouet... Laughing

Comme beaucoup, j' ai adopté les "#include " pour mes programmes.
C' est plus facile pour structurer les sources et le programme devient plus clair.
Mais la publication sur le forum, avec la multiplication des fichiers, devient vite fastidieuse.
D'où l'idée de raccrocher ensemble tous ces fichiers ensembles et la naissance
de ce petit utilitaire.

Il rassemble les fichiers selon l'ordre de la liste et passe en commentaire les lignes "#include"
Code:
' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
' ¤                                MAIN                                      ¤
' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Init()
Interface()
End
' ==============================================================================
Sub Init()
  Dlist 901
  Dim menu6$
  menu6$=string$(144," ")
End_Sub
' ==============================================================================
Sub Interface()
  Dim_Local x%
  Formulaire(0,1,"Source Include Compilator",800,350,0,0)
  Menu(0,1,7)
  For x%=3 To 5:Inactive x%:Next x% :inactive 7
  Caption_Menu(1,7)
  List 100:  Width 100,784:Height 100,292:Color 100,0,0,0:Font_Color 100,255,255,255
  Font_Bold 100:Font_Name 100,"Courier New":hide 100
End_Sub
' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
' ¤                                INTERFACE                                  ¤
' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Sub Formulaire(No%,V%,Titre$,W%,H%,T%,L%)
  If No% > 0 Then Form No%
  If V%=0 Then Hide No%
  Command_Target_Is No%
  Width No%,W% :Height No%,H%
  If T%=0 :Top No%,(Screen_y-H%)/2 :Else :Top No%,T% :End_If
  If L%=0 :Left No%,(Screen_x-W%)/2:Else :Left No%,L%:End_If
  Font_Name No%,"Times new roman":Font_Size No%,10:Caption No%,Titre$
End_Sub
' ==============================================================================
Sub Menu(No%,Num%,Nbre%)
  If Label("Clic")=0 Then Label Clic
  If Variable("M%")=0 Then Dim M%
  Dim_local x%
  Command_Target_Is No%
  Main_Menu Num%
  For x% =Num%+1 To Num%+Nbre% :Sub_Menu x% :Parent x%,Num% :On_Click x%,Clic
  Next x%
End_Sub
' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
' ¤                                MENU CLIC                                  ¤
' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Clic:
  if variable("Menu%")=0 Then Dim Menu%
  Menu%=Number_Click
  Select Menu%
      case 2
        show 100
        Nouveau()
      case 3
        Ajouter(100)
      case 4
        Supprimer(100)
      case 5
        Executer(100,901)
      case 6
        Quitter()
      case 8
        Aide(300)
      Case 203
        C203()
      Case 204
        C204()
  End_Select
Return
' ==============================================================================
' Case 2
Sub Nouveau()
  If Object_Exists(200)=0
      Formulaire(200,1,"Nouveau",440,150,0,0)
      Alpha 201:Top 201,13:Left 201,10:Caption 201,"Dossier de Sortie"
      Edit 202 :Top 202,30:Left 202,10:Width 202,300
      Alpha 205:Top 205,53:Left 205,10:Caption 205,"Nom du nouveau fichier"
      Edit 206 :Top 206,70:Left 206,10:Width 206,200
      Button 203:Top 203,29:Left 203,315:Width 203,20:Height 203,20:Cursor_Point 203
      Font_Name 203,"Wingdings":Caption 203,"1":On_Click 203,Clic
      Button 204:Top 204,69:Left 204,215:Width 204,20:Height 204,20:Cursor_Point 204
      Caption 204,"Ok":On_Click 204,Clic
  Else
      Show 200
  End_if
End_Sub
' ==============================================================================
' Case 3
Sub Ajouter(No%)
  If Variable("File$")=0 Then Dim File$
  Open_Dialog 900
  filter 900,"*.bas|*.bas"
  File$=File_Name$(900)
  If File$<>"_" Then Item_Add No%,File$
  Delete 900
End_Sub
' ==============================================================================
' Case 4
Sub Supprimer(No%)
  If Item_Index(No%)<>0 Then Item_Delete No%,Item_Index(No%)
End_Sub
' ==============================================================================
' Case 5
Sub Executer(No%,Liste%)
  Dim_Local x%,i$,y%
  If Count(No%)>0
      x%=Count(No%)
      Repeat
        y%=y%+1
        File_Add Liste%,Item_Read$(No%,1)
        Item_Delete No%,1
      Until y%=x%
      For x%=1 to count(Liste%)
        i$=Item_read$(Liste%,x%)
        If left$(Upper$(i$),8)="#INCLUDE"
            i$="' "+i$
            Item_delete Liste%,x%
            Item_Insert Liste%,x%,i$
        End_If
      Next x%
      File_Save Liste%,Output$+Nom$+".bas"
  End_If
  Inactive 3 :inactive 4 :inactive 5
  hide 100
End_Sub
' ==============================================================================
' Case 6
Sub Quitter()
  Terminate
End_Sub
' ==============================================================================
' Case 8
Sub Aide(No%)
  If Object_Exists(No%)=0
      Formulaire(No%,1,"Aide",600,300,0,0)
      No%=No%+1: Alpha No% :Top No%,20:Left No%,20
      Caption No%,"Cette application Colle entre eux les fichiers *.bas sélectionnés dans l'ordre de la liste."
      No%=No%+1: Alpha No% :Top No%,35:Left No%,20
      Caption No%,"Elle lit le fichier créé et dès qu'elle trouve '#include' met la ligne en commentaire"
      No%=No%+1: Alpha No% :Top No%,50:Left No%,20
      Caption No%,"Puis, enregistre le fichier dans le dossier sélectionné avec le nom désigné et l'extension *.bas"
      No%=No%+1: Alpha No% :Top No%,80:Left No%,20:Font_bold No% :font_color No%,0,0,250
      Caption No%,"Ajouter"
      No%=No%+1: Alpha No% :Top No%,100:Left No%,20
      Caption No%,"Permet d'ajouter un fichier *.bas à la liste"
      No%=No%+1: Alpha No% :Top No%,130:Left No%,20:Font_bold No% :font_color No%,0,0,250
      Caption No%,"Supprimer"
      No%=No%+1: Alpha No% :Top No%,150:Left No%,20
      Caption No%,"Permet de supprimer l'item sélectionné dans la liste"
      No%=No%+1: Alpha No% :Top No%,180:Left No%,20:Font_bold No% :font_color No%,0,0,250
      Caption No%,"Exécuter"
      No%=No%+1: Alpha No% :Top No%,200:Left No%,20
      Caption No%,"Lance l'exécution du programme"
      No%=No%+1: Alpha No% :Top No%,230:Left No%,20:Font_bold No% :font_color No%,0,0,250
      Caption No%,"Quitter"
      No%=No%+1: Alpha No% :Top No%,250:Left No%,20
      Caption No%,"Ferme l'application"
      No%=No%+1: Alpha No% :Top No%,280:Left No%,20:Font_bold No% :font_color No%,0,0,250
      Caption No%,"Aide"
      No%=No%+1: Alpha No% :Top No%,300:Left No%,20
      Caption No%,"Vous y êtes !"
  Else
      Show No%
  End_if
End_Sub
' ==============================================================================
' Case 203
Sub C203()
  If Variable("Output$")=0 Then Dim Output$
  Open_Dialog 900
  Filter 900,"*.bas|*.bas"
  Output$=File_Extract_Path$(File_Name$(900))
  If Output$<>"_" Then Text 202,Output$
  Delete 900
End_Sub
' ==============================================================================
' Case 204
Sub C204()
  If Variable("Nom$")=0 then Dim Nom$
  If text$(206)<>""
      Nom$=Text$(206)
      active 3:active 4:active 5:text 202,"":Hide 200
  else
      If Message_Warning_Yes_No("Veuillez entrer un nom pour le nouveau fichier")<>1
        Output$="":text 202,"":Hide 200
      End_If
  End_If
End_Sub
' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
' ¤                                DATA MENU                                  ¤
' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Sub Caption_Menu(R%,N%)
  Dim_local M$,x%,def$(N%)
  Restore
  Read M$
  While M$<>"Menu"+str$(R%)
  Read M$
  End_While
  For x%=1 to N% :Read def$(x%): caption R%+x%,def$(x%):Next x%
End_Sub

Data "Menu1"
Data "Nouveau"
Data "Ajouter"
Data "Supprimer"
Data "Exécuter"
Data "Quitter"
Data menu6$
Data "Aide"

@ tous,
Il n'y a aucun fichier en auto-création, mis à part le nouveau source que l'on sauvegarde là où on veut... Laughing Laughing Laughing

Edit : Une précision pour choisir un dossier, il faut sélectionner un fichier dans le dossier souhaité.
Une autre solution imposerait l' utilisation de la dll de Klaus mais ce petit utilitaire le justifie t il ?


Dernière édition par ygeronimi le Mar 30 Oct 2012 - 16:22, édité 1 fois (Raison : Précision)
Revenir en haut Aller en bas
 
Compilateur de fichiers *.bas
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» fichiers .csv
» Visualisation des fichiers CSV
» Fichiers HTML
» Editeur de fichiers INI
» Gestion de mes fichiers

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: