红 红尘过客 Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-28 #1 delphi 里是否有如 FOXPRO 的 SYS(2015) 唯一变量名的函数? 要求不超过16位,多台机器同时或分时操作也不重复。希望有具体的例子。
W wuyi Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-28 #2 依照下面的程序取得临时文件名,再把各台机器的不同标识号加入。 procedure TForm1.Button1Click(Sender: TObject); Var Buf:string[40]; Pbufchar; TmpFileName:String[40]; PFileChar; begin PBuf:=@buf; PFile:=@tmpfileName; //获取临时目录名,即DOS环境变量Temp所指向的目录 GetTempPath(40,Pbuf); Edit1.Text:=String(PBuf); GetTEmpFileName(PBuf,'',0,PFile); Edit2.Text:=String(PFile); end;
依照下面的程序取得临时文件名,再把各台机器的不同标识号加入。 procedure TForm1.Button1Click(Sender: TObject); Var Buf:string[40]; Pbufchar; TmpFileName:String[40]; PFileChar; begin PBuf:=@buf; PFile:=@tmpfileName; //获取临时目录名,即DOS环境变量Temp所指向的目录 GetTempPath(40,Pbuf); Edit1.Text:=String(PBuf); GetTEmpFileName(PBuf,'',0,PFile); Edit2.Text:=String(PFile); end;
李 李颖 Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-28 #5 wuyi:你的临时文件名可以保证生成时在本机唯一,但是以后生成的可以 保证唯一吗?在其他机器上可以保证唯一吗?所以不可取! 唐晓锋:Random函数可以保证唯一吗???? tqz的提议是可行的,GUID生成的方法是使用CoCreateGuid函数, GUID由与时间相关的随机数、与机器硬件相关的数据等等组成, 绝对唯一
wuyi:你的临时文件名可以保证生成时在本机唯一,但是以后生成的可以 保证唯一吗?在其他机器上可以保证唯一吗?所以不可取! 唐晓锋:Random函数可以保证唯一吗???? tqz的提议是可行的,GUID生成的方法是使用CoCreateGuid函数, GUID由与时间相关的随机数、与机器硬件相关的数据等等组成, 绝对唯一
Y yifeng Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-28 #6 GUID就是太长了一点,其他挺好 这是最简便的方法了,建议采用
L LSS Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-29 #7 用随机数 randomsize ,再用random,再检测如果有此文件,再重新来一遍,一定可搞定,
王 王寒松 Unregistered / Unconfirmed GUEST, unregistred user! 1999-05-29 #8 计算机有一些东西是机器独特的,唯一的标识,比如网卡MAC地址 ,CPU ID号码等, 这些转换为字符串后再与一些流水号组合,比如 将时间(浮点数)转换为字符串, 一定是唯一的