Création de fichiers temporaires dans le dossier temporaire courant.(api)

Description

Ayant eu besoin de travailler avec des fichiers temporaires, je suis tombé par hasard sur 2 fonctions API que je ne connaissais pas :
GetTempPath() qui renvoie le dossier temporaire courant
GetTempFileName() qui crée (et vérifie l'unicité) un fichier temporaire
Celà m'ayant considérablement simplifier mon travail, je me dis que ça peut servir à d'autres.
J'ai joint un prg. de test qui crée 10 fic. temp.

Source / Exemple :


//=======================================
//on cherche le dossier temporaire courant
//dans l'ordre : variable d'environnement TMP
//             : variable d'environnement TEMP (si pas TMP)
//             : dossier courant sinon
function DossierTMP: string;
  var bdir: array[0..255] of char;
begin
  FillChar(bdir,sizeof(bdir),0);
  GetTempPath(sizeof(bdir),bdir);
  Result:= bdir
end;
//=======================================
//crée dans dir, un fichier unique de la forme ppphhhh.tmp
//avec ppp sont les 3 premiers caractères de prefixe
//  et hhhh est une chaine héxadécimale
//rem : si _n = 0 le fichier est créé (et son unicité est vérifiée)
//      sinon le nom est construit mais l'unicité n'est pas vérifiée
//                                      et le fichier n'est pas créé
//en sortie : nom est le nom complet (ou 'ERREUR')
//          : numero est la valeur de la chaine héxa
function CreerFichierTMP(dir,prefixe: string; var nom: string; var numero: integer): boolean;
  const _n = 0;
  var buf: array[0..255] of char;
begin
  FillChar(buf,sizeof(buf),0);
  numero:= GetTempFileName(PChar(dir),PChar(prefixe),_n,buf);
  Result:= (0 <> numero);
  if Result
  then nom:= buf
  else nom:= 'ERREUR';
end;
//=======================================

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.