Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: PanoAssembleur Ven 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... 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 | |
|