Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2013, 02:10   #1
zyxel-md
Пользователь
 
Регистрация: 12.04.2012
Сообщений: 19
Смущение реализация random подробнее внутри...

Здравствуйте прошу помочь кому не лень и кто может, у меня есть 2 формы, мне нужно чтобы одна из них открывалась а какая, уже не важно т.е надо использовать рандом, работаю в delphi помогите с реализацией условия....
вот мой набросок... проблема в том что он обрабатывает все значения т.е сначала выдает 1-значение а потом 2-ое в итоге форма номер2 постоянно появляется.


var zx:integer;
int:integer;

for zx:= 0 to 2 do
begin
int:=random(2);
ShowMessage('zx = '+IntToStr(zx));

if zx=1 then



form1.show; form2.hide;
if zx=2 then form2.Show;
form1.hide; end;
zyxel-md вне форума Ответить с цитированием
Старый 14.01.2013, 03:57   #2
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Рандомайз в начале сделали?
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 14.01.2013, 04:04   #3
zyxel-md
Пользователь
 
Регистрация: 12.04.2012
Сообщений: 19
По умолчанию

вроде нет, это все что есть в коде и в var
zyxel-md вне форума Ответить с цитированием
Старый 14.01.2013, 08:04   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
Randomize;int:=random(2);
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 14.01.2013, 17:20   #5
zyxel-md
Пользователь
 
Регистрация: 12.04.2012
Сообщений: 19
По умолчанию

К сожалению и так не срабатывает... он обрабатывает все также все значения по очереди.
zyxel-md вне форума Ответить с цитированием
Старый 14.01.2013, 17:26   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Конечно, по очереди, так как код по сути:
Код:
for zx:= 0 to 2 do
  begin
    ShowMessage('zx = '+IntToStr(zx));
    if zx=1 then
      form1.show;
    form2.hide;
    if zx=2 then
      form2.Show;
    form1.hide;
end;
Напишите, например так:
Код:
randomize;
for zx:= 0 to 2 do
begin
  form1.hide;
  form2.hide;
  if random(2)=0 then
    form1.show
  else
    form2.show;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 14.01.2013 в 17:40.
BDA вне форума Ответить с цитированием
Старый 14.01.2013, 17:52   #7
zyxel-md
Пользователь
 
Регистрация: 12.04.2012
Сообщений: 19
По умолчанию

Все равно одно и тоже обработка идет всех значений а мне хотелось бы чтобы он выбирал одно значение в пределах 2 форм ну как в услови...

на паскале таже лажа... может есть другой способ ?
zyxel-md вне форума Ответить с цитированием
Старый 14.01.2013, 17:58   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Тогда еще раз объясните, что Вы хотите получить.
Может не нужен цикл?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.01.2013, 18:06   #9
zyxel-md
Пользователь
 
Регистрация: 12.04.2012
Сообщений: 19
По умолчанию

Допустим есть 3 формы, form1,form2,form3;

Главная форма form1; по выполнению условия(не важно какого либо button.click либо еще что.то) в forme1 должно выйти окно либо form2 либо form3;

нужна подсказка с правильным использованием в этой ситуации random т.е что бы одно из 2-х окон выходили на form1; может есть метод без random? я с ним особо раньше не сталкивался и сам не такой уж и продвинутый поэтому уже обращаюсь( заранее спасибо, за любую попытку помочь)
zyxel-md вне форума Ответить с цитированием
Старый 14.01.2013, 18:09   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Попробуйте так:
Код:
randomize;//прописать в событии create 1ой формы
...
//там, где нужно показывать формы, написать
if random(2)=0 then
begin
  form3.hide;
  form2.show;
end
else
begin
  form2.hide;
  form3.show;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос как оптимизировать скорость интернета подробнее внутри Isa Софт 2 15.02.2012 16:04
Немогу найти материалы , конспекты по темам которые мне задали в колледже (подробнее внутри темы ) Аттила_вождь_гуноВ Помощь студентам 2 23.11.2011 10:41
создание random точек внутри окружности rombik Общие вопросы Delphi 3 20.12.2010 20:38
Технология разработки приложения (подробнее внутри). Victor.K Свободное общение 1 19.05.2009 18:27