[Delphi] générateur de noms de fichier unique

générateur de noms de fichier unique [Delphi] - Delphi/Pascal - Programmation

Marsh Posté le 29-05-2002 à 23:02:48    

tout est dans le sujet....
 
Je sais que ça existe dans d'autres langages (ObjectRexx) mais sous Delphi ?


---------------
Il n'y a pas de bonne réponse à une mauvaise question.
Reply

Marsh Posté le 29-05-2002 à 23:02:48   

Reply

Marsh Posté le 29-05-2002 à 23:06:55    

Beh tu le fais toi même....
tu essayes 'monfichier.000'
tu fais un FileExist('monfichier.000';) s'il existe tu incrémentes l'extention ('monfichier.001';) et tu recommences ....
 
 :hello:


---------------
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 29-05-2002 à 23:07:06    

GetTempFileName  
 
Ok c'est une API pour dans le répertoire temporaire mais t'as pas été très précis non plus  :D


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 29-05-2002 à 23:07:58    

9s d'écart ehe  :D


---------------
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 29-05-2002 à 23:08:34    

[SDF]Poire a écrit a écrit :

Beh tu le fais toi même....
tu essayes 'monfichier.000'
tu fais un FileExist('monfichier.000';) s'il existe tu incrémentes l'extention ('monfichier.001';) et tu recommences ....




 
Ouai et si tu as 15.000 fichiers déjà présent, tu pleures  :D  
 
Fous la date/heure/secondes dans le nom du fichier à la limite, t'as peu de chance de te faire avoir


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 29-05-2002 à 23:08:52    

[SDF]Poire a écrit a écrit :

9s d'écart ehe  :D  




 
Le temps de retrouver le nom de la fonction  :cry:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 29-05-2002 à 23:09:39    

UINT GetTempFileName(
 
    LPCTSTR lpPathName, // address of directory name for temporary file  
    LPCTSTR lpPrefixString, // address of filename prefix  
    UINT uUnique, // number used to create temporary filename  
    LPTSTR lpTempFileName  // address of buffer that receives the new filename  
   );  
 
 
on peut spécifier le répertoire, non ?


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

Marsh Posté le 29-05-2002 à 23:10:36    

Je connaissais la fonction en C mais G T pas sur de l'API et flemme de chercher.....  :D (En + ça aurait été trop long  :p )
 
Le truc D chiffres C juste une id y a d'aut moyens....
 :hello:


---------------
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 29-05-2002 à 23:22:19    

antp a écrit a écrit :

UINT GetTempFileName(
 
    LPCTSTR lpPathName, // address of directory name for temporary file  
    LPCTSTR lpPrefixString, // address of filename prefix  
    UINT uUnique, // number used to create temporary filename  
    LPTSTR lpTempFileName  // address of buffer that receives the new filename  
   );  
 
 
on peut spécifier le répertoire, non ?  




 
Ah ouai tiens   :D  
 
Bon benh alors, le problème est réglé   :sarcastic:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 30-05-2002 à 13:48:25    

Oki, merci......
Mais l'aide API de windows semble erronée......
l'argument driveletter semble être en fait le préfixe !!!??
 
Qq'un a t'il un exemple ?


---------------
Il n'y a pas de bonne réponse à une mauvaise question.
Reply

Marsh Posté le 30-05-2002 à 13:48:25   

Reply

Marsh Posté le 30-05-2002 à 14:00:29    

qu'est-ce que tu appelles driveletter :heink:


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

Marsh Posté le 30-05-2002 à 15:48:17    

antp a écrit a écrit :

qu'est-ce que tu appelles driveletter :heink:  




 
Doit pas avoir la même aide que nous  :sarcastic:  
 
Au fait:
 
When Windows shuts down, temporary files whose names have been created by this function are not automatically deleted.  
 
 
 :D


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 30-05-2002 à 21:07:55    

'fectivement je regardais la syntaxe de la version 2.x des API...
 
J'ai mis à jour ma doc qui correspond à la syntaxe fournie par antp...
 
Mais ça marche pô !!!!!, j'ai pourtant l'impression de bien tout mettre les pointeurs qui vont bien:
 
J'ai ça (dans result et buf1)'G:\delphi5\Delphi\Projects\Èóh'
 
en codant ça:
    Pdir,Ppref:PChar;
    dir,pref:string;
    Buf1: array [0..50] of Char;
    result:string;
begin
        Buf1[0] := #$00;
        dir:='C:\';
        pref:='D7_2CD';
        Pdir:=Addr(dir);
        Ppref:=Addr(pref);
        gettempfilename(Pdir,Ppref,2,Buf1);
        SetString(Result, Buf1, StrLen(Buf1));
end;
 
Ah bah pourquoi ?


---------------
Il n'y a pas de bonne réponse à une mauvaise question.
Reply

Marsh Posté le 30-05-2002 à 22:28:18    

QI130 a écrit a écrit :

 
 
J'ai mis à jour ma doc qui correspond à la syntaxe fournie par antp...
 




 
Euh, tu veux une étoile que tu fous son pseudo en gras?  :ouch:

 

[jfdsdjhfuetppo]--Message édité par Zion le 30-05-2002 à 22:28:30--[/jfdsdjhfuetppo]


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 30-05-2002 à 22:29:11    

Y a zion qui est jaloux [:youpi]


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

Marsh Posté le 30-05-2002 à 22:44:12    

antp a écrit a écrit :

Y a zion qui est jaloux [:youpi]  




lol
pour un copié collé de la doc ? :lol:  :lol:  :lol:


---------------
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 31-05-2002 à 10:21:39    

Nan nan, pas d'étoile, on n'est pas dans le Michelin !!!!!
 
Juste me dire ce qui déconne dans mon coding...


---------------
Il n'y a pas de bonne réponse à une mauvaise question.
Reply

Marsh Posté le 31-05-2002 à 10:59:02    

utilise cette fontion
 
function TempFilename(const SDir,SPref: String): String;
var
  Buffer: array[0..MAX_PATH] of Char;
begin
  StrPCopy(buffer,SDir);
  GetTempFileName(Buffer,pchar(Sref),0,Buffer);
  SetString(Result, Buffer, StrLen(Buffer));
end;
 
comme il est bien indiqué dans l'aide, seul les 3 premiers caractères de ta chaine prefixe seront utilisés, dans ton cas 'D7_'

Reply

Marsh Posté le 31-05-2002 à 16:07:47    

Nickel !
 
Thanx


---------------
Il n'y a pas de bonne réponse à une mauvaise question.
Reply

Sujets relatifs:

Leave a Replay

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