Combobox et copyfile

Résolu
floppy41 Messages postés 25 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 novembre 2009 - 2 juil. 2009 à 11:42
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 15 févr. 2010 à 11:56
Bonjour à tous,
j'ai un petit soucis avec CopyFile dans Delphi.

Je m'explique, en fait je veux faire un truc tout bête, j'ai une liste déroulante que je génère en automatique avec le contenu d'un dossier, ainsi elle se remplie avec tous les fichires qu'il y a à l'intérieur de ce dossier.

Mon but est de selectionner ce fichier, et d'appuyer sur un bouton pour qu'il soit copier sur mon bureau.
En gros j'envoi les chemins sources et destinations dans deux variables, ainsi que le nom du fichier
si je fais CopyFile(Pchar(la_source + le_fichier_selec),Pchar(la_destination + le_fichier_selec),False);
ça ne fonctionne pas, or si je fais

CopyFile(Pchar(la_source + 'test.txt'),Pchar(la_destination + 'test.txt'),False);
ça fonctionne.

Je pense donc avoir un probleme au niveau de la récupération du fichier de ma combobox :
le_fichier_selec:=Combobox.Items[Combobox.itemindex];
j'ai testé d'envoyer cette variable dans un mémo et elle s'affiche correctement, c'est bien le bon fichier, sans erreur ou fautes.

Une idée?
Par avance Merci

17 réponses

floppy41 Messages postés 25 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 novembre 2009
2 juil. 2009 à 15:34
Bingo!
Le problème était donc bien la, il me créait a chaques fois un retour a la ligne en trop.
J'ai utiliser la function Trim(const S: string): string; qui supprime les espaces et les sauts de lignes.
Merci à tous!
3
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
2 juil. 2009 à 11:49
Peux-tu nous dire le format qu'ont les variables "la_source", "le_fichier_selec", "la_destination" ? Il s'agit probablement d'une erreur de formatage (lorsque tu mets bout à bout deux chaînes formatées, il peut y avoir des petits oublis (notamment un backslash en trop ...). Ca m'arrive souvent.

Cordialement, Bacterius !
0
floppy41 Messages postés 25 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 novembre 2009
2 juil. 2009 à 11:53
Ce sont tous des String.
exemples :
le_fichier_selec : 'test.txt'
la_source : 'C:\Users\Toto\Desktop\gp2\'
la_destination : 'C:\Users\Toto\Desktop\'
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
2 juil. 2009 à 11:55
Oui merci mais je voulais savoir comment était formaté ce qu'ils contenaient.
As-tu essayé de faire un ShowMessage(la_destination + le_fichier_selec) pour voir ce que était envoyé au copyfile ?

Cordialement, Bacterius !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
floppy41 Messages postés 25 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 novembre 2009
2 juil. 2009 à 12:00
Ouais j'ai essayer d'envoyer ça dans un Mémo.
Ca marche impeccable, le fichier est bien le bon.
C'est pour ça que je ne comprends pas...
J'ai même envoyer tout le chemin dans ce mémo, y'a pas d'erreurs...
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
2 juil. 2009 à 12:09
Etrange, as-tu les droits requis pour copier dans le répertoire Bureau ?

Cordialement, Bacterius !
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
2 juil. 2009 à 12:11
Avec 8 compos DE BASE, tu as été obligé de réinventer la roue et galérer ?
0
floppy41 Messages postés 25 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 novembre 2009
2 juil. 2009 à 12:17
J'ai delphi 6, et je ne connais pas "8 composants de base".
Sinon, oui j'ai les droits requis pour faire ce copier coller puisque lorsque je passe en parametre dans le CopyFile le nom du fichire "en dur" ça passe sans probleme et ça se copie sur le bureau.
Sinon j'avais remarquer que lorsque j'envoyais ma variable contenant le nom du fichier dans un mémo, même en faisant memo1.text:=''; j'avais
test.txt

En gros c'est comme si il appuyait sur la touche entrer apres avoir écrit le contenu de ma variable.
J'ai donc essayer d'ajouter un +chr(8) (le backspace) mais non ça ne change rien...
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
2 juil. 2009 à 12:19
Les 8 composants de base se trouvent normalement dans ton répertoire Exemples et Win 3.1. Néanmoins, il faut peut-être installer un ActiveX pour les composants Shell ...

Cordialement, Bacterius !
0
floppy41 Messages postés 25 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 novembre 2009
2 juil. 2009 à 12:20
Oui peut être, enfin mon but c'est quand même de comprendre pourquoi ça ne fonctionne pas.
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
2 juil. 2009 à 12:30
Oui, mais souvent à problème bizarre il y a solution simple !

Cordialement, Bacterius !
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
2 juil. 2009 à 12:40
La première opération serait d'afficher le résultat de :
la_source + le_fichier_selec
et de :
la_destination + le_fichier_selec

il est fort possible que le problème s'y localise.
 
@+
Cirec

<hr siz="" />
0
floppy41 Messages postés 25 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 novembre 2009
2 juil. 2009 à 14:01
Oui il est même a peu pres certains que le probleme se situ à ce niveau, seulement j'ai vérifier, et les chemins sont correctes :s
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
2 juil. 2009 à 15:12
essaye comme ça :

CopyFile(Pchar('"' + la_source + le_fichier_selec + '"'),
  Pchar('"' + la_destination + le_fichier_selec + '"'), False);

 
@+
Cirec

<hr siz="" />
0
floppy41 Messages postés 25 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 novembre 2009
2 juil. 2009 à 15:27
Non ça marche pas,par contre j'ai fait un test et ça confirme tout à fait ce que je pensais :
il retourne a la ligne une fois quand il récupère le fichier_selec, je m'explique
à la place qu'il m'affiche (memo1.text:= ( '"' + la_source + le_fichier_selec + '"')+(chr(13)+chr(10))+('"' + la_destination + le_fichier_selec + '"'),  :

"C:\Users\Toto\Desktop\gp2\test.txt"
"C:\Users\Toto\Desktop\test.txt"

Il m'affiche :

"C:\Users\Toto\Desktop\gp2\test.txt
"
"C:\Users\Toto\Desktop\test.txt
"

Alors que je ne lui demande qu'une seule mise a la ligne dans le code (chr(13)+chr(10))!
Il fait donc un retour a la ligne tout seul lors de la selection du fichier! j'ai essayer d'annuler ça avec un backspace (chr(8)) ça ne marche pas...

Je rappel que le fichier je l'obtient comme ça :
le_fichier_selec: =combobox.items[combobox.itemindex];
0
bienbon75 Messages postés 3 Date d'inscription dimanche 14 février 2010 Statut Membre Dernière intervention 1 août 2010
15 févr. 2010 à 11:45
Bonjour,

Je débute avec Delphi et je dois créer un programme identique à celui-ci.

Je dois afficher les fichiers d'un répertoire pour copier dans un autre répertoire le fichier sélectionné et ensuite appeler un programme .bat.

Je ne sais pas encore générer la liste déroulante.


Pouvez-vous me conseiller ?

Merci
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
15 févr. 2010 à 11:56
Tu as déjà posté ta question ailleurs, merci de ne pas faire remonter des vieux posts pour reposer votre question. ...
0
Rejoignez-nous