| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Имена элементов формы в циклах |
| Автор: VirusE 26.5.2005, 09:48 |
| Есть несколько групп элементов, имена их отличаются последней цифрой например: группа i ai, bi, ci группа 2 aj, bj, cj группа 3 ak, bk, ck в реале количество групп и их состав больше (8 групп по 16 элементов). данные от элементов формы нужно занести в таблицу можно ли задать цикл например: from x=1 to k cells(n,(c*(x-1)+1)=ax cells(n,(c*(x-1)+2)=bx cells(n,(c*(x-1)+3)=cx next в принципе загвоздка состоит в том, как задать имя элемента формы в цикле в каждом цикле текстовая часть постоянна, а цифра меняется. |
| Автор: ChofCh 26.5.2005, 10:10 |
| Есть такая полезная вещь, как массив элементов управления. Бросаешь на форму, к примеру, текстовое поле Text1, и потом приписываешь ему какое-нибудь свойство Index. IDE автоматически предлагает создать массив эл. управления, если скопировать контрол, а потом вставить его на ту же форму. |
| Автор: Akina 26.5.2005, 10:18 | ||
У контрола есть свойство "Index" изначально. Просто оно не имеет значения по причине отсутствия управляющего массива. Если ему вручную задать значение (скажем ноль) - IDE тут же предложит создать управляющий массив. Примечания: 1) Управляющий массив - всегда одномерный. При наличии нескольких групп контролов у каждой группы будет свой массив. 2) Значения его - динамические, начиная с нуля. 3) Созданный для контрола управляющий массив удалить нельзя - придется удалить все контролы этого массива и создать их заново. |
| Автор: Naghual 26.5.2005, 10:19 | ||||
Тогда как понимать фразу
Поясни |
| Автор: VirusE 26.5.2005, 11:00 |
| в редакторе создается форма, которая в экселе появляется при нажатии соответствующей клавиши в форму введены элементы: Рage, Lable, TextBoxs, ComboBox и тп. каждый элемент имеет свое имя (по умолчанию название элемента и номер), у меня несколько идеентичных Page (вкладка) их названия отличаются (Caption), а имена (name) отличаются лишь номером, на каждой странице одинаковый набор элементов, отличие имен в цифре в конце например Page_1(name), Даты 1(cafption) - page на вкладке data_a_1(name) - TextBox data_b_1(name) - TextBox data_c_1(name) - TextBox data_d_1(name) - TextBox nal_1(name) - CheckBox Page_2(name), Даты 2(cafption) - page на вкладке data_a_2(name) - TextBox data_b_2(name) - TextBox data_c_2(name) - TextBox data_d_2(name) - TextBox nal_2(name) - CheckBox и так далее Добавлено @ 11:06 ai,bi,.....ck - значения элементов например a1=data_a_1.Value |
| Автор: Naghual 26.5.2005, 11:29 |
| Тогда тебе таки проще будет переделать все под массив элементов и обращатся к ним через индексы. |
| Автор: VirusE 26.5.2005, 12:00 |
| да ладно уже все сделал, только макрос длиннющий получился (хотел сократить за счет цикла), а пределывать времени нет |
| Автор: Mephisto 27.5.2005, 06:17 | ||||
| Вот прикольный примерчик, можешь пограть с ним. Есть еще прикольная функция TypeOf
Вот соб-сна пример:
|