Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Comment copier le contenu d'un dossier vers un autre ? | |
| | Auteur | Message |
---|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 12:49 | |
| Bonjour à tous, Comment copier le contenu d'un dossier et le coller dans un un autre dossier ? Après plusieurs essai je n'arrive à rien. Voici l'essai que j'ai fait. Qu'est-ce qui cloche ? De plus je ne saisie pas bien la différence entre FILE_COPY et FILE_MOVE Si une (ou plusieurs) bonne volonté veut se pencher sur le problème......Merci d'avance - Code:
-
full_space 0:border_small 0 dim n%,rep$ rep$=dir_current$ if dir_exists(rep$+"\dossier_test_Save")=0 then dir_make rep$+"\dossier_test_Save"
if dir_exists(rep$+"\dossier_test")=0 then dir_make rep$+"\dossier_test" dir_change rep$+"\dossier_test"
file_open_write 1,"test.txt" for n%=1 to 10 file_writeln 1,"ligne: "+str$(n%) next n% file_close 1
Copie_Fichier(rep$+"\dossier_test",rep$+"\dossier_test_Save")
END ' ------------------------------------------------------------------------------ Sub Copie_Fichier(dossier_origine$,dossier_destination$) caption 0,dossier_origine$+"|"+dossier_destination$ dim_local fichier1$,fichier2$ fichier1$=file_find_first$ if fichier1$="_" file_find_close:Exit_Sub else while fichier1$<>"_" dir_change dossier_origine$ fichier1$=file_find_next$ fichier2$="S_"+fichier1$ dir_change dossier_destination$ ' file_copy fichier1$,fichier2$ file_move fichier1$,fichier2$ end_while file_find_close end_if End_Sub
A+ | |
| | | Mumu
Nombre de messages : 176 Localisation : 45 Date d'inscription : 20/12/2012
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 13:46 | |
| Rapidement entre deux occupations "importantes" , le file_move doit effectuer un déplacement alors que file_copy effectue une copie. Dans le premier cas le fichier reste unique (quoique pas au même endroit), alors que dans le 2ème cas, on a 2 occurences du même fichier. Voilà j'espère avoir répondu à une partie de ta question, et surtout ne pas m'être planté lamentablement (un sport que je pratique couramment... ) | |
| | | maelilou
Nombre de messages : 180 Age : 76 Localisation : Ardennes françaises Date d'inscription : 02/05/2012
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 14:06 | |
| Pour le File_copy ça copie un fichier dans un autre endroit en conservant la source intacte.
File_move pas encore essayé. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 14:06 | |
| Merci Mumu pour ta réponse,
Dans les 2 cas FILE_COPY et FILE_MOVE il faut (si j'ai bien compris la doc) obligatoirement avoir 2 noms de fichiers différents et c'est là que je ne comprend pas car avec FILE_COPY dans mon code mon code plante.
Attendons de voir si d'autres informations tombent.
Merci et A+
Dernière édition par Jean Claude le Sam 9 Mar 2013 - 14:09, édité 1 fois | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 14:08 | |
| @maelilou
Si que tu dis est bon (je ne le met pas en doute) c'est quoi l'autre endroit ?
A+ | |
| | | maelilou
Nombre de messages : 180 Age : 76 Localisation : Ardennes françaises Date d'inscription : 02/05/2012
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 14:24 | |
| [img] [/img] Si ça a marché tu dois voir le fichier d'origine copié vers l'autre endroit. C'est utilisé dans mon programme de genealogie. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 14:28 | |
| @Jean-Claude: Sans même essayer ton programme, une chose est certaine: tu ne peux en aucun cas faire un DIR_CHANGE entre FILE_FIND_FIRST$ et FILE_FIND_CLOSE. FILE_FIND_FIRST$ s'applique sur le répertoire par défaut en vigueur, et tout changement de répertoire par défaut perturbe certainement la cohérence avec FILE_FIND_NEXT$ et FILE_FIND_CLOSE. Il faut que tu positionnes DIR_CHANGE avant d'effectuer FILE_FIND_FIRST$, et que tu restes avec ce répertoire par défaut jusqu'à l'exécution de FILE_FIND_CLOSE. Entre les deux, si tu veux accéder un autre dossier, il faut spécifier son nom, soit sous forme d'un chemin absolu, soit sous forme d'un chemin relatif, comme ceci: dossier_destination$ = "..\xxxxx" ce qui revient un niveau plus haut puis prend le dossier xxxxx. En plus, tu rates de premier fichier (et l'unique, dans ton cas) du dossier d'entrée, car dans ta procédure, tu fais bien FILE_FIND_FIRST$ et tu sors si le dossier est vide, mais dans ta boucle, tu refais immédiatement in FILD_FIND_NEXT£ sans avoir traité le premier fichier ! Place le FILE_FIND_NEXT$ à la fin de ta boucle, et ça ira mieux: - Code:
-
Sub Copie_Fichier(dossier_origine$,dossier_destination$) caption 0,dossier_origine$+"|"+dossier_destination$ dim_local fichier1$,fichier2$ fichier1$=file_find_first$ if fichier1$="_" file_find_close:Exit_Sub else dir_change dossier_origine$ while fichier1$<>"_" fichier2$=dossier_destination$+"\S_"+fichier1$ file_copy fichier1$,fichier2$ ' file_move fichier1$,fichier2$ fichier1$=file_find_next$ end_while file_find_close end_if End_Sub | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 14:29 | |
| Salut Jean Claude, à première vue ça paraît pourtant simple: - Code:
-
FILE_COPY "C:\TEXTES\Monfich.txt","C:\SAUVE\Monfich.txt" recopie le fichier Monfich.txt depuis le répertoire C:\TEXTES dans le répertoire C:\SAUVE, le fichier résultat (dans SAUVE) peut avoir le même nom: Monfich.txt, ou un nom différent: Toto.txt, c'est toi qui décides - Code:
-
FILE_MOVE "C:\TEXTES\Monfich.txt","C:\SAUVE\Monfich.txt" transfère le fichier Monfich.txt du répertoire C:\TEXTES dans le répertoire C:\SAUVE, donc efface le fichier d'origine. Et on doit pouvoir donner un nom différent au fichier d'arrivée, je pense. ... on s'est croisés avec Klaus... Le mieux, pour éviter les erreurs et les ambiguités, c'est de donner le chemin complet des fichiers. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 9 Mar 2013 - 14:31 | |
| Pour File_Copy N le fichier peut garder le même nom.... J'ai fait, en bon flemmard, ce petit code pour créer des projet panoramic en n' ayant pas à recopier toute ma structure à chaque fois. le programme crée un dossier avec le nom du projet et crée à l'interieur un source.bas avec les lignes prédéfinies et copie si voulu KGF.dll, BDR.dll, ect... KGF.dll et les autres sont,chez moi, au préalable placés dans le dossier de Panoramic_Editor.exe . - Code:
-
Application_Title "Panoramic Project"
Constantes() Variables() Labels() Interface() Init()
end
Sub Constantes() ' Constantes référence des dossiers ' Dossier de sortie Dim Rep$ : Rep$="C:\Users\Yannick\Desktop\" ' Emplacement de Panoramic Editor sur le disque dur Dim Pano$: Pano$="c:\PROGRA~2\PANORA~1.24\" ' Adresse d'envoie pour l'execute final Dim PanEdit$ : PanEdit$="C:\PROGRA~2\PANORA~1.24\PANORA~2.EXE" ' -------------------------------------------------------------------- Dim Dos$,KGF$,BDR$ Dim KgfSub$,ObjetSub$,BdrSub$ Dos$=Dir_Current$ :KGF$=Dos$+"\KGF.dll" :BDR$=Dos$+"\BDR.dll" KgfSub$=Dos$+"\KGF_SUB.bas" :BdrSub$=Dos$+"\BDR_SUB.bas" :ObjetSub$=Dos$+"\Objet_Lib.bas" End_Sub
Sub Variables() Dim Clic%,P_Name$,Dossier$,Dossier2$,NBas$ Dim KGF%,BDR%,KgfSub%,ObjetSub%,BdrSub% End_Sub
Sub Labels() Label Clic End_Sub
Sub Interface() O_Form(0,0,1,0,0,210,350,"Panoramic Project") font_name 0,"Arial":Font_Color 0,0,0,255 ' ----------------------------------------------- O_Container(10,0,1,0,5,165,325,"",1) O_Alpha(11,10,1,15,10,0,0,"Nom du projet :") O_Edit(12,10,1,35,10,0,250) O_Button(13,10,1,135,245,0,0,"Suivant",1) ' ----------------------------------------------- O_Container(20,0,1,0,5,165,325,"",0) O_Alpha(21,20,1,15,10,0,0,"Importations :") O_Check(22,20,1,45,10,0,0,"KGF.dll") O_Check(23,20,1,65,10,0,0,"BDR.dll") O_Button(24,20,1,135,245,0,0,"Suivant",1) ' ----------------------------------------------- O_Container(30,0,1,0,5,165,325,"",0) O_Alpha(31,30,1,15,10,0,0,"Includes :") O_Check(32,30,1,45,10,0,0,"KGF_SUB.bas") O_Check(33,30,1,65,10,0,0,"BDR_SUB.bas") O_Check(34,30,1,85,10,0,0,"Objet_Lib.bas") O_Button(35,30,1,135,245,0,0,"Créer",1) End_Sub
Sub Init() End_Sub
Clic: Clic%=Number_Click Select Clic% Case 13 : Hide 10 :Show 20 : Attribut_Name(Text$(12)) Case 24 : Hide 20 :Show 30 Case 35 : Creer() End_Select return
Sub Attribut_Name(N$) If N$<>"" P_Name$=N$ Else P_Name$="New_Panoramic_Project" End_If text 12,"" End_Sub
Sub Creer() dim_local a$ Create_Directory(P_Name$) Pause 1000 Create_Bas() imports() a$=PanEdit$+chr$(32)+NBas$ message a$ Execute a$ Quitter() End_Sub
Sub Create_Directory() Dim_local T$,S$,x% Dossier$=P_Name$:T$=Dossier$ for x%=1 to len(T$) S$=Left$(T$,1) if S$=" " then S$="_" if (S$="é")or(S$="è")or(S$="ê")or(S$="ë") S$="e" End_if if (S$="à")or(S$="â")or(S$="ä") S$="a" End_if if (S$="ö")or(S$="ô")or(S$="ê") S$="o" End_if if (S$="ü")or(S$="û")or(S$="ù") S$="u" End_if if x%=1:S$=upper$(S$):end_if Dossier2$=Dossier2$+S$ T$=Right$(T$,len(T$)-1) Next x% Dir_make Rep$+Dossier2$ End_Sub
Sub Create_Bas() Dim_local N%,x%,L$,y% N%=Number_Objects+1 O_Dlist(N%,"") for x%=1 to 39 read L$ Item_Add N%,L$ next x% if Checked(22)=1 :Item_insert N%,13,"Dim KGF$ :KGF$=Dos$+"+chr$(34)+"\KGF.dll"+chr$(34):End_if if Checked(23)=1 :Item_insert N%,13,"Dim BDR$ :BDR$=Dos$+"+chr$(34)+"\BDR.dll"+chr$(34):End_if if Checked(32)=1 :Item_add N%,"#include "+chr$(34)+"KGF_SUB.bas"+chr$(34):End_if if Checked(33)=1 :Item_add N%,"#include "+chr$(34)+"BDR_SUB.bas"+chr$(34):End_if if Checked(34)=1 :Item_add N%,"#include "+chr$(34)+"Objet_Lib.bas"+chr$(34):End_if NBas$=Rep$+Dossier2$+"\"+Dossier2$+".bas" File_Save N%,NBas$ End_Sub
Sub Imports() If Checked(22)=1 :File_copy Pano$+"KGF.dll",Rep$+Dossier2$+"\KGF.dll" :End_if If Checked(23)=1 :File_copy Pano$+"BDR.dll",Rep$+Dossier2$+"\BDR.dll" :End_if If Checked(32)=1 :File_copy Pano$+"KGF_SUB.bas",Rep$+Dossier2$+"\KGF_SUB.bas" :End_if If Checked(33)=1 :File_copy Pano$+"BDR_SUB.bas",Rep$+Dossier2$+"\BDR_SUB.bas" :End_if If Checked(34)=1 :File_copy Pano$+"Objet_Lib.bas",Rep$+Dossier2$+"\Objet_Lib.bas" :End_if End_Sub
Sub Quitter() Terminate End_Sub
' Objet FORM____________________________________________________________________ Sub O_Form(No%,P%,V%,T%,L%,H%,W%,C$) if No%> 0 then FORM No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 : Top No%,T% : Else : Top No%,(Screen_y-H%)/2 : End_If If L% > 0 : Left No%,L%: Else : Left No%,(Screen_x-W%)/2: End_If if C$<>"" then Caption No%,C$ End_Sub ' Objet ALPHA___________________________________________________________________ Sub O_Alpha(No%,P%,V%,T%,L%,H%,W%,C$) ALPHA No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ End_Sub ' Objet EDIT____________________________________________________________________ Sub O_Edit(No%,P%,V%,T%,L%,H%,W%) EDIT No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% End_Sub ' Objet BUTTON__________________________________________________________________ Sub O_Button(No%,P%,V%,T%,L%,H%,W%,C$,Cl%) BUTTON No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ if Cl%> 0 then on_click No%,Clic cursor_point No% End_Sub ' Objet GRID____________________________________________________________________ Sub O_Grid(No%,P%,V%,T%,L%,H%,W%) GRID No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% End_Sub ' Objet CONTAINER_______________________________________________________________ Sub O_Container(No%,P%,V%,T%,L%,H%,W%,C$,A%) CONTAINER No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ if A%=0 then hide No% End_Sub ' Objet SCENE3D_________________________________________________________________ Sub O_Scene3D(No%,P%,V%,T%,L%,H%,W%) SCENE3D No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L%
End_Sub ' Objet MEMO____________________________________________________________________ Sub O_Memo(No%,P%,V%,T%,L%,H%,W%) MEMO No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% End_Sub ' Objet COMBO___________________________________________________________________ Sub O_Combo(No%,P%,V%,T%,L%,H%,W%) COMBO No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% End_Sub ' Objet LIST____________________________________________________________________ Sub O_List(No%,P%,V%,T%,L%,H%,W%,F$) LIST No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if F$<>"" if file_exists F$ then file_load No%,F$ end_if End_Sub ' Objet PICTURE_________________________________________________________________ Sub O_Picture(No%,P%,V%,T%,L%,H%,W%,P$) PICTURE No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if P$<>"" then File_load No%,P$ End_Sub ' Objet CHECK___________________________________________________________________ Sub O_Check(No%,P%,V%,T%,L%,H%,W%,C$) CHECK No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ End_Sub ' Objet OPTION__________________________________________________________________ Sub O_Option(No%,P%,V%,T%,L%,H%,W%,C$) OPTION No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ End_Sub ' Objet MAIN_MENU_______________________________________________________________ Sub O_Main_Menu(No%,P%) MAIN_MENU No% if P% > 0 then Parent No%,P% End_Sub ' Objet SUB_MENU________________________________________________________________ Sub O_Sub_Menu(No%,P%,C$,Cl%) SUB_MENU No% if P% > 0 then Parent No%,P% if C$<>"" then Caption No%,C$ If Cl%=1 then on_click No%,Clic End_Sub ' Objet SOUND___________________________________________________________________ Sub O_Sound(No%,P%,S$) SOUND No% If P%>0 then Parent No%,P% If S$<>"" then file_load No%,S$ End_Sub ' Objet MOVIE___________________________________________________________________ Sub O_Movie(No%,P%,V%,T%,L%,H%,W%,M$) MOVIE No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if M$<>"" then file_load No%,M$ End_Sub ' Objet TRACK_BAR_______________________________________________________________ Sub O_Track_Bar(No%,P%,V%,T%,L%,H%,W%) TRACK_BAR No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% End_Sub ' Objet OPEN_DIALOG_____________________________________________________________ Sub O_Open_Dialog(Out%,Filtre$,O%) dim_local No%,F$ No%=Number_objects+1 OPEN_DIALOG No% if filtre$<>"" then Filter No%,Filtre$ F$=File_name$(No%) if F$<>"_" if O%=1 then text out%,F$ if O%=2 then Caption Out%,F$ if O%=3 then item_add Out%,F$ if O%=4 then file_load Out%,F$ end_if Delete No% End_Sub ' Objet SAVE_DIALOG_____________________________________________________________ ' Sub O_Save_Dialog(Filtre$) ' dim_local No%,F$ ' No%=Number_objects+1 ' SAVE_DIALOG No% ' if filtre$<>"" then Filter No%,Filtre$ ' F$=file_name$(No%) ' End_Sub ' Objet SCROLL_BAR______________________________________________________________ Sub O_Scroll_Bar(No%,P%,V%,T%,L%,H%,W%) SCROLL_BAR No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% End_Sub ' Objet PROGRESS_BAR____________________________________________________________ Sub O_Progress_Bar(No%,P%,V%,T%,L%,H%,W%) PROGRESS_BAR No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% End_Sub ' Objet SPIN____________________________________________________________________ Sub O_Spin(No%,P%,V%,T%,L%,H%,W%) SPIN No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% End_Sub ' Objet DLIST___________________________________________________________________ Sub O_Dlist(No%,F$) DLIST No% if F$<>"" then file_load No%,F$ End_Sub ' Objet SCENE2D_________________________________________________________________ Sub O_Scene2D(No%,P%,V%,T%,L%,H%,W%) SCENE2D No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% End_Sub ' Objet TIMER___________________________________________________________________ Sub O_Timer(No%,OO%,Inter%,OT%,T$) TIMER No% if OO%=1 then timer_on No% if OO%=0 then timer_off No% if inter%>0 then timer_interval No%,inter% if OT%=1 if T$<>"" On_timer No%,T$ end_if end_if End_Sub ' Objet CONTAINER_OPTION________________________________________________________ Sub O_Container_Option(No%,P%,V%,T%,L%,H%,W%,C$) CONTAINER_OPTION No% if P% > 0 then Parent No%,P% If V% = 0 Then hide No% If H% > 0 Then Height No%,H% If W% > 0 Then Width No%,W% If T% > 0 Then Top No%,T% If L% > 0 Then Left No%,L% if C$<>"" then Caption No%,C$ End_Sub ' Objet IMAGE___________________________________________________________________ Sub O_Image(No%,I$) if I$<>"" then file_load No%,I$ End_Sub
data "Application_Title"+chr$(32)+chr$(34)+P_Name$+chr$(34) data "" data "Constantes()" data "Variables()" data "Events()" data "Interface()" data "Init()" data "" data "End" data "" data "Sub Constantes()" data " Dim Dos$ : Dos$=Dir_Current$" data "End_Sub" data "" data "Sub Variables()" data " Dim Clic% , Change%" data "End_Sub" data "" data "Sub Events()" data " Label Clic,Change" data "End_Sub" data "" data "Sub Interface()" data "End_Sub" data "" data "Sub Init()" data "End_Sub" data "" data "Clic:" data " Clic%=Number_Click" data " Select Clic%" data " End_Select" data "Return" data "" data "Change:" data " Change%=Number_Change" data " Select Change%" data " End_Select" data "Return" PS: Le source doit être compilé puisqu'il lance Panoramic_Editor.exe | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 14:37 | |
| Merci à tous pour vos réponses, je les étudient et je vous retiens au courrant.
A+ | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 15:02 | |
| Avant de lire les réponses des autres voici la mienne. Contrairement à ce que dit la documentation, FILE_MOVE f1$,f2$ ne mentionne pas d’erreur si le fichier f2$ existe et il n’y a pas de déplacement de fichier. - Code:
-
full_space 0:border_small 0 dim n%,rep$ rep$=dir_current$ if dir_exists(rep$+"\dossier_test_Save")=0 then dir_make rep$+"\dossier_test_Save"
if dir_exists(rep$+"\dossier_test")=0 then dir_make rep$+"\dossier_test" dir_change rep$+"\dossier_test"
file_open_write 1,"test.txt" for n%=1 to 10 file_writeln 1,"ligne: "+str$(n%) next n% file_close 1
Copie_Fichier(rep$+"\dossier_test\test.txt",rep$+"\dossier_test_Save\test.txt") : ' Papydall
END ' ------------------------------------------------------------------------------ ' Modifiée par Papydall Sub Copie_Fichier(dossier_origine$,dossier_destination$) dim_local f1$,f2$ caption 0,dossier_origine$+"|"+dossier_destination$ f1$ = dossier_origine$ : f2$ = dossier_destination$ if file_exists(f1$) <> 1 then file_copy f1$,f2$ ' message file_exists(f2$) : ' ---> donne 1 , donc f2$ existe file_move f1$,f2$ : ' Bien que f2$ existe, le système n'indique pas d'erreur comme dit l'aide ' il ne déplace pas non plus le fichier. ' Pour vous rendre compte modifiez manuellement le fichier "\dossier_test_Save\test.txt" ' par exemple en supprimant la dernière ligne 10 et reexécuter le programme End_Sub
| |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 15:34 | |
| Oui Papydall J'avais remarqué qu'il n'y a pas d'erreur de signalée. Par contre le fichier est bien déplacé, mais celui d'origine a disparu (Ce qui est normal) Grace à vos réponses à tous, j'ai résolu mon problème (Super ce Forum ) Voici le code - Code:
-
full_space 0:border_small 0 dim n%,rep$ rep$=dir_current$ if dir_exists(rep$+"\dossier_test_Save")=0 then dir_make rep$+"\dossier_test_Save"
if dir_exists(rep$+"\dossier_test")=0 then dir_make rep$+"\dossier_test" dir_change rep$+"\dossier_test"
file_open_write 1,"test.txt" for n%=1 to 10 file_writeln 1,"ligne: "+str$(n%) next n% file_close 1
Copie_Fichier(rep$+"\dossier_test",rep$+"\dossier_test_Save")
END ' ------------------------------------------------------------------------------ Sub Copie_Fichier(dossier_origine$,dossier_destination$) caption 0,dossier_origine$+"|"+dossier_destination$ dim_local fichier1$,fichier2$ fichier1$=file_find_first$ if fichier1$="_" file_find_close:Exit_Sub else dir_change dossier_origine$ while fichier1$<>"_" fichier2$=dossier_destination$+"\"+fichier1$ file_copy fichier1$,fichier2$ ' file_move fichier1$,fichier2$ fichier1$=file_find_next$ end_while file_find_close end_if End_Sub
Je dois vous quitter provisoirement car ce soir c'est poulet au vin jaune et au morilles et c'est moi qui est de corvée. A+ | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 15:49 | |
| Donc poulet au vin jaune pour tous et morilles pour les autres et la corvée pour Jean-Claude. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Sam 9 Mar 2013 - 18:26 | |
| @Papydall Vu l'activité du forum ce soir, je ne suis pas certain d'en avoir assez pour tout le monde Pour revenir au sujet, je vais devoir reprendre mon code car l'exemple que j'ai fourni fonctionne, mais pas dans dans celui que je vous promet depuis longtemps (J'hésite encore....). A+ | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? Dim 10 Mar 2013 - 21:04 | |
| C'est fait j'ai trouvé le bug dans mon code et je vous remercie pour votre aide. Pour clore ce sujet je vous donne ma procédure de copie de fichier d'un dossier vers un autre. A+ - Code:
-
full_space 0:border_small 0 dim n%,rep$ rep$=dir_current$ if dir_exists(rep$+"\dossier_test_Save")=0 then dir_make rep$+"\dossier_test_Save"
if dir_exists(rep$+"\dossier_test")=0 then dir_make rep$+"\dossier_test" dir_change rep$+"\dossier_test"
file_open_write 1,"test.txt" for n%=1 to 10 file_writeln 1,"ligne: "+str$(n%) next n% file_close 1
Copie_Fichier(rep$+"\dossier_test",rep$+"\dossier_test_Save")
END ' ------------------------------------------------------------------------------ ' Procédure pour copier les fichiers d'un dossier dans un autre dossier ' Remarque: le dossier d'origine reste intacte Sub Copie_Fichier(dossier_origine$,dossier_destination$) dim_local fichier1$,fichier2$ fichier1$=file_find_first$ if fichier1$="_" file_find_close:Exit_Sub dir_change dossier_origine$ file_copy fichier1$,fichier2$ else while fichier1$<>"_" fichier2$=dossier_destination$+"\"+fichier1$:' vous pouvez ici renommer les fichiers pour le nouveau dossier file_copy fichier1$,fichier2$ fichier1$=file_find_next$ end_while file_find_close end_if End_Sub ' **********
| |
| | | Contenu sponsorisé
| Sujet: Re: Comment copier le contenu d'un dossier vers un autre ? | |
| |
| | | | Comment copier le contenu d'un dossier vers un autre ? | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |