Accueil > > > MCOPY (UTILITAIRE DE COPIES)
MCOPY (UTILITAIRE DE COPIES)
Information sur la source
Description
Utilitaire de copie se basant sur l'api Windows pour effectuer plusieurs copies à la fois "diffèrentes sources et différentes destinations." Pensez à inclure la dll WinXPC Engine.ocx dans le répertoire system32 sous le dossier Windows pour rendre les controles similaires à ceux utilisés par windows. Beaucoups de sources m'ont servi pour élaborer ce petit programme merci à tous leurs auteurs.
Source
- Dim cd As New Collection, cs As New Collection
- Private Sub Command1_Click()
- Form2.Show vbModal
- End Sub
-
-
- Private Sub Command2_Click()
- Command1.Enabled = False
- get_targets 'charger les ch. destinations dans ds
- copy 'charger les ch. sources dans cs
- delete_files 'effacer les fichiers paths et targets
-
- End Sub
-
- Private Sub get_targets()
- Dim id As Integer, i As Long
- Dim ch As String
-
- id = FreeFile
- Open App.Path & "\todo\targets.txt" For Input As #id
-
- 'charger la liste des dossiers de destination
- While Not EOF(id)
- Line Input #id, ch
- If ch <> "" Then
- ch = ch & "\"
- i = i + 1
- cd.Add ch, CStr(i)
- End If
- Wend
-
- Close #id
-
- ProgressBar1.Max = CSng(cd.Count)
- End Sub
-
- Private Sub copy()
- Dim id As Integer, i As Long, j As Long
- Dim ch As String
- Dim fso As New FileSystemObject
-
- On Error Resume Next
- id = FreeFile
-
- Open App.Path & "\todo\paths.txt" For Input As #id
-
- For Each d In cd
- If EOF(id) = True Then Exit For
-
- Label2.Caption = d
- Label2.Refresh
-
- 'remplissage de cs
- ch = "initiale"
- j = 0
- While ch <> ""
- Line Input #id, ch
- If ch <> "" Then
- j = j + 1
- cs.Add ch, CStr(j) 'key utilisé pour vider cs : le seul moyen qui ne provoque pas d'erreur
- End If
- Wend
-
- 'copier des ch. sources dans cs
- j = 0
- ProgressBar2.Max = CSng(cs.Count)
- For Each s In cs
- Label1.Caption = s
- Label1.Refresh
-
- If fso.FileExists(s) = True Then fso.CopyFile s, d
- If fso.FolderExists(s) = True Then fso.CopyFolder s, d
- j = j + 1
- DoEvents
- ProgressBar2.Value = CSng(j)
- ProgressBar2.Refresh
- Next
-
- 'vider cs
- For j = 1 To cs.Count
- cs.Remove CStr(j)
- Next
-
- i = i + 1
- DoEvents
- ProgressBar1.Value = CSng(i)
- ProgressBar1.Refresh
- Next
-
- Close #id
-
- 'vider la collection des ch. destination
- For i = 1 To cd.Count
- cd.Remove CStr(i)
- Next
-
- Command2.Enabled = False
- Command1.Enabled = True
- End Sub
-
-
- Private Sub delete_files()
- Kill App.Path & "\todo\paths.txt"
- Kill App.Path & "\todo\targets.txt"
- End Sub
-
- Private Sub Command3_Click()
- MsgBox "MultiCopy pour Xp" & vbCrLf & "Version : 1.3" & vbCrLf & "Programmation: cdc1604" & vbCrLf & "e-mail : mbenthebet@gmail.com", vbInformation, "A propos"
- End Sub
-
-
-
- Private Sub Form_Load()
- Dim ch As String
-
- 'Si l'un au moins des fichiers existe le supprimer
-
- ch = App.Path & "\todo\paths.txt"
- If Dir(ch) = "paths.txt" Then
- Kill ch
- End If
-
- ch = App.Path & "\todo\targets.txt"
- If Dir(ch) = "targets.txt" Then
- Kill ch
- End If
-
- WindowsXPC1.InitSubClassing
- End Sub
-
Dim cd As New Collection, cs As New Collection
Private Sub Command1_Click()
Form2.Show vbModal
End Sub
Private Sub Command2_Click()
Command1.Enabled = False
get_targets 'charger les ch. destinations dans ds
copy 'charger les ch. sources dans cs
delete_files 'effacer les fichiers paths et targets
End Sub
Private Sub get_targets()
Dim id As Integer, i As Long
Dim ch As String
id = FreeFile
Open App.Path & "\todo\targets.txt" For Input As #id
'charger la liste des dossiers de destination
While Not EOF(id)
Line Input #id, ch
If ch <> "" Then
ch = ch & "\"
i = i + 1
cd.Add ch, CStr(i)
End If
Wend
Close #id
ProgressBar1.Max = CSng(cd.Count)
End Sub
Private Sub copy()
Dim id As Integer, i As Long, j As Long
Dim ch As String
Dim fso As New FileSystemObject
On Error Resume Next
id = FreeFile
Open App.Path & "\todo\paths.txt" For Input As #id
For Each d In cd
If EOF(id) = True Then Exit For
Label2.Caption = d
Label2.Refresh
'remplissage de cs
ch = "initiale"
j = 0
While ch <> ""
Line Input #id, ch
If ch <> "" Then
j = j + 1
cs.Add ch, CStr(j) 'key utilisé pour vider cs : le seul moyen qui ne provoque pas d'erreur
End If
Wend
'copier des ch. sources dans cs
j = 0
ProgressBar2.Max = CSng(cs.Count)
For Each s In cs
Label1.Caption = s
Label1.Refresh
If fso.FileExists(s) = True Then fso.CopyFile s, d
If fso.FolderExists(s) = True Then fso.CopyFolder s, d
j = j + 1
DoEvents
ProgressBar2.Value = CSng(j)
ProgressBar2.Refresh
Next
'vider cs
For j = 1 To cs.Count
cs.Remove CStr(j)
Next
i = i + 1
DoEvents
ProgressBar1.Value = CSng(i)
ProgressBar1.Refresh
Next
Close #id
'vider la collection des ch. destination
For i = 1 To cd.Count
cd.Remove CStr(i)
Next
Command2.Enabled = False
Command1.Enabled = True
End Sub
Private Sub delete_files()
Kill App.Path & "\todo\paths.txt"
Kill App.Path & "\todo\targets.txt"
End Sub
Private Sub Command3_Click()
MsgBox "MultiCopy pour Xp" & vbCrLf & "Version : 1.3" & vbCrLf & "Programmation: cdc1604" & vbCrLf & "e-mail : mbenthebet@gmail.com", vbInformation, "A propos"
End Sub
Private Sub Form_Load()
Dim ch As String
'Si l'un au moins des fichiers existe le supprimer
ch = App.Path & "\todo\paths.txt"
If Dir(ch) = "paths.txt" Then
Kill ch
End If
ch = App.Path & "\todo\targets.txt"
If Dir(ch) = "targets.txt" Then
Kill ch
End If
WindowsXPC1.InitSubClassing
End Sub
Conclusion
L'outil est dans sa première version... Si vous l'essayez veuillez reporter les bugs rencontrés. Toutes vos remarques sont les bienvenues.
Historique
- 11 février 2009 17:27:08 :
- Remerciments
- 21 février 2009 12:21:31 :
- Cette mise à jour incorpore l'utilisation de la fonction api CopyFileEx de la dll kernel32.dll.
Je tiens à remercier nathan pour ces encouragements et Bouv
pour les informations pertinentes qu'il m'a fournis.
L'application est certes plus rapide que la précédente.
- 21 février 2009 12:25:34 :
- aperçu
- 21 février 2009 12:26:05 :
- a
- 21 février 2009 12:28:36 :
- ajout de capture
- 21 février 2009 12:29:17 :
- ajout de capture
- 21 février 2009 15:09:51 :
- l'affichage est désormais modal de la boite de dialogue destination
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
GetEnvironmentVariable [ par Boldor ]
Bonjour,Je voudrai recuperer la valeur des variables d'environnement a partir d'un programme VB.Comment utiliser la fonction GetEnvironmentVariable ?Y
les API windows [ par Mskine ]
Où je peux trouver des informations,definitions, conseils, des fonctions APIMerci d'avance
API [ par CyrilB ]
Je voudrais pouvoir fermer une fenêtre MS-DOS même si celle-ci est en cours d'execution.Il y a une fonction API qui fait ça mais je ne sais plus laque
Proprietes des fichiers ss NT 4.00 \ Utilisation des fonctions API [ par Xavier ]
En fouillant dans l'aide des API, j'ai trouve quelques fonctions pouvant resoudre mon probleme.Qui peut me dire comment faire appel aux fonctions :Get
API pour icônes [ par Xaviou ]
Salut,Je suis à la recherche d'une API pour afficher la boite de dialogue de changement d'icône (boite que l'on peut obtenir, lorsque l'on regarde les
API SHGetFileInfo [ par Xaviou ]
Salut,quelqu'un saurait-il comment utiliser l'API SHGetFileInfo ? Pour ma part, c'est le bide complet.J'attends vos réponses avec impatience.@+Xaviou
Menu avec icone [ par Xaviou ]
Salutje recherche l'API pour intégrer des incones dans mes menus. J'ai trouvé une API (ModifyMenu) qui permet de remplacer le caption d'un menu par un
Fonctions API [ par Yvan ]
Une petite question : les fonctions API fonctionnent-elles de la même façonsur Win 95, Win 98 et Win NT ?Si je prends comme exemple la fonction GetVo
Lecteurs disponibles [ par Yvan ]
Salut,Je cherche le moyen de connaître les lettres des lecteurs qui se trouvent sur un ordinateur. Ce qui doit se faire avec les API selon moi. Et s
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|