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.
PanoAssembleur Emptypar Pedro Hier à 10:37

» Un autre pense-bête...
PanoAssembleur Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
PanoAssembleur Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
PanoAssembleur Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
PanoAssembleur Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
PanoAssembleur Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
PanoAssembleur Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
PanoAssembleur Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
PanoAssembleur Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
PanoAssembleur Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
PanoAssembleur Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
PanoAssembleur Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
PanoAssembleur Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
PanoAssembleur Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
PanoAssembleur 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 à ne pas rater :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G Double SIM à 599€
599 €
Voir le deal

 

 PanoAssembleur

Aller en bas 
AuteurMessage
Yannick




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

PanoAssembleur Empty
MessageSujet: PanoAssembleur   PanoAssembleur EmptyVen 6 Jan 2017 - 22:52

Pour ceux qui travaille comme je le fais souvent avec des #include,
un petit utilitaire pour assembler vos fichiers *.bas en un seul et unique fichier.
Code:
label clic
hide 0
gui()
SearchFiles()
end

sub gui()
   border_hide 0
   height 0,100
   width 0,500
   top 0,(screen_y-height(0))/2
   left 0,(screen_x-width(0))/2
   color 0,209,159,72
   caption 0,"Pano-Assembleur"

   font_name 0,"Courier New"
   font_size 0,8
   font_bold 0
   font_color 0,255,255,255
  
   dlist 9
   dlist 10
   dlist 11

   panel 1
   height 1,height_client(0)-10
   width 1,width_client(0)-10
   top 1,5
   left 1,5
   color 1,253,212,140

   alpha 2
   parent 2,1
   font_bold 2
   font_color 0,155,0,0
  
  
   button 3
   parent 3,1
   caption 3,"Fermer"
   cursor_point 3
   on_click 3,clic
  
end_sub

sub SearchFiles()
   dim_local f$,nf$,dir$,i%,l$,l2$,sep%,ncar%,file$,mess$,nbinc%

   open_dialog 8
   dir_dialog 8,":"
   filter 8,"*.bas|*.bas"
   f$=file_name$(8)
   delete 8
  
   if f$<>"_"
      file_load 9,f$
      dir$ = file_extract_path$(f$)
      f$   = file_extract_name$(f$)
      f$   = left$(f$,len(f$)-4)
      nf$  = dir$+"PA_"+f$+".bas"

      if count(9)>0
         for i%=1 to count(9)
            l$=item_read$(9,i%) : l2$=trim$(l$)
            if upper$(left$(l2$,8))="#INCLUDE"
               nbinc%=nbinc%+1
               sep%=instr(l2$,chr$(34))
               ncar%=len(l2$)-sep%-1
               file$=mid$(l2$,sep%+1,ncar%)
               file_add 11,dir$+file$
            else
               item_add 11,l$
            end_if
         next i%
         if nbinc%>0
            file_save 11,nf$
            mess$ = string$(int((len(nf$)-12)/2)," ")+"Le fichier :"+chr$(13)
            mess$ = mess$+nf$+chr$(13)
            mess$ = mess$+string$(int((len(nf$)-23)/2)," ")+"a été créé avec succès."
            caption 2,mess$
         else
            mess$ = string$(22," ")+"Erreur !!!"+chr$(13)
            mess$ = mess$+"Le fichier d' entrée ne contient pas la directive"+chr$(13)
            mess$ = mess$+string$(20," ")+"#INCLUDE"
            caption 2,mess$
         end_if
         resize0()
         show 0
      end_if
   end_if
end_sub

sub resize0()
   width 0,width(2)+40
   top 0,(screen_y-height(0))/2
   left 0,(screen_x-width(0))/2
   width 1,width_client(0)-10
   top 2,10
   left 2,10
   top 3,top(2)+height(2)+10
   left 3,int((width(1)-width(3))/2)
end_sub

clic:
   Terminate
return

le fichier créé prend le nom de celui d' entrée avec le préfixe "PA_"
il est enregistré dans le dossier de celui d' entrée.
Le fichier n' est enregistré que si il trouve la directive #INCLUDE.

Je l' avais dit que cela me ferait une publication de plus...
Laughing

une version plus visuelle :
Code:
dim f$,dir$,nf$
label clic,change

hide 0
gui()
show 0

end

sub gui()
  height 0,550
  width 0,900
  top 0,(screen_y-height(0))/2
  left 0,(screen_x-width(0))/2
  color 0,253,212,140
  caption 0,"Pano Assembleur - Vs 0.2"
 
  font_name 0,"Arial"
  font_size 0,10
 
  main_menu 1
  sub_menu 2 : parent 2,1 : caption 2,"Ouvrir"          : on_click 2,clic
  sub_menu 3 : parent 3,1 : caption 3,"Enregistrer"    : on_click 3,clic

  panel 5
  height 5,height_client(0)-10
  width 5,width_client(0)-10
  top 5,5
  left 5,5
  color 5,209,159,72
 
  alpha 4
  parent 4,5
  caption 4,"Aller à la ligne n° "
  top 4,6
  left 4,width(5)-width(4)-85
  font_size 4,8
  font_bold 4
  font_color 4,255,255,255

  spin 9
  inactive 9
  parent 9,5
  width 9,80
  top 9,3
  left 9,width(5)-width(9)-5
  color 9,253,212,140
  font_size 9,8
  font_bold 9
  font_color 9,0,0,255
  on_change 9,change

  list 6
  parent 6,5
  height 6,height(5)-34
  width 6,width(5)-10
  top 6,29
  left 6,5
 
  dlist 7
end_sub

clic:
  if number_click =2
      SearchFile()
      return
  end_if
  if number_click =3
      SaveFile()
      return
  end_if
return

change:
  if count(6)>0 or count(6)>position(9) or count(6)=position(9)
      item_select 6,position(9)
  end_if
return

sub SearchFile()
  dim_local i%,l$,l2$,sep%,ncar%,nbinc%,file$
  clear 6
  Open_dialog 8
  dir_dialog 8,":\"
  filter 8,"*.bas|*.bas"
  f$=file_name$(8)
  delete 8
  if f$<>"_"
      file_load 7,f$
      dir$ = file_extract_path$(f$)
      f$  = file_extract_name$(f$)
      f$  = left$(f$,len(f$)-4)
      nf$  = dir$+"PA_"+f$+".bas"
      if count(7)>0
        for i%=1 to count(7)
            l$=item_read$(7,i%) : l2$=trim$(l$)
            if upper$(left$(l2$,8))="#INCLUDE"
              nbinc%=nbinc%+1
              sep%=instr(l2$,chr$(34))
              ncar%=len(l2$)-sep%-1
              file$=mid$(l2$,sep%+1,ncar%)
              file_add 6,dir$+file$
            else
              item_add 6,l$
            end_if
        next i%
      end_if
  end_if
  min 9,1
  max 9,count(6)
  if count(6)>0
      position 9,1
      active 9
  end_if
  if nbinc%=0
      message "Aucune directive #INCLUDE n' a été trouvé !"
  end_if
end_sub

sub SaveFile()
  file_save 6,nf$
end_sub
Revenir en haut Aller en bas
 
PanoAssembleur
Revenir en haut 
Page 1 sur 1

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: