Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
8-65557
Mr.ElectroNick
2003-06-14 10:19
2003.10.20
Изменение размера компоненты (от TImage) в RunTime


14-65587
esu
2003-10-02 11:55
2003.10.20
Собираю команду набраться


4-65674
All
2003-08-12 23:24
2003.10.20
ReadDirectoryChangesW()


3-65351
konst
2003-09-29 12:29
2003.10.20
сортировка Query


1-65495
Ma}{
2003-10-08 15:59
2003.10.20
Как показать MainForm на весь экран....




   Наверх