Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизПроцедура генерации случ строки. Найти похожие ветки
← →
denis24 (2004-07-12 12:31) [0]Делаю сабж.Для начала хочу получить число содержащее секунды + милисекунды или что то вроде этого.Так вот как получить эти милисекунды и секунды сист.времени?
← →
Думкин © (2004-07-12 12:40) [1]Юзай GetTickCount
← →
MBo © (2004-07-12 12:41) [2]Исследуй в хелпе date/time routines
← →
Fay © (2004-07-12 12:52) [3]GetSystemTime
← →
denis24 (2004-07-12 12:56) [4]Посмотрите пожалуста мою процедуру.Все вроде ок.Но формирование этого случайного числа прозодит так быстро,что даже в одну милисекунду формируюся два один случ строки.
Как этим можно управлять?
Function FDecTo68(mDec : Int64) : String;
Const
mCode = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
Begin
Result:="";
While mDec > 67 Do
Begin
if (mDec Mod 68)+1>61 then
result:="%"+result
else
Result := mCode[(mDec Mod 68)+1] + Result;
mDec := mDec Div 68;
End;
Result := mCode[mDec+1] + Result;
End;
Function FGetRefs : String;
Var
mRand : Int64;
Begin
mRand := GetTickCount*86400000;
Result:=FDecTo68(mRand);
end;
← →
Sheng © (2004-07-12 13:04) [5]Так и не понял, что надобно сгенерировать.
Uses ...., DateUtils;
var
tt: TDateTime; // он же Double
tt:=Now; // текущее дата и время
tt:=Date; // тока дата
tt:=Time; // тока время
Если надо случ. время - то
tt:=Random;
st:=TimeToStr(tt); // время в виде строки
sec:=SecondOf(tt); // секунды времени
напиши, плз, каков должен быть результат (примера 3..4) работы процедуры
← →
denis24 (2004-07-12 13:15) [6]должна быть строка из восьми случ букв которая формируется из символов константы.
mCode = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
В показаной процедуре я выбираю из сроки случ символы и формирую эту строку.
Но как , я понимаю ,надо где то поставить задержку потому что два раза подряд эта процедыра выдает одинаковую строку.
← →
Anatoly Podgoretsky © (2004-07-12 13:16) [7]Включи проверку диапазонов
← →
Sheng © (2004-07-12 13:19) [8]const
mCode = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
function GenerateString8: String;
var
i: Integer;
begin
Result:="";
for i:=1 to 8 do Result:=Result+mCode[Random(Length(mCode))+1];
end;
...
Randomize; // в OnCreate главной формы - обязательно
сойдёт?
← →
Sergey Kaminski (2004-07-12 13:58) [9]А обязательно нужно из 8 символов? А то иначе можно было бы GUID использовать - Microsoft гарантирует уникальность :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c