Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для rolandas
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382

Как задать атрибуту Image - Integer значение?

24.12.2020, 21:54. Показов 3396. Ответов 47

Студворк — интернет-сервис помощи студентам
Delphi
1
2
3
x,y: Integer;
 
Image1.Visible:=True;
какой синтаксис или тип x нужно для для работы в цикле, где меняется x ?:

Delphi
1
 Imagex.Visible:=True;
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2020, 21:54
Ответы с готовыми решениями:

Как правильно задать атрибуту метода значение функции
Задача в том, чтобы по умолчанию задать атрибуту метода в классе значение функции в рамках одного класса. Пробовал два способа. Не судите...

Как в диаграмме классов UML Static Structure задать атрибуту значение первичного ключа?
Подскажите, пожалуйста, как в Visio 2003 в диаграмме классов UML Static Structure задать атрибуту значение первичного ключа?

Задать значение атрибуту
Хелпаните, как поменять значение атрибута у элемента через js, мой вариант не работает почему-то. Атрибут data-service задан у всех radio и...

47
 Аватар для rolandas
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
25.12.2020, 15:33  [ТС]
Студворк — интернет-сервис помощи студентам
там шеснадцать кусков и для каждого по массив и по отдельный цикл?

перменную Y убрал вообще, сработало с одной Integer i

Добавлено через 6 минут
так?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public
ss: array[1..252] of String[252];
ima: array[1..20] of String[20];
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
ss[1]:='A';  ss[2]:='À';  ss[3]:='B';  ss[4]:='C';  ss[5]:='È';  ss[6]:='D';
ss[7]:='E';  ss[8]:='Ë';  ss[9]:='Æ';  ss[10]:='F'; ss[11]:='G'; ss[12]:='H';
ss[13]:='I'; ss[14]:='Y'; ss[15]:='Á'; ss[16]:='J'; ss[17]:='K'; ss[18]:='L';
ss[19]:='M'; ss[20]:='N'; ss[21]:='O'; ss[22]:='P'; ss[23]:='R'; ss[24]:='S';
ss[25]:='Ð'; ss[26]:='T'; ss[27]:='U'; ss[28]:='Ø'; ss[29]:='Û'; ss[30]:='V';
ss[31]:='Z'; ss[32]:='Þ';
 
ima[1]:='Image1'; ima[2]:='Image2'; ima[3]:='Image3'; ima[4]:='Image4';
ima[5]:='Image5'; ima[6]:='Image6'; ima[7]:='Image7'; ima[8]:='Image8';
ima[9]:='Image9'; ima[10]:='Image10'; ima[11]:='Image11'; ima[12]:='Image12';
ima[13]:='Image13'; ima[14]:='Image14'; ima[15]:='Image15'; ima[16]:='Image16';
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
25.12.2020, 15:42
Лучший ответ Сообщение было отмечено rolandas как решение

Решение

rolandas, вот, кое что сократил и облегчил:
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
unit Unit1;
// rhouland@gmx.com   +37062440867
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ImgList, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    ImageList1: TImageList;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Image6: TImage;
    Image7: TImage;
    Image8: TImage;
    Image9: TImage;
    Image10: TImage;
    Image11: TImage;
    Image12: TImage;
    Image13: TImage;
    Image14: TImage;
    Image15: TImage;
    Image16: TImage;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    ImageList2: TImageList;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
 
  public
    ss: array[1..252] of String[252];
    imgList: array[0..15] of TImage; // Добавил массив для Image
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  ss[1]:='A';  ss[2]:='А';  ss[3]:='B';  ss[4]:='C';  ss[5]:='И';  ss[6]:='D';
  ss[7]:='E';  ss[8]:='Л';  ss[9]:='Ж';  ss[10]:='F'; ss[11]:='G'; ss[12]:='H';
  ss[13]:='I'; ss[14]:='Y'; ss[15]:='Б'; ss[16]:='J'; ss[17]:='K'; ss[18]:='L';
  ss[19]:='M'; ss[20]:='N'; ss[21]:='O'; ss[22]:='P'; ss[23]:='R'; ss[24]:='S';
  ss[25]:='Р'; ss[26]:='T'; ss[27]:='U'; ss[28]:='Ш'; ss[29]:='Ы'; ss[30]:='V';
  ss[31]:='Z'; ss[32]:='Ю';
  imgList[ 0] := Image1;
  imgList[ 1] := Image2;
  imgList[ 2] := Image3;
  imgList[ 3] := Image4;
  imgList[ 4] := Image5;
  imgList[ 5] := Image6;
  imgList[ 6] := Image7;
  imgList[ 7] := Image8;
  imgList[ 8] := Image9;
  imgList[ 9] := Image10;
  imgList[10] := Image11;
  imgList[11] := Image12;
  imgList[12] := Image13;
  imgList[13] := Image14;
  imgList[14] := Image15;
  imgList[15] := Image16;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  ress, a, i, ilgis, km: Integer;
  s, r1: String;
