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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2014, 14:55   #1
Vlad1698
Пользователь
 
Регистрация: 09.02.2014
Сообщений: 35
Вопрос Рандомное отображение картинок.

Здравствуйте,подскажите пожалуйста команду ,чтобы при
if progressbar2.position = 1000 then
отображались либо image1 , image2 либо image3, image4.
спасибо
Vlad1698 вне форума Ответить с цитированием
Старый 22.02.2014, 15:30   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нет такой команды. Придется целый блок программы писать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.02.2014, 15:34   #3
Vlad1698
Пользователь
 
Регистрация: 09.02.2014
Сообщений: 35
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Нет такой команды. Придется целый блок программы писать.
не понял?
можно в двух словах что именно делать?как сделать чтобы хоть чтото из объектов на форме выбиралось рандомно?
Vlad1698 вне форума Ответить с цитированием
Старый 22.02.2014, 16:19   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
if progressbar2.position = 1000 then begin
 randomize;
 repeat
  i:=random(Controlscout);
 until Controls[i] is TImage;
 TImage(Controls[i]).четотамделаем
end;
Однако так делать не по феншую. Компоненты, которые нужно отбирать стоит пихнуть либо в массив либо в список TComponentList чтоб четко контролировать отбор.
Почитай про этот класс и попробуй с ним поработать. Примеры в хелпе есть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.02.2014, 16:33   #5
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Цитата:
Сообщение от Vlad1698 Посмотреть сообщение
Здравствуйте,подскажите пожалуйста команду ,чтобы при
if progressbar2.position = 1000 then
отображались либо image1 , image2 либо image3, image4.
спасибо
Код:
var i: integer;
begin
if progressbar2.position = 1000 then begin
Randomize;
i := random(2);
case i of
0: begin 
      //Отображаем Image1 и Image2;
    end;
1: begin
      //Отображаем Image3 и Image4;
    end;
end;
end;
end;

Последний раз редактировалось doktor255; 22.02.2014 в 20:52.
doktor255 вне форума Ответить с цитированием
Старый 22.02.2014, 16:33   #6
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от Vlad1698 Посмотреть сообщение
Здравствуйте,подскажите пожалуйста команду ,чтобы при
if progressbar2.position = 1000 then
отображались либо image1 , image2 либо image3, image4.
спасибо
1.
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 Timer1.Enabled := True;
end;
2.
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   ProgressBar1.Position := ProgressBar1.Position +1;
   if  ProgressBar1.Position = ProgressBar1.Max then
    begin
       Timer1.Enabled := False;
       Image1.Visible := True;
    end;

end;
xxbesoxx вне форума Ответить с цитированием
Старый 22.02.2014, 16:40   #7
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

xxbesoxx А где варианты перебора Image1, Image2, Image3, Image4? А почему Image1.Visible Присваивается только если прогресс бар достиг максимума, а не как стоит задача, отметки в тысячу? И опять же почему Image1? Сырое непродуманное решение.
doktor255 вне форума Ответить с цитированием
Старый 22.02.2014, 19:50   #8
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от doktor255 Посмотреть сообщение
xxbesoxx А где варианты перебора Image1, Image2, Image3, Image4? А почему Image1.Visible Присваивается только если прогресс бар достиг максимума, а не как стоит задача, отметки в тысячу? И опять же почему Image1? Сырое непродуманное решение.
doktor255 Замечание правильно да ! Если такой " жесткой критика " вот пожалуйста . Что скажете ?

1.
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := True;
    Image1.Visible := False;
     Image2.Visible := False;
     Image3.Visible := False;
end;
2.
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
 var i: integer;
begin
   ProgressBar1.Position := ProgressBar1.Position +1;
    if  ProgressBar1.Position = ProgressBar1.Max   then
    begin
       Randomize;
       i:=random(3);
       case i of
       0:Image1.Visible := True;
       1:Image2.Visible := True;
       2:Image3.Visible := True;
       end;
    end;
     if  ProgressBar1.Position = ProgressBar1.Max  then
     begin
      Timer1.Enabled := False;
       ProgressBar1.Position:=0;
 end;
end;
http://takebin.com/u/7bBac5c737
xxbesoxx вне форума Ответить с цитированием
Старый 22.02.2014, 19:59   #9
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

По поводу: if progressbar2.position = 1000 и if ProgressBar1.Position = ProgressBar1.Max ничем не отличается ! Задача уже готов скачайте и проверите как работает
xxbesoxx вне форума Ответить с цитированием
Старый 22.02.2014, 20:03   #10
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
По поводу: if progressbar2.position = 1000 и if ProgressBar1.Position = ProgressBar1.Max ничем не отличается !
ProgressBar.Max := 100500;
ProgressBar.position := 1000;
ProgressBar.Position = ProgressBar.Max ???

Я уже молчу об использовании в решении задачи не нужных компонентов.

Код:
i:=random(3);
Задача стояла отобразить первую, вторую, ИЛИ третью и четвёртую картинку. То есть вариантов отображения два, а не четыре

Последний раз редактировалось doktor255; 22.02.2014 в 20:13.
doktor255 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение картинок idhttpserver bookkc Помощь студентам 11 27.12.2011 17:40
Рандомное заполнение MaxiCool Помощь студентам 1 15.04.2011 18:04
как нужно изменить код, что бы отображение картинок было корректным? Garret13 Помощь студентам 0 10.05.2010 19:05
Отображение картинок Syltan HTML и CSS 0 03.04.2010 19:41
Отображение картинок или метафайлов на форме. Hellen Общие вопросы Delphi 3 19.02.2007 10:44