Movefile et erreur "3" [Résolu]

timbuk 74 Messages postés vendredi 6 juin 2008Date d'inscription 26 février 2012 Dernière intervention - 9 oct. 2011 à 16:02 - Dernière réponse : cs_bonanux 11 Messages postés lundi 21 avril 2003Date d'inscription 19 février 2012 Dernière intervention
- 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 

Votre réponse

4 réponses

Meilleure réponse
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 9 oct. 2011 à 18:17
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));

Merci cs_rt15 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de cs_rt15
Meilleure réponse
cs_bonanux 11 Messages postés lundi 21 avril 2003Date d'inscription 19 février 2012 Dernière intervention - 9 oct. 2011 à 18:31
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

Merci cs_bonanux 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de cs_bonanux
timbuk 74 Messages postés vendredi 6 juin 2008Date d'inscription 26 février 2012 Dernière intervention - 9 oct. 2011 à 19:05
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
cs_bonanux 11 Messages postés lundi 21 avril 2003Date d'inscription 19 février 2012 Dernière intervention - 9 oct. 2011 à 21:13
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.