如何得到一个唯一的串呢,位数尽量的少
如题,
我写了一个,可是理论上还不是唯一的,有没有更好的办法呀:
procedure TForm1.Button1Click(Sender: TObject);
var i,j,c:integer;
enchar : array[0..35] of char;
str:string;
begin
enchar[0] := '0';
enchar[1] := '1';
enchar[2] := '2';
enchar[3] := '3';
enchar[4] := '4';
enchar[5] := '5';
enchar[6] := '6';
enchar[7] := '7';
enchar[8] := '8';
enchar[9] := '9';
enchar[10] := 'A';
enchar[11] := 'B';
enchar[12] := 'C';
enchar[13] := 'D';
enchar[14] := 'E';
enchar[15] := 'F';
enchar[16] := 'G';
enchar[17] := 'H';
enchar[18] := 'I';
enchar[19] := 'J';
enchar[20] := 'K';
enchar[21] := 'L';
enchar[22] := 'M';
enchar[23] := 'N';
enchar[24] := 'O';
enchar[25] := 'P';
enchar[26] := 'Q';
enchar[27] := 'R';
enchar[28] := 'S';
enchar[29] := 'T';
enchar[30] := 'U';
enchar[31] := 'V';
enchar[32] := 'W';
enchar[33] := 'X';
enchar[34] := 'Y';
enchar[35] := 'Z';
memo1.Lines.Clear;
for i:= 1 to 1000 do
begin
str := floattostr(double(now));
c:=pos('.',str);
str := copy(str,1,c-1)+copy(str,c+1,length(str)-c);
for j:= 1 to 18-length(str) do
begin
Randomize;
str := str + enchar[Random(36)];
end;
memo1.Lines.Add(str);
end;
end;