salut tous j'ai de nouveau un petit problème avec une fontion CopyFolder
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function CopyFolder(FromFld, ToFld: string): boolean; 
var fos: TSHFileopStruct; 
begin 
// il faut supprimer les antislashs de fin sinon vous aurez droit à un message d'erreur 
  FromFld := ExcludeTrailingPathDelimiter(Trim(FromFld)); 
  ToFld := ExcludeTrailingPathDelimiter(Trim(ToFld)); 
 
  FillChar(fos, SizeOf(fos),0); 
  with fos do 
  begin 
    wFunc := FO_COPY; 
    pFrom := PChar(FromFld+#0); 
    pTo   := PChar(ToFld+#0); 
    fFlags := FOF_SILENT or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR; 
  end; 
  Result := ShFileOperation(fos)=0; 
end;
ici pas de problèmes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
if CopyFolder('d:\Repertoire01', 'c:\Repertoire02')then 
     ShowMessage('Copie effectuée avec succès') else 
     ShowMessage('Copie non effectuée');
ici est mon probléme les deux dossiers que je veux copier et coller sont dans le même répertoire
donc pour moi je crois que je ne suis pas obliger de mettre toute l'adresse mais seulement
if CopyFolder('Repertoire01', 'Repertoire02')
la copie du dossier est ok mais la copie des fichiers dans le Repertoire02 ne se passe pas bien
ex:fichier dans le Repertoire01 (assos_membre.DB) dans Repertoire02 il deviend (assos_me.DB)la je ne comprend pas.
Par contre avec l'adresse entier c ok
encore merci de votre aide