//  hours, mins, secs, milliSecs : Word;
  tmp2: TStringList;
begin
  tmp2 := TStringList.Create;
  tmp2.LoadFromFile('zodynas.txt');
  Ress := tmp2.Count;
  Label2.Caption := IntToStr(Ress);
 
  Randomize;
  a := random(Ress);
  Label4.Caption := IntToStr(a);
 
  s := tmp2.Strings[a];
  label6.Caption:=s;
  tmp2.Free;
 
  ilgis := length(s);
  label8.Caption:=IntToStr(ilgis);
 
  for i := 0 to High(imgList) do // Скрыть все Image
    imgList[i].Visible := False;
 
  Label10.Caption := s[1]; // isskirti pirma zodzio raide:
  Label12.Caption := s[2]; // isskirti antra zodzio raide:
 
  for i := 1 to Length(s) do begin
    r1 := s[i];
    for km := 1 to 32 do
      if ss[km] = r1 then
        ImageList1.GetBitmap(km, imgList[i-1].Picture.Bitmap);
  end;
 
  for i := 0 to High(imgList) do
    imgList[i].Visible := i < ilgis;
end;
 
end.
Добавлено через 6 минут
Выбор картинки мне не нравится, там можно сделать по другому, один цикл уйдёт. Но у меня нет нужных букв, так что, не тронул.

Смысл в следующем. Объявляется массив вида
Delphi
1
    s1: array['А'..'Я'] of integer;
То есть, чтобы содержал индексы с первой и до последней буквы, встречающейся в тексте. Затем инициализируется:
Delphi
1
2
3
  s1['А'] := 1; // Номер картинки с буквой А в ImageList
  s1['Б'] := 2; // Номер картинки с буквой Б в ImageList
  // И так далее все буквы
Затем, нужная картинка выбирается так:
Delphi
1
2
  for i := 1 to Length(s) do
    ImageList1.GetBitmap(s1[s[i]], imgList[i-1].Picture.Bitmap);
1
Злостный нарушитель
 Аватар для Verevkin
10896 / 5831 / 1289
Регистрация: 12.03.2015
Сообщений: 26,910
25.12.2020, 15:48
Лять, вы маньяки.
Кликните здесь для просмотра всего текста
0
 Аватар для rolandas
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
25.12.2020, 15:55  [ТС]
Цитата Сообщение от AzAtom Посмотреть сообщение
вот, кое что сократил и облегчил:
Спасибо, здорого все укороченное,
дале можем не оптимизировать, дальше поехали если не затрудню.
сейчас оставим ваш вариянт - все работает;
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
unit Unit1;
// rhouland@gmx.com   +37062440867
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ImgList, ExtCtrls;
 
type
TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    ImageList1: TImageList;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Image6: TImage;
    Image7: TImage;
    Image8: TImage;
    Image9: TImage;
    Image10: TImage;
    Image11: TImage;
    Image12: TImage;
    Image13: TImage;
    Image14: TImage;
    Image15: TImage;
    Image16: TImage;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    ImageList2: TImageList;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
   
private
 
public
ss: array[1..252] of String[252];
imgList: array[0..15] of TImage;
end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
ss[1]:='A';  ss[2]:='Ą';  ss[3]:='B';  ss[4]:='C';  ss[5]:='Č';  ss[6]:='D';
ss[7]:='E';  ss[8]:='Ė';  ss[9]:='Ę';  ss[10]:='F'; ss[11]:='G'; ss[12]:='H';
ss[13]:='I'; ss[14]:='Y'; ss[15]:='Į'; ss[16]:='J'; ss[17]:='K'; ss[18]:='L';
ss[19]:='M'; ss[20]:='N'; ss[21]:='O'; ss[22]:='P'; ss[23]:='R'; ss[24]:='S';
ss[25]:='Š'; ss[26]:='T'; ss[27]:='U'; ss[28]:='Ų'; ss[29]:='Ū'; ss[30]:='V';
ss[31]:='Z'; ss[32]:='Ž';
 
