Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.20;
Скачать: CL | DM;

Вниз

Как сгенерировать уникальное имя файла?   Найти похожие ветки 

 
Sergp ©   (2003-10-08 13:48) [0]

Вобщем смысл в следующем:
Имеется папка с файлами. Нужно сгенерировать уникальное имя для нового файла. Напримет в диапазоне от "00000000.dat" до "99999999.dat".
В принципе "вручную" я могу и сам это написать, просто меня интересует есть ли для этого уже готовые функции/процедуры?


 
Skier ©   (2003-10-08 13:49) [1]


> есть ли для этого уже готовые функции/процедуры?

Есть.
API GetTempFileName(...)


 
Sergp ©   (2003-10-08 18:42) [2]

Ага. Есть такое...
Но проблема: не могу разобраться с параметрами...

Нашел описание:
Описание:
function GetTempFileName(DriveLetter: Char; PrefixString: PChar; Unique: Word; TempFileName: PChar): Integer;

Считывает уникальное имя вpеменного файла, именем маpшpута для котоpого является либо коpневой каталог или имя, опpеделенное пеpеменной сpеды TEMP.

Паpаметpы:
DriveLetter: Пpедлагаемый накопитель или tf_ForceDrive, побитово сложенная с пpедлагаемым накопителем, или нуль для накопителя, пpинимаемого по умолчанию.

PrefixString: Тpехсимвольный пpефикс имени файла (заканчивающийся пустым симвлом).
Unique: Численное значение базового имени файла или нуль для значения, выбpанного системой.
TempFileName: Буфеp пpинимающего маpшpута (длиной не менее 144 байта).

Возвpащаемое значение:
Уникальное численное значение имени файла

Но пока ничего не получается.
Кто может приведите примерчик.
Например у меня есть путь где нужно создавать нужные файлы. Как его использовать?
И еще вопрос: генерит действительно уникальное имя или берет его "от балды", типа на основе тек. времени?


 
me   (2003-10-08 21:16) [3]

var
strMyDir : string;
strTempFile : array[0..MAX_PATH-1] of char;
nTempNumber : integer;
...
nTempNumber := GetTempFileName(PChar(strMyDir), "my_mame_prefix", 0, strTempFile);



Страницы: 1 вся ветка

Текущий архив: 2003.10.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
1-65518
Eagle Owl
2003-10-07 17:27
2003.10.20
Импорт из DLL


7-65648
New laymer
2003-08-05 09:50
2003.10.20
Временая папка


9-65303
Vulko
2003-04-11 17:08
2003.10.20
Шашки...


1-65509
Yakudza
2003-10-08 13:54
2003.10.20
Подскажите как красиво сделать.


14-65623
Marouder
2003-09-24 11:11
2003.10.20
Я сделал это!!!! Я спрятал процесс от Task Manager а.