Генератор случайного имени файла (одинаковых быть не должно! никогда!). Идеи? - VB
Формулировка задачи:
Программа генерирует файлы и кладет их в определенную папку.
Имена файлов не должны пересекаться, следить че там есть было будет, хранить число и увеличивать на 1 -неохота.
Свой файл, свои дела.
Разумно привязываться к времени.
типа ггммддччммсс
вероятность попасть 2 раза в одну секунду есть.
ну ладно ггммддччммсс+миллисекунды
ну, при каком-то маловероятном случае можно попасть и в миллисекунду, ну мало-ли, какой-то левый процесс тормознул дела на компьютере и два файла свалились одновременно (или скорее тот "кто файлы делает" "быстро сработал в 2 потока").
Можно добавить еще случайное число скажем от 0 до 1000 (на vb кстати такой ф-ции не знаю, насколько помню Rnd мается одной и той же дурью).
Ну и наконец как-то посолидней файлы обозвать надо.
Типа
3B54B0B2
3B54AF7D
3B2F1681
39BC5A37
390F9B17
Как бы все это дело грамотно об Hex ить ?
Имена файлов не должны пересекаться, следить че там есть было будет, хранить число и увеличивать на 1 -неохота.
Свой файл, свои дела.
Разумно привязываться к времени.
типа ггммддччммсс
вероятность попасть 2 раза в одну секунду есть.
ну ладно ггммддччммсс+миллисекунды
ну, при каком-то маловероятном случае можно попасть и в миллисекунду, ну мало-ли, какой-то левый процесс тормознул дела на компьютере и два файла свалились одновременно (или скорее тот "кто файлы делает" "быстро сработал в 2 потока").
Можно добавить еще случайное число скажем от 0 до 1000 (на vb кстати такой ф-ции не знаю, насколько помню Rnd мается одной и той же дурью).
Ну и наконец как-то посолидней файлы обозвать надо.
Типа
3B54B0B2
3B54AF7D
3B2F1681
39BC5A37
390F9B17
Как бы все это дело грамотно об Hex ить ?
Решение задачи: «Генератор случайного имени файла (одинаковых быть не должно! никогда!). Идеи?»
textual
Листинг программы
<font color="#00AA00">' ...</font> <font color="blue">Dim</font> addr <font color="blue">As</font> <font color="blue">Long</font> <font color="blue">Dim</font> b(<font color="darkblue"><b>1</b></font> <font color="blue">To</font> <font color="darkblue"><b>4</b></font>) <font color="blue">As</font> <font color="blue">Long</font> <font color="#00AA00">' будет меньше шагов у цикла For</font> <font color="blue">Dim</font> i <font color="blue">As</font> <font color="blue">Integer</font> <font color="blue">Dim</font> s <font color="blue">As</font> <font color="blue">String</font> <font color="blue">Dim</font> dt <font color="blue">As</font> SYSTEMTIME <font color="#00AA00">' ....</font> s = <font color="teal">""</font> GetLocalTime dt addr = VarPtr(dt) CopyMemory b(<font color="darkblue"><b>1</b></font>), <font color="blue">ByVal</font> addr, <font color="darkblue"><b>16</b></font> <font color="blue">For</font> i = <font color="darkblue"><b>1</b></font> <font color="blue">To</font> <font color="darkblue"><b>4</b></font> s = s & Hex(b(i)) <font color="#00AA00">' s = s & Right(<font color="teal">"0000000"</font> & Hex(b(i)), 8) ' <font color="teal">"выравнивание"</font></font> <font color="blue">Next</font> i
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д