Toon posts:

Unieke naam in directory maken [delphi]

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil in een bepaalde directory een aantal files plaatsen.
Maar de filenames moet uniek zijn.
Ik weet dat er een functie was die dat doet, maar ik weet niet meer welke?

Weet iemand dat?

  • JapJap
  • Registratie: Maart 2001
  • Laatst online: 07-01 11:02
Waarschijnlijk bedoel je de functie GetTempFileName()...

Verwijderd

Topicstarter
Nee het heeft niet met tempfiles te maken, ik bedoel dit:

Ik heb een instelbare dir. bijvoorbeeld c:\crond

Hier moeten bestanden in komen die door het programma worden gegenereerd.
Maar er moet voor elk bestand een unieken naam komen.

Is dat GetTempfilename?

Verwijderd

edit:

Ik haal alle topics door elkaar.
Dit is delphi en geen php |:(

Verwijderd

http://members.truepath.com/delphi/tips/tip89_gettempfilename1.htm

Deze moet je wel hebben want het garandeerd een unieke naam van een file in de werkdirectory. Het genereerd een unieke naam die je bijvoorbeeld voor een tijdelijke file kunt gebruiken (vandaar "Temp").

Een andere manier die je zou kunnnen proberen is iets als: pak een pseudo-random getal en gebruik dat als basis voor je filename. Bestaat die file dan probeer je het opnieuw. Maar ja, waarom moeilijk doen als er al een functie voor bestaat?

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Op zaterdag 02 maart 2002 09:06 schreef lnfinitive het volgende:
Een andere manier die je zou kunnnen proberen is iets als: pak een pseudo-random getal en gebruik dat als basis voor je filename. Bestaat die file dan probeer je het opnieuw. Maar ja, waarom moeilijk doen als er al een functie voor bestaat?
een voorbeeldje van zo'n pseudo-random manier:
code:
1
2
3
4
5
6
7
8
9
10
function CreateTempName(Path: String): String;
begin
  if Length(Path) > 0 then
    begin
    if Path[Length(path)] <> '\' then
      Path := Path + '\';
    end; { if }

  Result := Path + FormatDateTime('ddhhnnssyyyy', Now);
end; { func. CreateTempName }
Pagina: 1