Автор | Сообщение |
|
| постоянный участник
|
Пост N: 6037
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.09.18 15:36. Заголовок: Временный файл с уникальным именем ?
|
|
|
Ответов - 5
[только новые]
|
|
|
| постоянный участник
|
Пост N: 6040
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.09.18 16:12. Заголовок: Не пашет... Borland ..
Не пашет... Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland demo.c: Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland Error: Unresolved external '_HB_FUN_GETTEMPFILENAME' referenced from W:\HB_PROJECT\TSB_LINEDRAG\DEMO.OBJ Link error.
|
|
|
|
| постоянный участник
|
Пост N: 1474
Зарегистрирован: 27.01.07
|
|
Отправлено: 17.09.18 16:36. Заголовок: Andrey пишет: P.S. ..
Andrey пишет: цитата: | P.S. Нашёл в Harbour\lib\hbrtl.lib - а параметр не знаю nUnique.... // GetTempFileName(cPath,cPrefix,nUnique) -> cFileName |
| В исходниках я такую не нашел. Откуда ты это взял?
|
|
|
|
| постоянный участник
|
Пост N: 6042
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.09.18 16:36. Заголовок: Нашел клиперную функ..
Нашел клиперную функцию TEMPFILE( GetStartUpFolder()+"\", "cdx", 0), вроде пашет.
|
|
|
|
| постоянный участник
|
Пост N: 6043
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.09.18 16:38. Заголовок: PSP пишет: В исходн..
PSP пишет: цитата: | В исходниках я такую не нашел. Откуда ты это взял? |
| Брал в папке с МиниГуи, там есть в папке Harbour\lib\hbrtl.lib
|
|
|
|
| |
Пост N: 39
Зарегистрирован: 02.12.18
|
|
Отправлено: 31.01.19 13:46. Заголовок: Мой вариант еще с Clippera
Function TmpName() // генерировать имя для временного файла Return "TMP"+Ltrim(str(random())) //- Function random(ld) Local x:=rand(),nSet:=SET(_SET_DECIMALS,16) //------------------------------------------ if ld=nil ; ld:=.f. ; endif // по умолчанию x := Int( x * (65535 + 1) ) if ld ; x := x - 32768 ; endif SET(_SET_DECIMALS,nSet) Return x //- Function rand( s ) Static seed := 0 Local nSet:=SET(_SET_DECIMALS,16) local a := 16807 // This is just a lucky prime number // you can hardcode these as constants for better speed local m := ( 2 ^ 31 ) - 1 local q := int( m / a ) local r := int( m % a ) //-------------------------- if valtype( s ) == 'N' seed := s Else if seed = 0 ; Seed:=Seconds() ; endif endif seed := a * ( seed % q ) - r * ( seed / q ) IF seed <= 0 ; seed += m ; endif SET(_SET_DECIMALS,nSet) Return ( seed - 1 ) / ( m - 2 ) /* Other Prime Numbers are: 38833 ,37171 ,11903,18233 ,31337 ,23339,27481,31063 34543 // an anagram prime! 36299,13691 ,17659 ,29411 */
|
|
|
|