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

Вниз

Как сгенерировать случайнй знак (*,/,+,-)   Найти похожие ветки 

 
Loonar ©   (2007-05-21 13:16) [0]

Как сгенерировать случайный знак (*,/,+,-), исходя из отмеченнх пользователем флажков (четыре CheckBox"а каждый для своего знака)
Допустим я отметил CheckBox1(Сложение) и CheckBox2(умножение), Дельфи должен сгенерировать случайный знак или сложение или умножение.
Заранее спасибо за помощь.


 
clickmaker ©   (2007-05-21 13:22) [1]

Random()


 
turbouser ©   (2007-05-21 13:22) [2]

"Влоб" можно так:
Randomize;
...
var Chars:string;
begin
 if CheckBox1.Checked then Chars:="*";
 if CheckBox2.Checked then Chars:=Chars+"/";
 if CheckBox3.Checked then Chars:=Chars+"+";
 if CheckBox4.Checked then Chars:=Chars+"-";
 ShowMessage(Chars[Random(Length(Chars)+1)]);
end;


 
Loonar ©   (2007-05-21 13:53) [3]

Спасибо большое, очень помогло, ещё раз спасибо.


 
{RASkov} ©   (2007-05-21 13:55) [4]

> [3] Loonar ©   (21.05.07 13:53)

> ShowMessage(Chars[Random(Length(Chars)+1)]);

ShowMessage(Chars[1+Random(Length(Chars))]);
Индекс символов в строке начинается с 1


 
Knight ©   (2007-05-21 14:46) [5]

Лучше использовать два таймера... первый по рендому выбирает знак.. а второй по рендому останавливает первый :)


 
{RASkov} ©   (2007-05-21 14:52) [6]

> [5] Knight ©   (21.05.07 14:46)
> Лучше использовать два таймера...

Нет, два мало, нужно три..... Правда я пока незнаю для чего третий, но... нужен. :)


 
clickmaker ©   (2007-05-21 15:00) [7]


> для чего третий,

если 2 других подерутся, то разнимать будет


 
iXT ©   (2007-05-21 15:01) [8]

Почему три? символа четыре, значит и таймера четыре. Каждый отвечает за свой :))


 
Knight ©   (2007-05-21 15:05) [9]


> {RASkov} ©   (21.05.07 14:52) [6]
> Нет, два мало, нужно три..... Правда я пока незнаю для чего
> третий, но... нужен. :)


Генерация случайного интервала для второго и его запуск, через случайный интервал, после запуска первого... :)


 
{RASkov} ©   (2007-05-21 15:14) [10]

:)

> Почему три? символа четыре, значит и таймера четыре. Каждый отвечает за свой :))

Тогда 5, пятый будет выбирать у кого в очередной раз символ забрать.... Непонятно, только зачем первые четыре халявщика, ведь иху работу делают чекбоксы....) Кто больше?


 
Knight ©   (2007-05-21 15:30) [11]

В цикле генерится случайный чаровский массив длинной 255 символов... как-только он заполнен, Запускается Таймер1 который случайным образом начинает запускать и останавливать таймеры 2 (+), 3 (-), 4(*), 5(/) , при срабатывании они генерят случайный индекс массива и запускают таймеры 6,7,8,9 , которые в свою очередь проверяют значение по этому индексу. Если оно совпадает со значением, которой в данный момент сгенерировано таймером 10, то этот знак и передаётся пользователю.. :)


 
Knight ©   (2007-05-21 15:45) [12]

Да.. ещё надо сгенерить на форме поле 200Х200 из TPanel 1х1 со значениями тега 0 и 1... и попросить пользователя двигать над ним мышкой.  Значение передаётся пользователю если только в это время указатель мыши находился над панелью с тегом 1...


 
{RASkov} ©   (2007-05-21 15:54) [13]

> и попросить пользователя двигать над ним мышкой.

Затем попросить нажать на клавиатуре 500 символов... хватит извращаться ;)


 
Knight ©   (2007-05-21 15:57) [14]


> Затем попросить нажать на клавиатуре 500 символов

Причём.. разных.. с клавиатуры :))))))))))


 
{RASkov} ©   (2007-05-21 15:59) [15]

> Как сгенерировать случайнй знак (*,/,+,-)


> > и попросить пользователя двигать над ним мышкой.
>
> Затем попросить нажать на клавиатуре 500 символов...

Короче процедура на пол дня... :о) Все хватит.


 
{RASkov} ©   (2007-05-21 16:00) [16]

> Причём.. разных.. с клавиатуры

Пользователь в тупике :)))


 
Knight ©   (2007-05-21 16:03) [17]

%)))


 
Knight ©   (2007-05-21 16:06) [18]

В общем как всегда.. :)

http://www.korova.ru/humor/pics/realizat.gif


 
turbouser ©   (2007-05-21 20:53) [19]

Нафлудили блин =))
А вот серьезно, без стеба и флуда - как проще (продуктивнее) решить
подобную (да, бред, но все же :) задачу?
p.s.
Вася Пупкин и ты пы :)


 
Virgo_Style ©   (2007-05-21 20:57) [20]

turbouser ©   (21.05.07 20:53) [19]
Выбрать случайный символ из строки "*/+-", imo


 
turbouser ©   (2007-05-21 21:00) [21]


> Virgo_Style ©   (21.05.07 20:57) [20]

Угу. А как же выбор юзера?


 
Virgo_Style ©   (2007-05-21 21:47) [22]

turbouser ©   (21.05.07 21:00) [21]
выбор юзера?


Голосую за перемещение ветки в Потрепаться с последующим приглашением в оную kaif"а и бурной дискуссии на 1000 постов о (не)детерминизме и свободе воли)))


 
turbouser ©   (2007-05-21 21:49) [23]


> Virgo_Style ©   (21.05.07 21:47) [22]

+1 :))


 
{RASkov} ©   (2007-05-21 23:45) [24]

> [19] turbouser ©   (21.05.07 20:53)

Ну а чем [2] не угодил? Тем более, что ты его и выдвинул....
Помоему самый простой вариант...


 
turbouser ©   (2007-05-22 00:03) [25]


> {RASkov} ©   (21.05.07 23:45) [24]

Нет, не самый простой. Можно и проще. Точнее сложнее :)
Я же оговорился, что Вася там и т.п. :)



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

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

Наверх




Память: 0.52 MB
Время: 0.03 c
1-1176700809
bss
2007-04-16 09:20
2007.06.10
Как установить свой фонт для контролов при Enabled=false


2-1179422955
Евгений Р.
2007-05-17 21:29
2007.06.10
Сенсорный монитор


2-1179386405
ewer
2007-05-17 11:20
2007.06.10
bat-файл и программа на Pascal е


15-1179233665
Некто_
2007-05-15 16:54
2007.06.10
Помогите


2-1179493388
Bonuss
2007-05-18 17:03
2007.06.10
заблокировать комп