Главная страница
    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.061 c
3-1133526802
Vedun
2005-12-02 15:33
2006.02.05
Структура файлов баз данных


1-1136655503
navinavi
2006-01-07 20:38
2006.02.05
как определить № выделенной строки в TreeView


2-1137791913
Сергей2
2006-01-21 00:18
2006.02.05
Очистка массива


15-1136745707
DeMoN-777
2006-01-08 21:41
2006.02.05
Архивы форумов


2-1137836536
Clock
2006-01-21 12:42
2006.02.05
Часы





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