Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Mes Documents Dim 26 Oct 2014 - 20:51 | |
| Depuis la belle invention qu' est le scanner, j' ai pris l' habitude de scanner tout mes documents administratif. Oui mais, si il est plus facile de retrouver un document sur sa machine que dans des classeurs Cintra, au bout de quelques années..... Alors, depuis quelques temps je me suis fait une petite application pour mieux gérer tout ces documents. Le principe est simple les dossiers sont représentés par les photos des concernés et les sous dossiers les prestataires. Il est possible de mettre un logo au lieu d' une photo et d' inverser dossier et sous dossier. Je vous laisse juge. Chez moi cette application est à la racine d' une clé usb. Je vous ai fait grâce de l' "A Propos..." et le fichier d' aide est en cours d' élaboration... - Code:
-
Application_title "Mes Documents" dim vs$ : vs$="0.1" ' déclaration et définition des variables d' adresse dim Path$,Kgf$,Ss_dos$ Path$=dir_current$ : if right$(Path$,1)="\" : Path$=left$(Path$,len(Path$)-1):end_if Ss_dos$ =Path$+"\Sdos.ini" Kgf$ =Path$+"\KGF.dll" dll_on Kgf$ ' déclaration des variables objets dim no% dim MM%,SM%(10),SSM%(30) dim Frame1%,Pict1%,Sbar1%,Comb1%,List1% dim fen2%,E_FicImport%,B_FicImport%,Pict2%,Sbar2%,Comb2%,NName%,BImport%,BQuit% dim fen3%,E_FicMove%,Pict3%,Sbar3%,Comb3%,BMove% ' déclaration des variables projet dim hnd1%,res%,clic%,change%,Nb_dos%,Nb_Sdos%,ID$,File$ dim dos_imp$,Sdos_imp$,file_imp$ dim dos_move$,Sdos_move$,file_move$ hnd1%=handle(0) ' déclaration des labels Label Clic,Change ' définition du form principal height 0,700 : width 0,1200 : top 0,(screen_y-height(0))/2 : left 0,(screen_x-width(0))/2 Caption 0,"Mes Documents vs "+vs$ : font_name 0,"arial" ' définition du menu no%=no%+1 : MM%=no% Main_menu no% no%=no%+1 : SM%(1)=no% Sub_menu no% : Parent no%,MM% : Caption no%,"Fichier" no%=no%+1 : SSM%(1)=no% Sub_menu no% : Parent no%,SM%(1) : Caption no%,"Importer" : on_click no%,clic no%=no%+1 : SSM%(2)=no% Sub_menu no% : Parent no%,SM%(1) : Caption no%,"Exporter" : on_click no%,clic no%=no%+1 : SSM%(3)=no% Sub_menu no% : Parent no%,SM%(1) : Caption no%,"-" no%=no%+1 : SSM%(4)=no% Sub_menu no% : Parent no%,SM%(1) : Caption no%,"Quitter" : on_click no%,clic no%=no%+1 : SM%(2)=no% Sub_menu no% : Parent no%,MM% : Caption no%,"Edition" no%=no%+1 : SSM%(5)=no% Sub_menu no% : Parent no%,SM%(2) : Caption no%,"Renommer" : on_click no%,clic no%=no%+1 : SSM%(6)=no% Sub_menu no% : Parent no%,SM%(2) : Caption no%,"Déplacer" : on_click no%,clic no%=no%+1 : SSM%(7)=no% Sub_menu no% : Parent no%,SM%(2) : Caption no%,"Supprimer" : on_click no%,clic no%=no%+1 : SM%(3)=no% Sub_menu no% : Parent no%,MM% : Caption no%,"Options" no%=no%+1 : SSM%(8)=no% Sub_menu no% : Parent no%,SM%(3) : Caption no%,"Ajouter un dossier" : on_click no%,clic no%=no%+1 : SSM%(9)=no% Sub_menu no% : Parent no%,SM%(3) : Caption no%,"Ajouter un sous dossier" : on_click no%,clic no%=no%+1 : SM%(4)=no% Sub_menu no% : Parent no%,MM% : Caption no%,"A Propos..." : on_click no%,clic no%=no%+1 : SM%(5)=no% Sub_menu no% : Parent no%,MM% : Caption no%,"Aide" : on_click no%,clic ' définition du frame de gauche no%=no%+1 : Frame1%=no% Panel no% : top no%,0 : left no%,0 : height no%,height(0)-58 : width no%,300 no%=no%+1 : Pict1%=no% Picture no% : parent no%,frame1% : top no%,5 : left no%,5 : height no%,200 : width no%,150 : color no%,0,0,0 no%=no%+1 : Sbar1%=no% Scroll_bar no% : parent no%,frame1% : top no%,210 : left no%,5 : width no%,150 : on_change no%,change : cursor_point no% no%=no%+1 Alpha no% : parent no%,frame1% : top no%,240 : left no%,5 : caption no%,"Sous dossier :" font_name no%,"Times new roman" : font_bold no% : font_size no%,10 no%=no%+1 : Comb1%=no% Combo no% : parent no%,frame1% : top no%,255 : left no%,5 : width no%,width(frame1%)-20 : on_click no%,clic : cursor_point no% no%=no%+1 : List1%=no% List no% : parent no%,frame1% : top no%,285 : left no%,5 : height no%,height(0)-350 : width no%,width(frame1%)-20 : on_click no%,clic : cursor_point no% ' définition du frame de droite res% = dll_call1("WBCreate",hnd1%) res% = dll_call4("WBLocate",305,5,width(0)-326,height(0)-68) Init() end
' Menu des clics Clic: clic%=number_click if clic%=SSM%(1): FenImport() :end_if if clic%=SSM%(2): ExportFile(File$) :end_if if clic%=SSM%(4): Terminate :end_if if clic%=SSM%(5): RenameFile(File$) :end_if if clic%=SSM%(6): Move_windows(File$):end_if if clic%=SSM%(7): DeleteFile(File$) :end_if if clic%=SSM%(8): NewDir() :end_if if clic%=SSM%(9): NewSubDir() :end_if if clic%=SM%(4) ::end_if if clic%=SM%(5) ::end_if if clic%=Comb1% : define_ID() :end_if if clic%=List1% : define_File() :end_if
if clic%=B_FicImport%: Select_Import_file():end_if if clic%=Comb2% : define_Sdos_imp() :end_if if clic%=BImport% : ImportFile() :end_if if clic%=BQuit% : Close_imp() :end_if if clic%=Comb3% : define_Sdos_move() :end_if if clic%=BMove% : MoveFile(File$) :end_if return
' Menu des changes Change: change%=number_change if change%=Sbar1% if Position(Sbar1%)>0 file_load Pict1%,Path$+""+Right$("0"+str$(position(sbar1%)),2)+".jpg" stretch_on Pict1% define_ID() else 2d_target_is Pict1% cls color Pict1%,0,0,0 end_if end_if if change%=Sbar2% if Position(Sbar2%)>0 file_load Pict2%,Path$+""+Right$("0"+str$(position(sbar2%)),2)+".jpg" stretch_on Pict2% dos_imp$="0"+str$(position(Sbar2%)) else 2d_target_is Pict2% cls color Pict2%,0,0,0 dos_imp$="00" end_if end_if if change%=Sbar3% if Position(Sbar3%)>0 file_load Pict3%,Path$+""+Right$("0"+str$(position(sbar3%)),2)+".jpg" stretch_on Pict3% dos_move$="0"+str$(position(Sbar3%)) else 2d_target_is Pict3% cls color Pict3%,0,0,0 dos_move$="00" end_if end_if if change%=NName% color NName%,255,255,255 font_color NName%,0,0,0 end_if return
' Initialisations ' détermination du nombre de dossiers ' Importation des sous dossiers Sub Init() dim_local d$,p$ d$=Path$+"" dir_change d$ p$=file_find_first$ if len(p$)>3 : if upper$(right$(p$,4))=".JPG" : Nb_dos%=Nb_dos%+1 : end_if : end_if p$=file_find_next$ if len(p$)>3 : if upper$(right$(p$,4))=".JPG" : Nb_dos%=Nb_dos%+1 : end_if : end_if while p$<>"_" if len(p$)>3 : if upper$(right$(p$,4))=".JPG" : Nb_dos%=Nb_dos%+1 : end_if : end_if p$=file_find_next$ end_while file_find_close Min Sbar1%,0 : Max Sbar1%,Nb_dos% : Position Sbar1%,0 if file_exists(Ss_dos$)=1 : file_load Comb1%,Ss_dos$ : Nb_Sdos%=count(Comb1%): end_if End_sub
' définition de l' identifiant Sub define_ID() dim_local dos$,Sdos$ dos$ = Right$("0"+str$(position(sbar1%)),2) if item_index(comb1%)>0 : Sdos$= Left$(text$(Comb1%),2):end_if ID$ = dos$+"_"+Sdos$+"_" if Position(Sbar1%)<>0 if item_index(Comb1%)<>0 Affich_file(ID$) end_if end_if End_sub
' Affichage des fichiers identifiés dans la liste Sub Affich_file(i$) dim_local d$,f$ d$=Path$+"" inactive List1% Clear List1% dir_change d$ f$=file_find_first$ f$=file_find_next$ if len(f$)>6 :if left$(f$,6)=i$ : item_add List1%, mid$(file_extract_name$(f$),7,len(file_extract_name$(f$))-10): end_if : end_if while f$<>"_" if len(f$)>6 :if left$(f$,6)=i$ : item_add List1%, mid$(file_extract_name$(f$),7,len(file_extract_name$(f$))-10): end_if : end_if f$=file_find_next$ end_while file_find_close if count(List1%)>0 : active List1% :end_if End_sub
' definition du fichier à visionner Sub define_File() File$=Path$+""+ID$+item_index$(List1%)+".pdf" Create_html(File$) End_sub
' Affichage du fichier Sub Create_html(f$) Dim_local html$ html$=Path$+"\temp.html" no%=no%+1 file_open_write no%,Html$ file_writeln no%,"<!DOCTYPE HTML PUBLIC "+chr$(34)+"-//W3C//DTD HTML 4.01 Transitional/FR"+chr$(34)+">" file_writeln no%,"<html>" file_writeln no%,string$(9," ")+"<head>" file_writeln no%,string$(9," ")+"</head>" file_writeln no%,string$(9," ")+"<body>" file_writeln no%,string$(12," ")+"<div id="+chr$(34)+"doc"+chr$(34)+">" file_writeln no%,string$(12," ")+"<OBJECT data="+chr$(34)+f$+chr$(34)+" width=840 height=590 type=application/pdf></OBJECT>" file_writeln no%,string$(12," ")+"</div>" file_writeln no%,string$(9," ")+"</body>" file_writeln no%,"</html>" file_close no% no%=no%-1 res% = dll_call1("WBUrl",adr(html$)) End_sub
' Creation d' une page blanche Sub Create_blank_html() Dim_local html$ html$=Path$+"\temp.html" no%=no%+1 file_open_write no%,Html$ file_writeln no%,"<!DOCTYPE HTML PUBLIC "+chr$(34)+"-//W3C//DTD HTML 4.01 Transitional/FR"+chr$(34)+">" file_writeln no%,"<html>" file_writeln no%,string$(9," ")+"<head>" file_writeln no%,string$(9," ")+"</head>" file_writeln no%,string$(9," ")+"<body>" file_writeln no%,string$(12," ")+"<div id="+chr$(34)+"doc"+chr$(34)+">" file_writeln no%,string$(12," ")+"</div>" file_writeln no%,string$(9," ")+"</body>" file_writeln no%,"</html>" file_close no% no%=no%-1 res% = dll_call1("WBUrl",adr(html$)) End_sub
' Fenetre d importation de fichiers dans le dossier Sub FenImport() if fen2%>0 Show fen2% else no%=no%+1 : fen2%=no% form no% :caption no%,"Import" :height no%,250 : width no%,450 :top no%,(screen_y-height(no%))/2 : left no%,(screen_x-width(no%))/2 font_name no%,"arial" command_target_is no% no%=no%+1 : Alpha no% : top no%,10 : left no%,10 : Caption no%,"Adresse du fichier :" no%=no%+1 : E_FicImport%=no% :Edit no% : top no%,25 : left no%,10 : width no%,width(fen2%)-70 no%=no%+1 : B_FicImport%=no% :Button no% : top no%,25 : left no%,width(fen2%)-55 : height no%,21 : width no%,35 : caption no%,".../..." : cursor_point no% : on_click no%,clic no%=no%+1 : Pict2%=no% :Picture no% : top no%,60 : left no%,10 : height no%,100 :width no%,75 : color no%,0,0,0 no%=no%+1 : Sbar2%=no% :Scroll_Bar no%: Top no%,165: Left no%,10 : Width no%,75 : On_Change no%,Change : cursor_point no% Min Sbar2%,0 : Max Sbar2%,Nb_dos% : Position Sbar2%,0 no%=no%+1 : Alpha no% : top no%,60 : left no%,95 : Caption no%,"Catégorie :" no%=no%+1 : Comb2%=no% : Combo no% : Top no%, 75: Left no%,95 : width no%,280 : on_click no%,clic : cursor_point no% no%=no%+1 : Alpha no% : top no%,105 : left no%,95 : Caption no%,"Nouveau nom :" no%=no%+1 : NName%=no% : Edit no% : Top no%, 120: Left no%,95 : width no%,280 : on_change no%,Change no%=no%+1 : BImport%=no% : Button no% : top no%,height(fen2%)-68 : left no%,width(fen2%)-185 : caption no%,"Importer" : cursor_point no%:on_click no%,clic no%=no%+1 : BQuit%=no% : Button no% : top no%,height(fen2%)-68 : left no%,width(fen2%)-100 : caption no%,"Quitter" : cursor_point no%:on_click no%,clic end_if Clear Comb2% if file_exists(Ss_dos$)=1 : file_load comb2%,Ss_dos$ : end_if End_sub
' Selection du fichier à importer Sub Select_Import_file() dim_local a$ no%=no%+1 open_dialog no% dir_dialog no%,":" filter no%,"Fichiers pdf|*.pdf" a$=file_name$(no%) delete no% no%=no%-1 if a$<>"_" text E_FicImport%,a$ a$= file_extract_name$(a$) text NName%,mid$(a$,1,len(a$)-4) end_if End_sub
' définition du sous dossier d' importation Sub define_Sdos_imp() if item_index(Comb2%)>0 Sdos_imp$=left$(text$(Comb2%),2) else Sdos_imp$="00" end_if End_sub
' importation du fichier Sub ImportFile() Dim_local t$,b$ inactive BImport% if dos_imp$="" :dos_imp$="00" :end_if if Sdos_imp$="":Sdos_imp$="00":end_if t$=Path$+""+dos_imp$+"_"+Sdos_imp$+"_"+Text$(NName%) if right$(t$,4)<>".pdf" : t$=t$+".pdf" : end_if b$=text$(E_FicImport%) if dos_imp$<>"00" and Sdos_imp$<>"00" if file_exists(t$)=0 file_copy b$,t$ text E_FicImport%,"" text NName%,"" else if message_warning_yes_no("Un fichier du même nom est présent dans le dossier,"+chr$(13)+"Voulez vous le remplacer ?...")=1 file_delete t$ file_copy b$,t$ text E_FicImport%,"" text NName%,"" else color NNAme%,200,0,0 font_color NName%,255,255,255 end_if end_if else if dos_imp$="00" if message_warning_ok("Vous devez sélectionner un dossier")=1: end_if else if Sdos_imp$="00" if message_warning_ok("Vous devez sélectionner un sous dossier")=1: end_if end_if end_if end_if active BImport% if ID$=dos_imp$+"_"+Sdos_imp$+"_" : Affich_file(ID$):end_if End_sub
' fermeture de la fenetre d' importation Sub Close_imp() text E_FicImport%,"" text NName%,"" Position Sbar2%,0 hide fen2% End_sub
' exportation d' un fichier Sub ExportFile(exp_file$) dim_local export_name$ if exp_file$<>"" no%=no%+1 save_dialog no% dir_dialog no%,":" filter no%,"Fichier pdf|*.pdf" export_name$=file_name$(no%) delete no% no%=no%-1 if export_name$<>"_" if upper$(right$(export_name$,4))<>".PDF" export_name$=export_name$+".pdf" end_if file_copy exp_file$,export_name$ end_if else Messages(1) end_if End_sub
' renommer un fichier Sub RenameFile(Ren_file$) dim_local t$,pref$,suf$,newN$ if Ren_file$<>"" t$=file_extract_name$(Ren_file$) pref$=left$(t$,6) suf$=right$(t$,4) t$=mid$(t$,7,len(t$)-10) if message_input("Rename File","Nouveau nom : ",t$)=1 NewN$=Path$+""+pref$+message_text$+suf$ if file_exists(NewN$)=0 Create_blank_html() file_rename Ren_file$,NewN$ Affich_file(ID$) File$="" else Messages(2) end_if end_if else Messages(1) end_if End_sub
' Déplacer un fichier vers un autre dossier ou sous dossier ' fenetre de déplacement Sub Move_windows(Move_file$) dim_local t$ if Move_file$<>"" if fen3%>0 show fen3% else no%=no%+1 : fen3%=no% form no% :caption no%,"Move file" :height no%,250 : width no%,450 :top no%,(screen_y-height(no%))/2 : left no%,(screen_x-width(no%))/2 font_name no%,"arial" command_target_is no% no%=no%+1 : Alpha no% : top no%,10 : left no%,10 : Caption no%,"Nom du fichier :" no%=no%+1 : E_FicMove%=no% :Edit no% : top no%,25 : left no%,10 : width no%,width(fen3%)-70 no%=no%+1 : Pict3%=no% :Picture no% : top no%,60 : left no%,10 : height no%,100 :width no%,75 : color no%,0,0,0 no%=no%+1 : Sbar3%=no% :Scroll_Bar no%: Top no%,165: Left no%,10 : Width no%,75 : On_Change no%,Change : cursor_point no% Min Sbar3%,0 : Max Sbar3%,Nb_dos% : Position Sbar3%,0 no%=no%+1 : Comb3%=no% : Combo no% : Top no%, 75: Left no%,95 : width no%,280 : on_click no%,clic : cursor_point no% no%=no%+1 : BMove%=no% : Button no% : top no%,height(fen3%)-68 : left no%,width(fen3%)-100 : caption no%,"Déplacer" : cursor_point no%:on_click no%,clic end_if clear comb3% if file_exists(Ss_dos$)=1 : file_load comb3%,Ss_dos$ : end_if t$=file_extract_name$(Move_file$) t$=mid$(t$,7,len(t$)-10) text E_FicMove%,t$ text comb3%,item_read$(comb3%,val(mid$(ID$,4,2))) position Sbar3%,val(mid$(ID$,1,2)) dos_move$=mid$(ID$,1,2) Sdos_move$=mid$(ID$,4,2) else Messages(1) End_if End_sub
' définition du sous dossier de destination Sub define_Sdos_move() if item_index(Comb2%)>0 Sdos_move$=left$(text$(Comb3%),2) else Sdos_move$="00" end_if End_sub
' Déplacement du fichier Sub MoveFile(Ex_file$) dim_local file_move$ inactive BMove% if dos_move$<>"00" and Sdos_move$<>"00" file_move$=Path$+""+dos_move$+"_"+Sdos_move$+"_"+text$(E_FicMove%)+".pdf" Create_blank_html() file_rename ex_file$,file_move$ Affich_file(ID$) file$="" else if dos_move$="00" Messages(3) else if Sdos_move$="00" Messages(4) end_if end_if end_if active BMove% End_sub
' Suppression d un fichier Sub DeleteFile(del_file$) If del_file$<>"" If Message_warning_yes_no("Êtes vous sûr de vouloir supprimer :"+chr$(13)+del_file$)=1 Create_blank_html() File_delete del_file$ Affich_file(ID$) File$="" end_if else messages(1) End_if End_sub
' Ajout d' un dossier Sub NewDir() dim_local img$,N_img$ no%=no%+1 Open_dialog no% dir_dialog no%,":" Filter no%,"Fichier image|*.jpg" img$=file_name$(no%) delete no% no%=no%-1 if img$<>"_" Nb_dos%=Nb_dos%+1 N_img$=Path$+""+right$("0"+str$(Nb_dos%),2)+".jpg" file_copy img$,N_img$ Min Sbar1%,0 : Max Sbar1%,Nb_dos% : Position Sbar1%,0 end_if End_sub
' Ajout d' un sous dossier Sub NewSubDir() dim_local Scat$ if message_input("Nouveau Ss dossier","Nom : ","")=1 Nb_Sdos%=Nb_Sdos%+1 Scat$=right$("0"+str$(Nb_Sdos%),2)+" - "+message_text$ no%=no%+1 if file_exists(Ss_dos$)=1 file_open_append no%,Ss_dos$ file_writeln no%,Scat$ file_close no% else file_open_write no%,Ss_dos$ file_writeln no%,Scat$ file_close no% end_if no%=no%-1 item_add Comb1%,Scat$ end_if End_sub
Sub APP() End_sub
Sub Messages(n%) dim_local mess$ select n% case 1 : mess$="Vous devez sélectionner un fichier !..." case 2 : mess$="Ce nom est déjà utilisé !..." case 3 : mess$="Voux devez choisir un dossier de destination !..." case 4 : mess$="Vous devez choisir un Sous dossier de destination !..." end_select message mess$ End_sub Oups, on a besoin de KGF.dll....
Dernière édition par ygeronimi le Lun 27 Oct 2014 - 13:29, édité 2 fois | |
|