Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
SuPeR XaKer
2844 / 1973 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
#1

Массивы элементов. Найти количество элементов управления во frame

17.01.2012, 18:53. Просмотров 981. Ответов 9
Метки нет (Все метки)

Добрый вечер. Подскажите пожалуйста как перебрать элементы управления в определённом фрейме или просто найти кол-во например текстовых полей. На форме массив фреймов. Во фреймах так же массив элементов управления.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2012, 18:53
Ответы с готовыми решениями:

Одномерные массивы: найти сумму всех элементов, кратных пяти, и их количество
Дан одномерный массив A(N). Найти сумму всех элементов кратных пяти и их...

Как создать елемент управления в Frame
Как создать елемент управления например Label так чтоби она находилас в Frame....

Массивы: Найти столбец, сумма элементов которого минимальна. Вывести сумму и номер столбца.
Всем привет! помогите решить задачку плиз Ввести массив A(N, N). Найти...

Найдите количество элементов матрицы, больших среднего арифметического всех её элементов
Дана матрица A(N, M). Найдите количество элементов этой матрицы, больших...

Найти количество четных элементов последовательности
Дана последовательность из n целых чисел. Найти количество четных элементов...

9
Апострофф
Заблокирован
17.01.2012, 20:05 #2
Примерно так можно перебрать все контролы и указать их Parent`ов
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Form_Click()
Dim c As Control
On Error Resume Next
For Each c In Controls
  Debug.Print c.Name & "(" & c.Index & "): Хозяин - " & c.Container.Name & "(" & c.Container.Index & ")"
  If Err Then
    Err.Clear: Debug.Print c.Name & "(" & c.Index & "): Хозяин - " & c.Container.Name
    If Err Then
      Err.Clear: Debug.Print c.Name & " : Хозяин - " & c.Container.Name & "(" & c.Container.Index & ")"
      If Err Then
        Err.Clear: Debug.Print c.Name & " : Хозяин - " & c.Container.Name
      End If
    End If
  End If
Next c
End Sub
Коряво, конечно, извиняйте
1
SuPeR XaKer
2844 / 1973 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
17.01.2012, 20:09  [ТС] #3
Апострофф, а если дополнительное текстовое поле создать куда записывать кол-во контролов во фрейме.Думаю это полегче будет?

Не по теме:

ато я чёто думал что можно одной строкой, видно я сильно обломался....

0
Linoge
Эксперт Hardware
2239 / 1562 / 259
Регистрация: 25.10.2011
Сообщений: 4,737
17.01.2012, 20:14 #4
Перебор по всем элементам формы - более умного не приходит
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Form_Load()
For Each object In Form1.Controls
    If InStr(1, object, "Text") <> 0 Then
        If object.Container.Name = "Frame1" Then _
        MsgBox object & " ГІГіГІ -> Frame1(" & object.Container.Index & ")"
    End If
Next
End Sub
Добавлено через 4 минуты
SuPeR XaKer,
а для чего такая задачка - количество тестовых полей формируется при загрузке формы?
так все равно можно заранее при формировании посчитать
1
SuPeR XaKer
2844 / 1973 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
17.01.2012, 20:15  [ТС] #5
vstz, да в том то и дело что я динамически их создаю. в зависимости от выбора кол-ва в комбобоксе (от 1 до 7 элементов) создаётся в каждом фрейме.
Вот думаю можно при выборе в массив кол-во ещё записывать.
0
Linoge
Эксперт Hardware
2239 / 1562 / 259
Регистрация: 25.10.2011
Сообщений: 4,737
17.01.2012, 20:18 #6
Так введи массив.
Индекс - индекс фрейма, значение - количество текстовых полей.
И заполняй при создании объектов, а когда нужно будешь по нему смотреть какие элементы есть в каком фрейме.
1
Апострофф
Заблокирован
17.01.2012, 20:19 #7
Цитата Сообщение от SuPeR XaKer Посмотреть сообщение
я динамически их создаю.
А в чём тогда проблема-создаёте и считаете одновременно?
Да и без массива можно обойтись - записывать в Frame1(i).Tag.
1
SuPeR XaKer
2844 / 1973 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
17.01.2012, 20:23  [ТС] #8
Апострофф, vstz, т.е. в массив записывать будет оптимальнее.я правильно понял?
0
Linoge
Эксперт Hardware
2239 / 1562 / 259
Регистрация: 25.10.2011
Сообщений: 4,737
17.01.2012, 20:25 #9
По крайней мере проще чем перебирать контролы и искать их предков.
1
SuPeR XaKer
2844 / 1973 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
17.01.2012, 20:30  [ТС] #10
Апострофф, vstz, благодарю за советы.
0
17.01.2012, 20:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2012, 20:30

Найти количество нулевых элементов массива
Найти количество нулевых елементов...Помогите исправить код. Option Explicit...

Определить количество удвоенных нечетных элементов среди элементов, предшествующих первому отрицательному
2. Даны натуральное число N и целые числа A1,А2,…АN. Определить количество...

Как подсчитать количество элементов ai, которые не меньше всех предыдущих элементов массива
Дан числовой массив a(n). Подсчитать количество элементов ai, которые не меньше...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru