Movefile et erreur "3"

Résolu
timbuk Messages postés 74 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 26 février 2012 - 9 oct. 2011 à 16:02
cs_bonanux Messages postés 11 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 19 février 2012 - 9 oct. 2011 à 21:13
Salutations,

J'ai un soucis avec un MoveFile qui me renvois une erreur 3 (Path not found) alors que le fichier est bien présent.
Voila les lignes:
    fichier := ExtractFilePath(ParamStr(0))+'decharge_mods\'+DechargesListBox.Items.Strings[DechargesListBox.ItemIndex];
    nouilleFichier := ExtractFilePath(ParamStr(0))+'mods\scripts\'+DechargesListBox.Items.Strings[DechargesListBox.ItemIndex];
    ShowMessage(fichier);
    ShowMessage(nouilleFichier);
    if Not MoveFile(PChar(fichier), PChar(nouilleFichier)) Then
      ShowMessage(IntToStr(GetLastError));


Les deux premiers ShowMessage me donnent ceci:
C:\Users\TimBuk\Documents\RAD Studio\Projects\PZL\Debug\Win32\mods\scripts\test.txt (qui existe bien)
C:\Users\TimBuk\Documents\RAD Studio\Projects\PZL\Debug\Win32\decharge_mods\test.txt (qui devrait être crée)

Et le troisième me renvoit 3.

Si quelqu'un a une idée, je suis preneur
Merci d'avance

4 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
9 oct. 2011 à 18:17
Salut,

    fichier := ...
    nouilleFichier := ...

    dir:= ExpandFileName(nouilleFichier + '\..');
    if not FileExists(fichier) then
      ShowMessage('"' + fichier + '" pas trouvé');
    if not DirectoryExists(dir) then
      ShowMessage('"' + dir + '" pas trouvé');

    if Not MoveFile(PChar(fichier), PChar(nouilleFichier)) Then
      ShowMessage(IntToStr(GetLastError));
3
cs_bonanux Messages postés 11 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 19 février 2012
9 oct. 2011 à 18:31
Bonjour,

Le code 3 correspond à un problème de chemin non existant :

ERROR_PATH_NOT_FOUND
3 The system cannot find the path specified.

Test avec DirectoryExists pour valider que c'est OK.

Éventuellement remplace MoveFile par MoveFileEx, tu auras des options de remplacement etc ..

bonanux
3
timbuk Messages postés 74 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 26 février 2012
9 oct. 2011 à 19:05
J'ai tellement honte de moi :(
Il n'arrivait pas à trouver le dossier decharge_mods parce que j'ai créé decharges_mods...

Merci à vous deux en tous cas, je m'en souviendrais la prochaine fois...
0
cs_bonanux Messages postés 11 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 19 février 2012
9 oct. 2011 à 21:13
Quand on a la tête dans le guidon, on à du mal à se poser les bonnes questions !

You're welcome !

bonanux
0