Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Работа с переменной (http://forum.oszone.net/showthread.php?t=193548)

drovosek 10-12-2010 07:48 1562344

Работа с переменной
 
Всем привет. Помагите пожалуйста. Вопрос тупой.
У меня 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 в скобки какие то поставить или ченить другое сделать.

Lilsun 10-12-2010 09:02 1562370

Что то не очень понятно что нужно сделать.

Можно менять "random`но"
Если я понял правильно то вам нужно сделать так:

If то что нам нужно then
Выполняем действие
Else
Выполняем другое действие;

Можно и так:
If то что нам нужно then
begin
тут действие
//Тут можно писать несколько действий.
end
Else
тут действие;

И так:
If то что нам нужно then
if действие then
тут второе действие
esle
действие;

Как то как. Если что то не понял то напишите по лучше,помогу.

Если нужно сделать что то типа анимации можно таймером менять.
Вот,посмотрите тут

pva 10-12-2010 09:28 1562381

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 1562772

pva, спсибо, я не знал что можно массив из картинок сделать. Думал только из числе и текста можно.

pva 11-12-2010 11:05 1563156

drovosek, Массив (в делфи) можно сделать из всего, что:
  1. копируется (клонируется, счётчики ссылок)
  2. создаётся конструктором без параметров (либо имеет значение nil)
В делфи все классы управляются указателями, а для них вышеперечисленное справедливо.
чтобы массив стал "хозяином" своего содержимого, требуется чтобы содержимое умело саморазрушаться, т.е. был бы описан деструктор


Время: 15:46.

Время: 15:46.
© OSzone.net 2001-