AEC1
Messages postés98Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention24 décembre 2012
-
12 août 2009 à 20:37
AEC1
Messages postés98Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention24 décembre 2012
-
15 août 2009 à 13:34
Bonjour,
Je rencontre un souci pour passer le contenu d'une variable 'la lettre d'un disque' saisie dans un TEdit et de la récupérée dans une chaine
afin de copier le fichier en question vers le bon lecteur. Voici ce que j'ai fait, mais aucune copie se réalise.
var
LEC : String;
procedure TForm1.Edit4Change(Sender: TObject);
begin // Entrer la lettre du lecteur choisi pour la sauvegarde
LEC := Edit4.Text;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin // Sauvegarde du Fichier tables de la base de données
CopyFile('c:\Trafic\Trafic.db','LEC'+':\Trafic.db',false);
C'est cette dernière ligne de commande qui est fausse, mais je n'arrive pas à la corrigée.
AEC1
Messages postés98Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention24 décembre 2012 13 août 2009 à 05:51
Merci les amis pour votre réponse rapide, mais le problème persiste sur cette ligne que voici modifiée comme vous le dites:
CopyFile('c:\Trafic\Trafic.db',LEC+':\Trafic.db',false);
Maintenant, le curseur se positionne après la dernière virgule de la ligne et me signal une incompatibilité entre String et PChar.
Pourtant il me semblait que ce fut plus simple que cela.
Merci, dans le cas ou vous auriez une autre idée sur le sujet, ce qui m'arrange mieux que de définir dans cette ligne un lecteur attitré et donc de devoir copiée celle-ci autant de fois que je suppose de lecteurs de disques disponibles. Cela n'est pas très logique surtout ne connaissant pas à l'avance sur lequel je doit réaliser celle-ci.
Amitiés...
AEC1
Vous n’avez pas trouvé la réponse que vous recherchez ?
AEC1
Messages postés98Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention24 décembre 2012 14 août 2009 à 05:43
Merci pour cette réponse qui me semble très précise, mais la difficulté que je rencontre c'est que je ne connait absolument rien à ce type de code si ce n'est un peut sur l'api Windows et PChar. Maintenant cela mérite quelques explications et comment je peut utilisé cela dans mon source, sachant que j'avais prévu une variable "LEC" venant de la saisie dans un Edtit, d'une lettre correspondant à un lecteur de disque afin que je puisse orienté ma sauvegarde.
CopyFile('c:\Trafic\Trafic.db',LEC+':\Trafic.db',false);
A l'origine je sauvegardé directement sur un lecteur défini,
CopyFile('c:\Trafic\Trafic.db','A:\Trafic.db',false);
mais bien sur il peut arrivé de devoir le faire sur un autre lecteur.
Je suis désolé mais mes connaissances sont limités quand à utilisé le code proposé. Merci encore si vous pouviez m'en dire un peut plus ou me proposé quelque chose de plus simple si cela est possible, j'en serais heureux.
Amitiés.
AEC1
AEC1
Messages postés98Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention24 décembre 2012 14 août 2009 à 16:33
Merci cher ami,
je ne suis peut-être pas un pro, mais là c'est une chose dont par ailleurs la syntaxe m'a toujours posée quelques problèmes.
Merci encore pour le coup de main et je vais essayé cela tout de suite. Merci .
AEC1
AEC1
Messages postés98Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention24 décembre 2012 14 août 2009 à 21:13
Voilà, j'ai fait la modif. et cela fonctionne bien jusqu'à avoir 10 fichiers sur 13 qui sont sauvegardés. Dont voici le code:
LEC:=Edit4.Text;
CopyFile(PChar('c:\Trafic\Trafic.db'),PChar(LEC+':\Trafic.db'),false);
CopyFile(PChar('c:\Trafic\Trafic.px'),PChar(LEC+':\Trafic.px'),false);
CopyFile(PChar('c:\Trafic\Trafic.tv'),PChar(LEC+':\Trafic.tv'),false);
CopyFile(PChar('c:\Trafic\Trafic.fam'),PChar(LEC+':\Trafic.fam'),false);
CopyFile(PChar('c:\Trafic\Stations.db'), PChar(LEC+':\Stations.db'),false);
CopyFile(PChar('c:\Trafic\Stations2.db'), PChar(LEC+':\Stations2.db'),false);
CopyFile(PChar('c:\Trafic\Stations2.px'), PChar(LEC+':\Stations2.px'),false);
CopyFile(PChar('c:\Trafic\Relais.db'), PChar(LEC+':\Relais.db'),false);
CopyFile(PChar('c:\Trafic\Relais.mb'), PChar(LEC+':\Relais.mb'),false);
CopyFile(PChar('c:\Trafic\Relais.px'), PChar(LEC+':\Relais.px'),false);
CopyFile(PChar('c:\Trafic\Pays.db'), PChar(LEC+':\Pays.db'),false);
CopyFile(PChar('c:\Trafic\Pays.mb'), PChar(LEC+':\Pays.mb'),false);
CopyFile(PChar('c:\Trafic\Pays.px'), PChar(LEC+':\Pays.px'),false);
Donc je ne saisi pas pourquoi il me manque trois fichiers ? Est-ce qu'au moment de la sauvegarde il ne peut pas en faire plus?
Cela est bien bizard. Ou est-qu'il y à plus simple pour sauvegarder un groupe de fichiers?
Je ne vois pas ou se trouve l'éventuelle erreur. Merci encore et amitiés.
AEC1
AEC1
Messages postés98Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention24 décembre 2012 15 août 2009 à 13:34
Salut f0xi,
merci pour ton aide, mais j'ai compris un peu tard que le problème n'en est pas un réellement.
Il se trouve que la sauvegarde est faite sur une clé USB et que celle-ci était pleine et donc les trois fichiers restants dont un de 12 Mo ne sont pas passés. Voila mais sinon cela fonctionne maintenant très bien.
Je remercie tous ceux qui m'ont aidés même si pour certains cela est simple.
Amitiés à tous et à très bientôt.
AEC1