home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 22 / CD_ASCQ_22_0695.iso / win / fr / ectbarre / copyfile.ect < prev    next >
Text File  |  1995-03-21  |  2KB  |  91 lines

  1. REM COPYFILE (C) 1995 ESCOT-SEP Christophe
  2. REM Initialisation ... 
  3. REM Creation d'un fichier temporaire contenant les noms des fichiers a copier
  4. $A=GETDIR( )
  5. $A=CAT($A,$\COPY.TMP)
  6. !C=CREAT($A)
  7. REM HandleFile == Handle sur le fichier contenant la liste des fichiers a copier
  8. DEFINE($HandleFile,!C)
  9. REM !B = Nbr de fichiers a copier
  10. !B=!0
  11. REM Repertoire ou seront copies les fichiers, par defaut A:
  12. $Z=$A:
  13. REM Selection des fichiers a copier 
  14. :SELECT
  15. $B=OPENFILEDLG($Selectionnez les fichiers a copier,$All Files|*.*|,TRUE)
  16. IF[LEN($B)]!=!0
  17. GOTO($:TRAITE_SELECTION)
  18. REM Selection avortee
  19. MESSAGE($Information,$Selection annulee,INFORMATION)
  20. GOTO($:NOUVEAUX)
  21. :TRAITE_SELECTION
  22. !G=FINDRCHR($B,!$ )
  23. IF[!G]!=!-1
  24. GOTO($:PLUSIEUR)
  25. REM un seul fichier
  26. WRITE(HandleFile,$B)
  27. !B+=!1
  28. GOTO($:AUTRE)
  29. :PLUSIEUR
  30. REM plusieurs fichiers, reconstruire le nom complet pour chacun
  31. REM $E = Repertoire, $F = Fichier
  32. $E=TOKEN($B,$ )
  33. :NEXT_FILE
  34. $F = TOKEN($B,$ )
  35. IF[LEN($B)]==!0
  36. GOTO($:ECRIT)
  37. $G=CAT($E,$\)
  38. $G=CAT($G,$F)
  39. WRITE(HandleFile,$G)
  40. !B+=!1
  41. GOTO($:NEXT_FILE)
  42. :ECRIT
  43. $G=CAT($E,$\)
  44. $G=CAT($G,$F)
  45. WRITE(HandleFile,$G)
  46. FREE($G)
  47. FREE($E)
  48. FREE($F)
  49. :AUTRE
  50. IF[OUINON($Copie de Fichiers,$Voulez-Vous selectionner d'autres fichiers,QUESTION)]==IDOK
  51. GOTO($:SELECT)
  52. REM !B=Nbr de fichiers a copier, HandleFile=fichier temporaire
  53. REM Debut de la boucle de sauvegarde
  54. :DEBUT
  55. SSEEK(HandleFile,!0)
  56. !A=!0
  57. :SUIVANT
  58. REM $B = Nom complet du fichier a copier
  59. $B = READ(HandleFile)
  60. REM Trouver le nom canonique ( sans le repertoire )
  61. !L=LEN($B)
  62. !J=FINDRCHR($B,!$\)
  63. IF[!J]==!-1
  64. GOTO($:COPY_FILE)
  65. !L-=!J
  66. !L-=!1
  67. $D=RIGHT($B,!L)
  68. :COPY_FILE
  69. REM $D==Nom du fichier , $E = Nom complet du fichier en sortie
  70. $E=CAT($Z,$\)
  71. $E=CAT($E,$D)
  72. COPY($B,$E,!0)
  73. REM rend la main a windows pendant 5 secondes , la macro fonctionne en arriere-plan
  74. PAUSE(!50)
  75. !A+=!1
  76. IF[!A]>!B
  77. GOTO($:FIN)
  78. GOTO($:SUIVANT)
  79. :FIN
  80. REM tous les fichiers ont etes copies
  81. IF[OUINON($Copie,$Voulez-vous copiez a nouveau ces fichier,QUESTION)]==IDOK
  82. GOTO($:DEBUT)
  83. :NOUVEAUX
  84. IF[OUINON($Copie,$Voulez_vous selectionner de nouveaux fichiers,QUESTION)]==IDOK
  85. GOTO($:SELECT)
  86. CLOSE(HandleFile)
  87. REM Effacer le fichier contenant la liste des fichiers
  88. :EFFACER
  89. DEL($A)
  90. END()
  91.