VB-Script
На страницу Пред. 1, 2
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Ноя 13, 2014 11:12   |
|
Полезность: Нет оценки
|
wolfio пишет: |
ваш вариант вроде прост и легок, но почему то не работает:
|
а мой пробовал (пост выше) ? |
|
 |
wolfio Участник - экстремал
Вступление в Клуб: 22.10.2012
|
Чт Ноя 13, 2014 11:15   |
|
Полезность: Нет оценки
|
vtar пишет: | wolfio пишет: |
ваш вариант вроде прост и легок, но почему то не работает:
|
а мой пробовал (пост выше) ? |
да, я ж написал. с конца отвечаю просто |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Ноя 13, 2014 11:18   |
|
Полезность: Нет оценки
|
ты про вариант Alex294 а я вот про это
vtar пишет: | Попробуй протестить вот это
и напиши, что не так
Код: |
Public Function Main(LastControl)
if LastControl is Nothing then
For Each Ctrl in Form1.Controls
if ucase(mid(ctrl.validateName,1,1)) = "F" then
Ctrl.Caption = Ctrl.ValidateName & "@test@"
end if
Next
else
msgbox LastControl.ValidateName
end if
Main = true
End Function
|
|
|
|
 |
wolfio Участник - экстремал
Вступление в Клуб: 22.10.2012
|
Чт Ноя 13, 2014 11:24   |
|
Полезность: Нет оценки
|
vtar пишет: | ты про вариант Alex294 а я вот про это
vtar пишет: | Попробуй протестить вот это
и напиши, что не так
Код: |
Public Function Main(LastControl)
if LastControl is Nothing then
For Each Ctrl in Form1.Controls
if ucase(mid(ctrl.validateName,1,1)) = "F" then
Ctrl.Caption = Ctrl.ValidateName & "@test@"
end if
Next
else
msgbox LastControl.ValidateName
end if
Main = true
End Function
|
|
|
да я ж написал, что его проверил.
этот вариант работает, но при поднятии формы, он на всех контролах сразу проставляет "@test@", а при нажатии на кнопку выдает сообщение, чего мне как раз не нужно.
мне надо зацепиться именно на имя контрола.
по идее, если основной исполняемый блок перенести в else, то вариант получится приближенный к боевым условиям. однако, выйдет так, что я нажму на 1 кнопку, а замена текста произойдет циклом на всех двухстах.
изначально цикл я задумывал с условием where x = p_info, т.е. чтобы он сработал только 1 раз для одного обрабатываемого контрола |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Ноя 13, 2014 11:25   |
|
Полезность: Нет оценки
|
wolfio пишет: | vtar пишет: | Попробуй протестить вот это
и напиши, что не так
|
ваш вариант работает, но при поднятии формы, он на всех контролах сразу проставляет "@test@", чего мне как раз не нужно.
мне надо зацепиться именно на имя контрола |
напиши, как должно быть . При щелчке по любому контролу
проставлять только на тех, кого зовут с "F" ? |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Ноя 13, 2014 11:28   |
|
Полезность: 1
|
А так?
Код: |
Public Function Main(LastControl)
if LastControl is Nothing then
else
if ucase(mid(LastControl.validateName,1,1)) = "F" then
LastControl.Caption = LastControl.ValidateName
end if
end if
Main = true
End Function
|
|
|
 |
wolfio Участник - экстремал
Вступление в Клуб: 22.10.2012
|
Чт Ноя 13, 2014 11:32   |
|
Полезность: Нет оценки
|
vtar пишет: | А так?
Код: |
Public Function Main(LastControl)
if LastControl is Nothing then
else
if ucase(mid(LastControl.validateName,1,1)) = "F" then
LastControl.Caption = LastControl.ValidateName
end if
end if
Main = true
End Function
|
|
то что надо! спс ))
нужно было надписи обновлять только на том контроле, который кликаю )
видимо стоило об этом написать отдельно)) |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|