Les Snippets

Connexion

Générer un nom de fichier temporaire unique

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 09/06/2008 21:45:12 et initié par PCPT [Liste]
Date de mise à jour : 14/06/2008 00:51:44
Vue : 2364
Catégorie(s) : API, Fichier / Disque, Chaîne de caractères
Langages dispo pour ce code :
- VB6, VBA
- Delphi 5
- Delphi 5
- C# 1.x, C# 2.x, C# 3.x, VB 2005, VB 2008, VB.NET 1.x



Langage : VB6 , VBA
Date ajout : 09/06/2008
Posté par PCPT [Liste]
DateMAJ : 14/06/2008
Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As StringAs Long
Private Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As StringByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As LongByVal lpBuffer As String) As Long
Function GetUniqueTempFileName(Optional ByVal  bCreate As Boolean  = True) As String
    Dim sBuffer As String
    sBuffer = String$(260, vbNullChar)
    
'    aucune  raison qu'on obtienne pas le chemin réel par API mais bon au pire on  peut tenter  par ENVIRON
    If GetTempPath(Len(sBuffer), sBuffer) Then
'       enlève  les  NULL
        GetUniqueTempFileName = LeftB$(sBuffer, InStrB(1, sBuffer,  vbNullChar))
    Else
        GetUniqueTempFileName = Environ$("TEMP")
    End If
    
'   ajoute le slash,  la  fonction sera alors prête à retourner  le  "X:\RéPERTOIRE_TEMP\"
    If Not (RightB$(GetUniqueTempFileName, 2) = "\"Then GetUniqueTempFileName = GetUniqueTempFileName & "\"
    
'   on va générer un  nom  temporaire de fichier temporaire
    sBuffer = String$(260, vbNullChar)
    Call GetTempFileName(GetUniqueTempFileName, App.EXEName, 0&, sBuffer)
    sBuffer = LeftB$(sBuffer, InStrB(1, sBuffer,  vbNullChar))
    
'    retour
    GetUniqueTempFileName = sBuffer
'   l'API a créé le fichier, on supprime si  nécessaire
    If Not bCreate Then Call DeleteFile(sBuffer)
End Function

Langage : Delphi 5
Date ajout : 29/06/2008
Posté par f0xi [Liste]
function GenerateTempFileName(const Ext: string = 'tmp') : String;
var Tz: integer;
    N : cardinal;
    C : char;
    T : string;
begin
  SetLength(T, MAX_PATH);
  Tz := 0;
  Tz := GetTempPath(MAX_PATH,PChar(T));
  SetLength(T, Tz);
  T := IncludeTrailingBackslash(T);
  repeat
    N := GetTickCount xor cardinal(random(256) * random(256) * random(256) * random(256));
    C := chr(byte(65+random(26)));
    result := T+C+format('%.8x',[N])+'.'+Ext;
  until not FileExists(result);
end;
Remarque :
genere des noms de fichier dans l'interval :
C:\windows\temp\A00000000.tmp
a
C:\windows\temp\ZFFFFFFFF.tmp
Langage : Delphi 5
Date ajout : 16/07/2008
Posté par cirec [Liste]
function GetUniqueTempFileName(const Prefix: String):String;
var sTmpPath: String;
begin
  SetLength(sTmpPath, Max_Path);
  GetTempPath(Max_Path, PChar(sTmpPath));
  SetLength(Result, Max_Path);
  GetTempFileName(PChar(sTmpPath), PChar(Prefix), 0, PChar(Result));
end;
// Utilisation
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := GetUniqueTempFileName('Tmp');
end;

Remarque :
le paramètre "Prefix" de la fonction "GetTempFileName" ne prend en compte que les trois premiers caractères
Langage : VB.NET 1.x , VB 2005 , C# 1.x , C# 2.x , C# 3.x , VB 2008
Date ajout : 19/08/2008
Posté par ShareVB [Liste]
System.IO.Path.GetTempFileName()

Snippets en rapport avec : Fichier, Unique, Générer, Temp, Temporaire



Codes sources en rapport avec : Fichier, Unique, Générer, Temp, Temporaire

{Visual Basic, VB6, VB.NET, VB 2005} NOM DE FICHIER UNIQUE (INCREMENTE)
Pas de Zip, je sais, faut copier coller... Cette fonction m'a été demandée par un Ami. J'en fait...

{Delphi} CRÉATION DE FICHIERS TEMPORAIRES DANS LE DOSSIER TEMPORAIRE COURANT.(API)
Ayant eu besoin de travailler avec des fichiers temporaires, je suis tombé par hasard sur 2 fonction...

{Visual Basic, VB6, VB.NET, VB 2005} FILE RENAME - CHANGER LES NOMS DE VOS FICHIERS EN TOUTE SIMPLICITÉ
Ce programme sert à modifier vos fichiers rapidement et simplement. Il présente plusieurs fonctio...

{Visual Basic, VB6, VB.NET, VB 2005} [.NET3.5] EXTENSION METHODS: SUR LES CLASSES SYSTEM.IO
Les extensions de méthodes, en voici une nouveauté introduite avec VB2008. Elles permettent d'étend...

{JAVA / J2EE} CHERCHER UN FICHIER
Bonjour, Cette classe vous permet d'effectuer une recherche de fichiers (1 ou plusieurs) dans un...

{PHP} UPLOAD IMAGES TRÈS SIMPLE
Un script pour upload d'image simple Ce code est simple mais je ne suis qu'un débutant ...

{Visual Basic, VB6, VB.NET, VB 2005} RÉCUPÉRER LA TEMPÉRATURE DES DISQUES DURS
Voici un code pour récupérer la température de vos disques dur. Ne marche que pour les disque dur p...

{C / C++ / C++.NET} COMPARATEUR D'IMAGES DE CONSOLE MONOCHROME DE BASE ET CRÉATION D'UN FICHIER DE DIFFÉRENCE.
"Extrait de ce qui est demandé dans le cadre de ce projet: A Spécifications A.1 Entrée Le progr...

{} NOM FICHIER
Validation du nom d'un fichier. - Accepte : File.txt | C:\Data\..\.\CodeSSourceS.Regex\MonFichier...

{C / C++ / C++.NET} STRUCTURE DES FICHIERS DBF
Pour chaque fichier DBF existant dans le dossier courrant, le programme fait un autre fichier, ayant...