Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
HanDi
892 / 339 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
#1

Картинки и sender - Delphi

03.07.2012, 14:04. Просмотров 741. Ответов 11
Метки нет (Все метки)

Нужно сформировать массив из количества картинок, которые указаны в edit.
Далее вывести их на форму(картинки одинаковые (123.jpg)).

Потом рандомно выбрать 1 картину. Далее пользователь кликает по ней и если он попадает в эту рандомную картинку то производить действие.

Если кому не лень, набросайте код, я в этой теме не бум бум.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2012, 14:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Картинки и sender (Delphi):

использование Sender
Задание заключается в том, что существует 50 едитов. Ограничение на 1 символ....

Работа с Sender
есть код procedure TForm2.TrackBar4Change(Sender: TObject); begin...

Sender и много ComboBox ов
На форме есть 10 ComboBox'ов. Из каждого ComboBox'а нужно скопировать текст в...

Sender в Case. Delphi.
Есть очень много ифов. Хотелось бы перевести все в кейс, и сократить громадный...

Компилятор ругается на FormResize(Sender)
Текст ошибки: "Undeclared identifier: 'Sender'" procedure TForm1.ResizePnls;...

procedure TForm1.Edit1Change(Sender: TObject);
edit должен увеличиваться ,если в него вводят больше букв,чем он однавременно...

11
Санек25
420 / 350 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
03.07.2012, 14:20 #2
http://www.cyberforum.ru/delphi-beginners/thread602464.html
тут работа как раз с картинками. Рандомно задаешь сво-во tag и по нему уже сравниваешь... Набросать не могу на работе и делфи нет под рукой. Тема не сложная думаю ты вполне разберешься...
1
HanDi
892 / 339 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
03.07.2012, 14:23  [ТС] #3
За это спасибо конечно.

Не смог просто найти тему недавнюю, одиночка там отвечал, помоему. Вопрос похож очень на мой.
0
Санек25
420 / 350 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
03.07.2012, 14:36 #4
http://www.cyberforum.ru/delphi-beginners/thread617723-page2.html вот еще по тем . Темы тоже с одиночкой не нашел.

Добавлено через 3 минуты
http://www.cyberforum.ru/delphi-beginners/thread616712.html может эта?.. в поиске вбей одиночка
0
HanDi
892 / 339 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
03.07.2012, 14:45  [ТС] #5
Все, нашел.

Но от помощи не отказываюсь
0
Санек25
420 / 350 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
03.07.2012, 14:47 #6
ну обращайся чем можем тем поможем...
0
БогДелфей
422 / 330 / 36
Регистрация: 31.05.2011
Сообщений: 1,156
03.07.2012, 15:28 #7
А если в эдит будет 1000 или 10 000, то как 10 000 картинок на форме размещать собрался?
0
HanDi
892 / 339 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
03.07.2012, 15:38  [ТС] #8
Кто сказал, что я разрешу юзверю ввести такое количество?)

Delphi
1
2
 if Not (Key in ['1'..'8', #8])then Key:=#0;
 Edit2.SelectAll;
Максимум 8.

И то, так, как я хочу их расположить.
0
Миниатюры
Картинки и sender  
HanDi
892 / 339 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
03.07.2012, 15:41  [ТС] #9
Сделал конечно криво, без массива, так легче их разместить по форме в нужном порядке исходя из количества, но сделал так, как нужно.

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
if edit2.Text='1' then begin
  image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image1.stretch:=true;
end;
 
if edit2.Text='2' then begin
  image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image1.stretch:=true;
  image2.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image2.stretch:=true;
end;
 
  if edit2.Text='3' then begin
  image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image1.stretch:=true;
  image2.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image2.stretch:=true;
  image3.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image3.stretch:=true;
end;
  if edit2.Text='4' then begin
  image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image1.stretch:=true;
  image2.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image2.stretch:=true;
  image3.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image3.stretch:=true;
  image4.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image4.stretch:=true;
end;
 
  if edit2.Text='5' then begin
  image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image1.stretch:=true;
  image2.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image2.stretch:=true;
  image3.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image3.stretch:=true;
  image4.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image4.stretch:=true;
  image5.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image5.stretch:=true;
end;
 
  if edit2.Text='6' then begin
  image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image1.stretch:=true;
  image2.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image2.stretch:=true;
  image3.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image3.stretch:=true;
  image4.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image4.stretch:=true;
  image5.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image5.stretch:=true;
  image6.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image6.stretch:=true;
end;
 
  if edit2.Text='7' then begin
  image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image1.stretch:=true;
  image2.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image2.stretch:=true;
  image3.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image3.stretch:=true;
  image4.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image4.stretch:=true;
  image5.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image5.stretch:=true;
  image6.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image6.stretch:=true;
  image7.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image7.stretch:=true;
end;
 
  if edit2.Text='8' then begin
  image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image1.stretch:=true;
  image2.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image2.stretch:=true;
  image3.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image3.stretch:=true;
  image4.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image4.stretch:=true;
  image5.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image5.stretch:=true;
  image6.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image6.stretch:=true;
  image7.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image7.stretch:=true;
  image8.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'/images/p.jpg');
  image8.stretch:=true;
end;
Так вот, теперь задача в том, чтобы задать каждой картинке тег (1..8) и если он совпадет при клике на нее с моим рандомным числом, то вывести сообщение.

Delphi
1
2
3
kol:=StrToint(edit2.Text);
 
teki:=random(kol)+1;
0
БогДелфей
422 / 330 / 36
Регистрация: 31.05.2011
Сообщений: 1,156
03.07.2012, 15:45 #10
Ну а в чём тогда проблема то? Создай n картинок, присвой им tag и сравнивай при клике со случайным числом
0
HanDi
892 / 339 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
03.07.2012, 15:47  [ТС] #11
Все, разобрался сам, как всегда

Адиос, амиго.

БогДелфей, Я всегда любил твою аву :3
1
БогДелфей
422 / 330 / 36
Регистрация: 31.05.2011
Сообщений: 1,156
03.07.2012, 15:49 #12
0
03.07.2012, 15:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2012, 15:49
Привет! Вот еще темы с решениями:

Procedure TForm1.Button3Click(Sender: TObject);
procedure TForm1.Button3Click(Sender: TObject); begin tab1.cells:=Edit1.text;...

Показывает ошибку в procedure Form2Button1Click(Sender: TObject);
unit Unit2; interface uses Windows, Messages, SysUtils, Variants,...

Как создать процедуру RadioButtonClick(Sender: TObject)
общая процедура— RadioButtonClick используется одновременно для RadioButton1,...

Как создать процедуру procedure RadioButtonClick(Sender: TObject);?
procedure RadioButtonClick(Sender: TObject); //Как общую процедуру сделать?


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

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

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