imgList[ 0] := Image1; imgList[ 1] := Image2; imgList[ 2] := Image3;
imgList[ 3] := Image4; imgList[ 4] := Image5; imgList[ 5] := Image6;
imgList[ 6] := Image7; imgList[ 7] := Image8; imgList[ 8] := Image9;
imgList[ 9] := Image10; imgList[10] := Image11; imgList[11] := Image12;
imgList[12] := Image13; imgList[13] := Image14; imgList[14] := Image15;
imgList[15] := Image16;
 
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  ress, a, i, ilgis, km: Integer;
  s, r1: String;
  tmp2: TStringList;
begin
  tmp2 := TStringList.Create;
  tmp2.LoadFromFile('zodynas.txt');
  Ress := tmp2.Count;
  Label2.Caption := IntToStr(Ress);
 
  Randomize;
  a := random(Ress);
  Label4.Caption := IntToStr(a);
 
  s := tmp2.Strings[a];
  label6.Caption:=s;
  tmp2.Free;
 
  ilgis := length(s);
  label8.Caption:=IntToStr(ilgis);
 
  for i := 0 to High(imgList) do
    imgList[i].Visible := False;
 
  Label10.Caption := s[1]; // isskirti pirma zodzio raide:
  Label12.Caption := s[2]; // isskirti antra zodzio raide:
 
  for i := 1 to Length(s) do begin
    r1 := s[i];
    for km := 1 to 32 do
      if ss[km] = r1 then
        ImageList1.GetBitmap(km, imgList[i-1].Picture.Bitmap);
  end;
 
  for i := 0 to High(imgList) do
    imgList[i].Visible := i < ilgis;
end;
 
end.
а далее, выбор буквы курсором. для начало - как наводиться на букву курсор - картинка изменяет как то вид и при нажатии - изменённый вид фиксируется. при повторном нажатии - восстанавливается прежняя картинка

Добавлено через 1 минуту
как понимаю на картинку или место картинки нужно привязать событие events mouse click - On mouse move?
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
25.12.2020, 16:59
Цитата Сообщение от rolandas Посмотреть сообщение
здорого все укороченное,
Кстати, можно убрать строки 99-100, видимость картинок потом настраивается:
Delphi
1
2
  for i := 0 to High(imgList) do
    imgList[i].Visible := False;
Добавлено через 40 минут
Цитата Сообщение от rolandas Посмотреть сообщение
а далее, выбор буквы курсором.
А что ещё надо будет делать? Просто сейчас уже надо менять модель работы программы. Если неудачно поменять, то потом ещё раз придётся менять, или приделывать костыли.

Вот выбрали букву, и что с ней потом делать?

Добавлено через 3 минуты
Так, если убрать строки 99-100, то буквы потом часть не обновляется. Не надо убирать.
0
 Аватар для rolandas
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
25.12.2020, 17:05  [ТС]
Цитата Сообщение от AzAtom Посмотреть сообщение
и что с ней потом делать?
по идее игры - должен крутиться цикл проверки слов - при каждом новом нажатии на букву - создаем текущее слово
и проверяем, есть ли оно в том же самом текстовом файле. при обнаружении совпадения, то слово и высвечивается в
самой форме в виде простой строки.
конечно, проверки на повторяемость, визуальный счетчик отгаданных слов и кнопка ввода слова, хотя лучше
постоянная проверка без конопки.. вот такие аладушки с варением
но пока просто оформление функционала - читаю про регионы - может и так можно - выделить под все 16 мест
букв по региону и сделать их активными для изменения вида обычной буквы - наведенной мышью - помеченной -
я тому и сделал три виды букв картинок.
0
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
26.12.2020, 16:05
rolandas, какая версия Delphi?
0
 Аватар для rolandas
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
27.12.2020, 02:44  [ТС]
Цитата Сообщение от AzAtom Посмотреть сообщение
какая версия Delphi?
Delphi 7.2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.12.2020, 02:44

Как присвоить атрибуту name значение с jquery
вот такой код пока получился: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot;&gt; &lt;title&gt; sait &lt;/title&gt; ...

Как передать атрибуту значение в виде JS кода?
Добрый день, уважаемые форумчане! Прошу прощения за немного дилетантский вопрос, но всё же: Есть конструкция, которая открывает...

Как задать условие, если Image->visiable=true
как задать условие если Image-&gt;visiable=true; а то я делаю не получается?

Как назначить значение атрибуту "Selected", не используя XAML?
Привет! И TreeView есть свои элементы, так называемые TreeViewItem, у которых есть свои атрибуты для настройки отображения. Таким...

Как задать PREVIEW_IMG при стиле background-image: url( )
Добрый день! Изменяю шаблон компонента bitrix:eshop.catalog.top . В верстке фоновая картинка товара задается в виде: &lt;div...


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

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru