Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Процедура генерации случ строки.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
6-1085414343
Игорь Н.
2004-05-24 19:59
2004.07.25
Как узнать есть ли сейчас соединение с интернетом?


3-1088686069
Plt
2004-07-01 16:47
2004.07.25
Выполнение запроса с помощью TOracleQuery (DOA) в потоке.


14-1089252288
Думкин
2004-07-08 06:04
2004.07.25
С днем рождения! 8 июля


14-1088803935
saNat
2004-07-03 01:32
2004.07.25
Книга по 3D MAX


1-1089685804
Глеб
2004-07-13 06:30
2004.07.25
Работа с выделенным текстом в MS Word