Показать полную графическую версию : [решено] Работа с переменной
drovosek
10-12-2010, 07:48
Всем привет. Помагите пожалуйста. Вопрос тупой.
У меня 5 картинок. У каждой имя (b1,b2,b3,b4,b5). Есть массив a[1..5] Мне надо менять у них атрибут по условию, я пишу цикл
for i:=1 to 5 do begin if a[i]=yslovie then begin b{тут надо что бы переменная стала (b"i") тоесть либо b1,b2......}.Visible:=false; end; end;
сли я напишу bi то получается он ищет картинку bi, а мне надо чтобы он вместо i подставлял значение из цикла. Вроде понятно объяснил.
Тут видать надо i в скобки какие то поставить или ченить другое сделать.
Что то не очень понятно что нужно сделать.
Можно менять "random`но"
Если я понял правильно то вам нужно сделать так:
If то что нам нужно then
Выполняем действие
Else
Выполняем другое действие;
Можно и так:
If то что нам нужно then
begin
тут действие
//Тут можно писать несколько действий.
end
Else
тут действие;
И так:
If то что нам нужно then
if действие then
тут второе действие
esle
действие;
Как то как. Если что то не понял то напишите по лучше,помогу.
Если нужно сделать что то типа анимации можно таймером менять.
Вот,посмотрите тут (http://www.delphisources.ru/pages/faq/faq_delphi_basics/Case.php.html)
drovosek, учись изъясняться. Можно свернуть в такую форму:
var
b_refs : array[1..5] of TPicture;
i: integer;
begin
b_refs[1] := b1;
b_refs[2] := b2;
b_refs[3] := b3;
b_refs[4] := b4;
b_refs[5] := b5;
for i:=1 to 5 do
begin
if condition_match(a[i]) then b[i].Visible := false;
end
end
А лучше вообще всё хранить не в b1..b5, а в массиве аналогично b_refs. Я исходил из предположения что элементы массива a не приводятся к TPicture (иначе можно было бы пользоваться a).
мне не хватает HTML-ного тега <var>, чтобы отделять имена переменных от обычного текста :(
drovosek
10-12-2010, 17:57
pva, спсибо, я не знал что можно массив из картинок сделать. Думал только из числе и текста можно.
drovosek, Массив (в делфи) можно сделать из всего, что:
копируется (клонируется, счётчики ссылок)
создаётся конструктором без параметров (либо имеет значение nil)
В делфи все классы управляются указателями, а для них вышеперечисленное справедливо.
чтобы массив стал "хозяином" своего содержимого, требуется чтобы содержимое умело саморазрушаться, т.е. был бы описан деструктор
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.