Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.019 c
2-1137432508
tort
2006-01-16 20:28
2006.02.05
Копировать файлы


15-1136989131
Хинт
2006-01-11 17:18
2006.02.05
Статья: "Оптимизация кода"


2-1137473993
qwe
2006-01-17 07:59
2006.02.05
Stringgrid


15-1137501483
Yeg
2006-01-17 15:38
2006.02.05
Запуск программы...


2-1137721466
STK
2006-01-20 04:44
2006.02.05
Работа с файлами TIFF





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский