Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Таблица с помощью цикла (http://www.flasher.ru/forum/showthread.php?t=96011)

slava444 21.05.2007 17:55

Таблица с помощью цикла
 
Можно ли в следующем коде динамически изменять имя текстового поля, например text_txt, text1_txt, чтобы загнать его в цикл?

Код:

_root.createTextField("text_txt",0,0,0,200,50);
чтобы цикл выглядел примерно следующим образом:

Код:

var i:Number;
var j:Number;
i=0;
j=0;
while (i<4){
        i++;
        _root.createTextField("text_txt",0,0,0,200,50);
        text_txt.type="input";
        text_txt._x=0+j;
        j=200+text_txt._x;
}


etc 21.05.2007 18:03

Код:

var i:Number;
var j:Number;
i=0;
j=0;
while (i<4){
        i++;
        var txt = _root.createTextField("text_txt"+i,0,0,0,200,50);
        txt.type="input";
        txt._x=0+j;
        j=200+txt._x;
}


slava444 21.05.2007 18:30

Спасибо. Но у меня работает только если немного изменть один параметр (0 заменить на i);

Код:

var i:Number;
var j:Number;
i=0;
j=0;
while (i<4){
        i++;
        var txt = _root.createTextField("text_txt"+i,i,0,0,200,50);
        txt.border = true;
        txt.type="input";
        txt._x=0+j;
        j=200+txt._x;
}

Нельзя ли на основании такого метода сделать таблицу, например 4 на 7?

etc 21.05.2007 18:36

Можно. Поможет оператор «%».

slava444 21.05.2007 19:07

Как может помочь оператор "%" не догнал :( Пришлось сделать по-другому. Главное, что всё работает как надо.

Код:

var i:Number;
var j:Number;
var n:Number;
var m:Number;
var k:Number;
i=0;
n=0;
k=0;
while (i<4){
        i++;
        j=0;
        m=0;
        while (j<7){
        j++;
        n++;
        var txt = _root.createTextField("text_txt"+n,n,k,0,200,50);
        txt.border = true;
                txt.type="input";
        txt._y=0+m;
        m=50+txt._y;               
        }
        k=k+200;
}
}


slava444 21.05.2007 19:22

Проблема: не могу обратиться к текстовому полю по имени. Если после цикла попытаться прописать следующий код, то первая ячейка всё равно остаётся пустой :(

Код:

text_txt1.text="просто текст";

etc 21.05.2007 19:34

Код:

var i:Number;
var j:Number;
var n:Number;
var m:Number;
var k:Number;
i = 0;
n = 0;
k = 0;
while (i < 4) {
        i++;
        j = 0;
        m = 0;
        while (j < 7) {
                j++;
                n++;
                var txt = _root.createTextField("text_txt" + n, n, k, 0, 200, 50);
                txt.border = true;
                txt.type = "input";
                txt._y = 0 + m;
                m = 50 + txt._y;
        }
        k = k + 200;
}
text_txt1.text="просто текст";

Работает.

Kikasso 21.05.2007 19:39

Цитата:

Сообщение от slava444
Как может помочь оператор "%" не догнал :(

Код:

for(var i = 0; i < 20; i++){
 trace( i % 5);       
}


slava444 21.05.2007 19:53

Пасиба, всё работает. Последний вопрос: как задать в цикле формат текста таблицы (цвет, шрифт и т.д.)?

etc 21.05.2007 19:58

setTextFormat/setNewTextFormat у TextField.


Часовой пояс GMT +4, время: 04:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.