Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1714 connectés 

  FORUM HardWare.fr
  Programmation

  [Delphi] question stupide

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] question stupide

n°115267
Aratorn
Black Swordman
Posté le 20-03-2002 à 20:58:30  profilanswer
 

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

mood
Publicité
Posté le 20-03-2002 à 20:58:30  profilanswer
 

n°115268
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-03-2002 à 20:59:50  profilanswer
 

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


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°115270
Aratorn
Black Swordman
Posté le 20-03-2002 à 21:02:36  profilanswer
 

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

n°115274
[SDF]Poire
Vive Grumly
Posté le 20-03-2002 à 21:12:35  profilanswer
 

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:
n°115276
[SDF]Poire
Vive Grumly
Posté le 20-03-2002 à 21:13:52  profilanswer
 

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:
n°115283
Aratorn
Black Swordman
Posté le 20-03-2002 à 21:23:55  profilanswer
 

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]

n°115291
JWhy
je peux plier (héhé)
Posté le 20-03-2002 à 21:34:29  profilanswer
 

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
n°115296
Aratorn
Black Swordman
Posté le 20-03-2002 à 21:39:49  profilanswer
 

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

n°115326
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-03-2002 à 23:24:52  profilanswer
 

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
n°115402
Buitoni
Posté le 21-03-2002 à 03:50:20  profilanswer
 

[SDF]Poire a écrit a écrit :

 
F1 ?  




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


---------------
Vendredi c'est Buitoni
mood
Publicité
Posté le 21-03-2002 à 03:50:20  profilanswer
 

n°115409
Ciler
Posté le 21-03-2002 à 07:55:27  profilanswer
 

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
n°115439
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-03-2002 à 10:03:00  profilanswer
 

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
n°115556
Ciler
Posté le 21-03-2002 à 13:08:55  profilanswer
 

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
n°115598
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-03-2002 à 13:58:13  profilanswer
 

:??: 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
n°115650
Ciler
Posté le 21-03-2002 à 15:03:27  profilanswer
 

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
n°115661
Buitoni
Posté le 21-03-2002 à 15:15:34  profilanswer
 

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
n°115664
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-03-2002 à 15:18:06  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Delphi] question stupide

 

Sujets relatifs
[DELPHI] Une liste de bon sites pour Delphi (last update 20/01/2003)[3D] Petite question sur les Octrees
[PHP] Comment ne plus vous poser de question de newbies ?[DELPHI-ADO] Compacter une base Access
[Delphi] GetTTreeNodeWhichHaveThisData( id:string);[CSS] question bateau
[delphi]Lancer un script sur une page web à partir d'une application[bash] question sur la portée des variables
Question sur progress 8.3A[Delphi/SQL] COUNT
Plus de sujets relatifs à : [Delphi] question stupide


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR