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

Вниз

Генератор случайных букв :)   Найти похожие ветки 

 
BiggieSmalls   (2006-01-08 12:33) [0]

Есть-ли в Делфи, стандартный генератор случайных символов, наподобии функции Random, но для букв. Или только ручками писать надо?


 
Fay ©   (2006-01-08 12:47) [1]

2 BiggieSmalls   (08.01.06 12:33)
ручками - только массив интересующих символов.


 
Anatoly Podgoretsky ©   (2006-01-08 12:49) [2]

Что за символы и не подойдет ли стандартные генератор.


 
NaziGhost   (2006-01-08 13:01) [3]

можно попробовать вот так

var
niz,verh,rnd: byte;
res: char;
begin

randomize;

niz   := ORD("A");
verh := ORD("z"); // для англицких есесно

rnd:=random(verh);
if rnd > niz then
  res:= Chr(rnd);

код не проверл, так написал, поправьте если что не так и не судите строго =)


 
jack128 ©   (2006-01-08 13:10) [4]

NaziGhost   (08.01.06 13:01) [3]
niz   := ORD("A");
verh := ORD("z"); // для англицких есесно

rnd:=random(verh);
if rnd > niz then
 res:= Chr(rnd);


А может просто Result := Chr(Random(Ord("Z") - Ord("a")) + Ord("a")) ??


 
NaziGhost   (2006-01-08 14:27) [5]

=) и такое тоже


 
Piter ©   (2006-01-08 14:43) [6]

jack128 ©   (08.01.06 13:10) [4]
А может просто Result := Chr(Random(Ord("Z") - Ord("a")) + Ord("a")) ??


агы, Ord("a") сокращается... и что у нас остается? :))

Ну идея понятно, только надо учесть, что символы a..z идут не сразу после A..Z (точно не уверен, но по крайней мере для русских "А".."Я" и "а".."Я" это точно так).

То есть, сначала можно рандомно выбрать - какую буквку генерировать (заглавную или прописную), а потому же из нужного диапазона генерировать...


 
Piter ©   (2006-01-08 14:44) [7]

Piter ©   (08.01.06 14:43) [6]
но по крайней мере для русских "А".."Я" и "а".."Я"


но по крайней мере для русских "А".."Я" и "а".."я"


 
Piter ©   (2006-01-08 14:46) [8]

jack128 ©   (08.01.06 13:10) [4]

Сори, я скобочку не заметил, спутал :)


 
TUser ©   (2006-01-08 21:19) [9]

[2]
random(max-min)+min


 
VirEx ©   (2006-01-08 22:03) [10]

procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
form1.Caption:=char(57-random(9)); //0 - 9
form1.Caption:=char(90-random(25));//A - Z
form1.Caption:=char(122-random(25));//a - z
form1.Caption:=char(223-random(31));//А - Я
form1.Caption:=char(224-random(31));//в - я
end;


 
VirEx ©   (2006-01-08 22:03) [11]

procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
form1.Caption:=char(57-random(9)); //0 - 9
form1.Caption:=char(90-random(25));//A - Z
form1.Caption:=char(122-random(25));//a - z
form1.Caption:=char(223-random(31));//А - Я
form1.Caption:=char(224-random(31));//а - я
end;


 
VirEx ©   (2006-01-08 22:07) [12]


>  [11] VirEx ©   (08.01.06 22:03)

ну енто конечно можно и form1.Caption:=char(ord("0")-random(9)); //0 - 9 и по аналогии с остальными



Страницы: 1 вся ветка

Текущий архив: 2006.02.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
3-1133813794
makvell
2005-12-05 23:16
2006.02.05
сформировать список...


2-1137484094
Ega23
2006-01-17 10:48
2006.02.05
CoCreateGUID - в каком юните находится?


2-1137624234
Змей
2006-01-19 01:43
2006.02.05
Перевод строки из русской в английскую и наоборот.


3-1133870327
Lansky
2005-12-06 14:58
2006.02.05
OpenDataSource


15-1137360998
Yanis
2006-01-16 00:36
2006.02.05
Какие бывают рестораны...