Copier fichier sans ecraser

Joleroy Messages postés 106 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 24 octobre 2005 - 7 juil. 2004 à 18:03
Joleroy Messages postés 106 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 24 octobre 2005 - 9 juil. 2004 à 17:41
salut a tous.

encore un message d' aide de ma part.
je voudrais savoir cimment copier un fichier sans ecraser le fichier existant mais en en créant un autre

Ex:

Je copie delphi.txt dans c:\progs\delphi.txt.
je veut ensuite copier un autre fichier delphi.txt dans ce meme repertoire sans le remplacer.
Ex:

Le repertoire C:\progs contient maintenent

delphi.txt
delphi2.txt
ect...

Pour l' instant je fait:
if not fileExists('c:\Gestion\TbClt\'+DBLookupComboBox1.Text+'.db') then
f:=1;
If fileExists('c:\Gestion\TbClt\'+DBLookupComboBox1.Text+'1.db') then
f:=2;
If fileExists('c:\Gestion\TbClt\'+DBLookupComboBox1.Text+'2.db') then
f:=3;
If fileExists('c:\Gestion\TbClt\'+DBLookupComboBox1.Text+'3.db') then
f:=4;

mais bon je me vois mal faire ca jusqu' au fichier 999999999999999999999999999999999999999999999

7 réponses

japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
7 juil. 2004 à 20:35
J'ai programmé une routine à ce sujet, le temps que je remette la main dessus, à + + +
0
Joleroy Messages postés 106 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 24 octobre 2005
8 juil. 2004 à 13:46
alors tu l' as retrouvée ta "routine"..
0
birdyz Messages postés 42 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 4 septembre 2006
8 juil. 2004 à 16:51
Hello

Je pense qu'un truc de ce genre devrait faire l'affaire

if 'c:\Gestion\TbClt\'+DBLookupComboBox1.Text+'.db') then
copyfile ...
else
begin
  i := 1;
  while FileExists('c:\Gestion\TbClt\'+DBLookupComboBox1.Text + IntToStr(i) + '.db') do
    inc(i);
  copyfile(FichierOrgine, 'c:\Gestion\TbClt\'+DBLookupComboBox1.Text + IntToStr(i) + '.db');
end;


@+
Birdyz
0
Joleroy Messages postés 106 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 24 octobre 2005
8 juil. 2004 à 21:39
resulut,

Y' a comme qui dirait un blèm.
tes valeurs i et zero ne se reinisialisent jamais ce qui fait que quand je fait:

Table1.TableName:=DBLookupComboBox1.Text+Zero+IntToStr(i)+'.db';

ca marche la première fois,
mais la deuxième ca garde la meme valeur que pour la fichier precedent

ex: TableTruc0002.db

Mais pour la table suivante
Tablemachin0002.db
alors que il n' existe aucune Tablemachin0000.db ni Tablemachin0001.db

Donc erreur "La table n' existe pas.
FIchier ou répertoire inexistant
Fichier: C:\Gestion\tbclt\Tablemachin0002.db
0

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

Posez votre question
Joleroy Messages postés 106 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 24 octobre 2005
9 juil. 2004 à 13:39
j' ai essayer de mettre i:=0;
zero:='';
a la fin mais j' ai toujour le meme problème.
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
9 juil. 2004 à 14:04
Si je comprends bien, essaye ceci (qui utilise ma fonction):

CopyFile(PChar('C:\RepertoireOrigine\TonFichier.db'),
PChar(IncIfExists('C:\RepertoireDestination' + ComboBox1.Text + '.db', 3)),
true);


Tu copies ainsi le fichier situé dans le répertoire d'origine vers le répertoire de destination, en attribuant le nom que tu veux avec le ComboBox. Si ce fichier existe déjà dans le répertoire de destination, il ne sera pas écrasé, le nom du nouveau fichier sera incrémenté, avec la valeur 3 ça donnera donc : MonFichier001.db, MonFichier002.db, etc jusqu'à MonFichier999.db...

Ok ?

Bonne prog' :-p
0
Joleroy Messages postés 106 Date d'inscription mardi 16 décembre 2003 Statut Membre Dernière intervention 24 octobre 2005
9 juil. 2004 à 17:41
je me suis mal exprimé....
le prob c' est pas de copier le fichier, ca c' est impec ;)
le pb c' est que une fois que j'ai crée un fichier ca va verifier le nombre qu' il doit y avoir apres le nom du fichier,
mais plus apres!! a mois que je redemare l' applis.

ex;

Ière fois

Monfichier030.db;

2eme fois:

Autrefichier030.db;
0
Rejoignez-nous