Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.038 c
1-1089289271
NJoe
2004-07-08 16:21
2004.07.25
Как убрать прокрутку в ListBox?


3-1088931777
}|{yk
2004-07-04 13:02
2004.07.25
XLReport и 1 к m


8-1084188583
Никита
2004-05-10 15:29
2004.07.25
Синтезация речи


4-1087289408
sashok
2004-06-15 12:50
2004.07.25
Как узнать цвет точки под мышкой?


1-1089626589
Alexandr
2004-07-12 14:03
2004.07.25
Application.CreateForm





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский