[Delphi] question stupide

question stupide [Delphi] - Programmation

Marsh Posté le 20-03-2002 à 20:58:30    

mais je la pose quand même :  :hello:  
Comment on fait pour copier un fichier simplement.
Il y a bien la fonction CopyFile, mais il semble qu'elle ne marche pas.
Un peu d'aide svp

Reply

Marsh Posté le 20-03-2002 à 20:58:30   

Reply

Marsh Posté le 20-03-2002 à 20:59:50    

:heink: Normalemment elle fonctionne... Tu l'utilises comment ? Elle te renvoie quoi ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 20-03-2002 à 21:02:36    

:lol: C bô les réponses rapides
J'ai peut-être fait une erreur de syntaxe ...
Tu peux me la donner stp  :hello:

Reply

Marsh Posté le 20-03-2002 à 21:12:35    

Aratorn a écrit a écrit :

:lol: C bô les réponses rapides
J'ai peut-être fait une erreur de syntaxe ...
Tu peux me la donner stp  :hello:  




F1 ?


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 20-03-2002 à 21:13:52    

The CopyFile function copies an existing file to a new file.  
 
BOOL CopyFile(
 
    LPCTSTR lpExistingFileName, // pointer to name of an existing file  
    LPCTSTR lpNewFileName, // pointer to filename to copy to  
    BOOL bFailIfExists  // flag for operation if file exists  
   );  
 
 
Parameters
 
lpExistingFileName
 
Points to a null-terminated string that specifies the name of an existing file.  
 
lpNewFileName
 
Points to a null-terminated string that specifies the name of the new file.  
 
bFailIfExists
 
Specifies how this operation is to proceed if a file of the same name as that specified by lpNewFileName already exists. If this parameter is TRUE and the new file already exists, the function fails. If this parameter is FALSE and the new file already exists, the function overwrites the existing file and succeeds.  
 
 
 
Return Values
 
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.  
 
Remarks
 
Security attributes for the existing file are not copied to the new file.  
File attributes (FILE_ATTRIBUTE_*) for the existing file are copied to the new file. For example, if an existing file has the FILE_ATTRIBUTE_READONLY file attribute, a copy created through a call to CopyFile will also have the FILE_ATTRIBUTE_READONLY file attribute. For further information on file attributes, see CreateFile.
 
See Also
 
CreateFile, MoveFile


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 20-03-2002 à 21:23:55    

Merci Poire  :jap:  
Bon, ben ça marche si je fais :
 
CopyFile(
'c:\toto\a.txt', 'c:\plustoto\a.txt', True
);
 
mais si je fais :
 
CopyFile(
StringGrid.Cells[2,1]+StrinGrid.Cells[1,1], 'c:\plustoto\a.txt', True
);
 
Avec dans la cellule 1,1 un nom et dans la 2,1 un chemin, il me répond "Types incompatible String et PChar"  :??:

 

[jfdsdjhfuetppo]--Message édité par Aratorn--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 20-03-2002 à 21:34:29    

CopyFile(  
PChar(StringGrid.Cells[2,1]+StrinGrid.Cells[1,1]), 'c:\plustoto\a.txt', True  
);  
 
fais un cast !


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 20-03-2002 à 21:39:49    

:jap:  :jap:  :jap:  :jap:  :jap:  :jap:  
Merci merci, ça marche impec

Reply

Marsh Posté le 20-03-2002 à 23:24:52    

Bon bhen j'étais pas là pour la suite de la réponse... j'étais absorbé dans ce que je faisais (du Delphi justement), puis après HFR était en panne :/


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 21-03-2002 à 03:50:20    

[SDF]Poire a écrit a écrit :

 
F1 ?  




 
Trop dur! T'es fou toi!
 :non:


---------------
Vendredi c'est Buitoni
Reply

Marsh Posté le 21-03-2002 à 03:50:20   

Reply

Marsh Posté le 21-03-2002 à 07:55:27    

JWhy a écrit a écrit :

CopyFile(  
PChar(StringGrid.Cells[2,1]+StrinGrid.Cells[1,1]), 'c:\plustoto\a.txt', True  
);  




 
Fait aussi un PChar sur ce paramètre parce-que si ta chaine contient un espace, tu cours droit dans le mur...
(en effet, le convertiseur fera 'C:\Mes Documents \toto.txt'->'C:\Mes';)


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 21-03-2002 à 10:03:00    

Ciler a écrit a écrit :

 
 
Fait aussi un PChar sur ce paramètre parce-que si ta chaine contient un espace, tu cours droit dans le mur...
(en effet, le convertiseur fera 'C:\Mes Documents \toto.txt'->'C:\Mes';)  




 
:heink:
Le PChar est nécessaire pour quand on a des + car il s'agit de plus chaînes concaténées, mais ça n'a rien à voir avec le contenu des chaînes


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 21-03-2002 à 13:08:55    

antp a écrit a écrit :

 
Le PChar est nécessaire pour quand on a des + car il s'agit de plus chaînes concaténées, mais ça n'a rien à voir avec le contenu des chaînes  




 
 :hello:  
Puis-je te suggérer d'essayer de déplacer un fichier d'un disque vers un autre avec par exemple le BUFilesUtils...
Tu obtiendra un splendide échec dû à ce que je mentionne plus haut, car comme l'a dit Poire, la fonction CopyFile prend des chaines à zéro terminal en paramètre (des PChar quoi). Et si tu lui met un string, c'est le compilo quifait la conversion, et il la fait très mal puisqu'il flingue les noms longs...


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 21-03-2002 à 13:58:13    

:??: Espace <> Zéro de fin de chaîne
À la limite que tu dois obligé de rajouter des " " autout du nom dans la chaîne je comprendrais...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 21-03-2002 à 15:03:27    

antp a écrit a écrit :

:??: Espace <> Zéro de fin de chaîne
À la limite que tu dois obligé de rajouter des " " autout du nom dans la chaîne je comprendrais...  




 
Je te l'accorde, espace<>null... Sauf que si tu essaye le truc que je tesuggère, tu verra que les noms avec espace provoquent une exception (ou alors mon système est buggé). Moi non plus je ne comprend pas pourquoi, mais l'expérience est impossible à nier !


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 21-03-2002 à 15:15:34    

antp a écrit a écrit :

:??: Espace <> Zéro de fin de chaîne
À la limite que tu dois obligé de rajouter des " " autout du nom dans la chaîne je comprendrais...  




 
Oui, ca a rien a voir l'espace et la fin de chaîne, faut se calmer les gars... Tu as totalement raison antoine, il FAUT foutre le path entre "" quand c'est un nom long.
 
Sinon t'as qu'a le transformer en nom 8.3 avant, mais bon, si tu le fais correctement y a pas de problème.
 
Pour info, cette fonction est la même depuis Windows 3.11, ils ont juste rajouté le support des noms longs moyennant le "
 :sarcastic:


---------------
Vendredi c'est Buitoni
Reply

Marsh Posté le 21-03-2002 à 15:18:06    

Tiens c'est toujours après que quelqu'un ait quoté un de mes posts que je vois les fautes:
"...à la limite que tu dois obligé..." :sweat:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed