Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.62
Миушник
36 / 36 / 2
Регистрация: 03.12.2010
Сообщений: 251
#1

Рандомный вызов картинок - Delphi

27.05.2012, 12:21. Просмотров 3066. Ответов 21
Метки нет (Все метки)

Добрый день не могу вызвать рандомно картинки из файла, помогите пожалуйста.!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2012, 12:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рандомный вызов картинок (Delphi):

Рандомный вызов форм delphi - Delphi
Программа для тестирования, вопросы на 100 формах delphi. Тест состоит из 30 вопросов. Необходимо случайным образом вызвать одну из...

Рандомный алгоритм - Delphi
Помогите пожалуйста. Нужно создать такой алгоритм, что бы он ранодомно в промежутке(Матрица) от (0..29)(Строка) ставил 14 единиц и двоек....

Рандомный вывод - Delphi
Есть программа теста где вопросы берутся из бд Access. Но они идут по порядку, а как сделать что бы рандомно и без повторений? Пробовал...

Рандомный элемент combobox - Delphi
Кто-нибудь знает как сделать, что бы в combobox выбирался рандомный элемент??

Рандомный выбор вкладок - Delphi
Всем добрый день. У меня есть такой вопрос - имеется форма, на форме находится PageControl, на PageControl 60 вкладок- TabSheet-ов. Можно...

Рандомный вывод в Memo - Delphi
Добрый день. Сижу уже 3-й день,не получается... А,собственно,проблема в том,что мне нужно организовать рандомный вывод заданных мною слов...

21
zuxa-zuxa
Мишка Косолапый :)
282 / 252 / 3
Регистрация: 15.02.2012
Сообщений: 1,448
Завершенные тесты: 1
27.05.2012, 12:28 #2
Цитата Сообщение от Миушник Посмотреть сообщение
картинки из файла
Как это картинки из файла?

если изображения вызывать то можно сделать case опрератор...
рандомь число и в зависимости от числа вызывай картинку...
0
Миушник
36 / 36 / 2
Регистрация: 03.12.2010
Сообщений: 251
27.05.2012, 12:37  [ТС] #3
ну не из файла а из папки...(ошибся) окей... а если число повторится картинка будет та же ...? т.е будут 2-е одинаковые картинки?
0
Санек25
420 / 350 / 8
Регистрация: 14.05.2012
Сообщений: 1,437
27.05.2012, 12:48 #4
ну для начала в одной папке у вас не может храниться 2 файла с одинаковым именем и расширением... А если из другой вызывать то картинка будет меняться
0
Миушник
36 / 36 / 2
Регистрация: 03.12.2010
Сообщений: 251
27.05.2012, 12:55  [ТС] #5
у меня 4 картинки .... мне необходимо чтобы при нажатии на кнопку .... они меняли своё место положение. т.е. они вместе должны меняться..
0
Санек25
420 / 350 / 8
Регистрация: 14.05.2012
Сообщений: 1,437
27.05.2012, 13:04 #6
они меняли своё место положение- Двигаться по форме что ли???

Image1.left:=Image1.left+10;
0
Миушник
36 / 36 / 2
Регистрация: 03.12.2010
Сообщений: 251
27.05.2012, 13:16  [ТС] #7
нет... есть 4 картинки.. нужно чтобы при нажатии на кнопку они рандомно загружались в имейдж и не повторялись..

Добавлено через 11 минут
поправка (в 4 имеджа)!
0
Санек25
420 / 350 / 8
Регистрация: 14.05.2012
Сообщений: 1,437
27.05.2012, 13:55 #8
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
for i:=1 to 4 do
begin
form1.Image1.Picture.LoadFromFile('Файл'+inttostr(i)+'.jpg');  //вызывается файл1.jpg,файл2.jpg, файл3.jpg ,файл4.jpg
end;
end;
1
Миушник
36 / 36 / 2
Регистрация: 03.12.2010
Сообщений: 251
27.05.2012, 14:11  [ТС] #9
я так сделал уже... мне нужно что-бы РАНДОМНО они ЗАГРУЖАЛИСЬ=(( вот в чём беда!
0
Санек25
420 / 350 / 8
Регистрация: 14.05.2012
Сообщений: 1,437
27.05.2012, 14:18 #10
Используйте i:= random(4);
и проверку на совпадение имен
1
Одиночка
3927 / 1852 / 88
Регистрация: 16.03.2012
Сообщений: 3,869
27.05.2012, 14:24 #11
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
End;
 
procedure TForm1.FormCreate(Sender: TObject);
var 
  i,j : integer;
  s : Set Of 1..4;
begin
  s:=[];
  for i:=1 to 4 do
  begin
    j:=Random(4)+1;
    While Not (j In s) Do j:=Random(4)+1;
    Include(s,j);
    (FindComponent('Image'+inttostr(i)) As TImage).Picture.LoadFromFile('Файл'+inttostr(j)+'.jpg');
  end;
end;
1
Миушник
36 / 36 / 2
Регистрация: 03.12.2010
Сообщений: 251
27.05.2012, 14:43  [ТС] #12
вот по этому я и спрашиваю про рандомный вызов т.к. в вашем предложенном случаее рандом может сгинерировать...3-4-3-1 т.е будет 2-е одинаковые а необходимо чтобы они были разными!... есть идеи?
0
Одиночка
3927 / 1852 / 88
Регистрация: 16.03.2012
Сообщений: 3,869
27.05.2012, 14:58 #13
Я там специально ввёл множество s в котором отмечаются уже загруженные картинки. И одинаковые не будут загружены.

Добавлено через 4 минуты
Ошибка в моём коде. Строку 15 нужно написать так:
Delphi
1
    While (j In s) Do j:=Random(4)+1;
2
Миушник
36 / 36 / 2
Регистрация: 03.12.2010
Сообщений: 251
27.05.2012, 15:04  [ТС] #14
Спасибо всем ОГРОМНОЕ!!!!
0
Одиночка
3927 / 1852 / 88
Регистрация: 16.03.2012
Сообщений: 3,869
27.05.2012, 15:40 #15
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Var
  //Переменная для сохранения номера Image, в которую загружена правильная картинка
  NumImgCorrect : Integer;
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
End;
 
//Рандомная загрузка картинок по клику кнопки
procedure TForm1.Button1Click(Sender: TObject);
var 
  i,j : integer;
  s : Set Of 1..4;
begin
  s:=[];
  for i:=1 to 4 do
  begin
    j:=Random(4)+1;
    While (j In s) Do j:=Random(4)+1;
    Include(s,j);
    If j=1 Then NumImgCorrect:=i; //Запомним Img с правильной картинкой
    (FindComponent('Image'+inttostr(i)) As TImage).Picture.LoadFromFile('q'+inttostr(j)+'.jpg');
  end;
end;
 
//Клик по Image - прикрепить ко всем Image
procedure TForm1.Image1Click(Sender: TObject);
var 
  i,j : integer;
  s : Set Of 1..4;
begin
  //Определим, на том Image кликнули, или не на том
  If (Sender Is TImage) Then
  (Sender As TImage).Name='Image'+inttostr(NumImgCorrect) Then
  Label1.Caption:='Выбор правильный!' Else
  Label1.Caption:='Выбор не правильный!';
End;
2
27.05.2012, 15:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2012, 15:40
Привет! Вот еще темы с ответами:

Рандомный выбор элемента - Delphi
Как сделать так что бы при клике на кнопку выбирался рандомный Label и в этом Label выводился текст. Вот моя наработка, но в ней ничего...

Рандомный вывод RadioButton - Delphi
Здравствуйте форумчане, застопорилась на таком моменте, есть тест задания выпадают рандомно, но как сделать что бы выводились ответы...

Рандомный вывод из ini - Delphi
Помогите пожалуйста с вопросом... У меня имеется программа для решения тестов, вопросы с вариантами ответов она читает из файла ini ...

Рандомный вывод слов - Delphi
Есть 5 слов которые хранятся в массиве slova Мне нужно: что бы при нажатии на кнопку рандомно 1 слово из тех 5 присваивалось переменной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru