Movefile et erreur "3" [Résolu]

Messages postés
74
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
26 février 2012
- - Dernière réponse : 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
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
9
3
Merci
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));

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 210 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_rt15
Messages postés
11
Date d'inscription
lundi 21 avril 2003
Statut
Membre
Dernière intervention
19 février 2012
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 210 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_bonanux
Messages postés
74
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
26 février 2012
0
Merci
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...
Commenter la réponse de timbuk
Messages postés
11
Date d'inscription
lundi 21 avril 2003
Statut
Membre
Dernière intervention
19 février 2012
0
Merci
Quand on a la tête dans le guidon, on à du mal à se poser les bonnes questions !

You're welcome !

bonanux
Commenter la réponse de cs_bonanux