powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / можно ли в цикле обратиться к элементам управления
45 сообщений из 45, показаны все 2 страниц
можно ли в цикле обратиться к элементам управления
    #34027676
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! Меня интересует следующий вопрос: у меня на форме есть Pageframe? в нем 3 страницы, на каждой странице порядка 30 элементов управления(textbox,combobox).Чтобы запоминать их значения, я напрямую обращаюсь к каждому из них
sd11=thisform.pageframe1.page1.sd1.value
sd22=thisform.pageframe1.page1.sd2.value
sd33=thisform.pageframe1.page1.sd3.value

ms11=thisform.pageframe1.page1.ms1.value
ms22=thisform.pageframe1.page1.ms2.value
ms33=thisform.pageframe1.page1.ms3.value
mo11=thisform.pageframe1.page1.mo1.value
mo22=thisform.pageframe1.page1.mo2.value
mo33=thisform.pageframe1.page1.mo3.value
mv11=thisform.pageframe1.page1.mv1.value
mv22=thisform.pageframe1.page1.mv2.value
mv33=thisform.pageframe1.page1.mv3.value

sv11s2=thisform.pageframe1.page2.sv1.value
sv22s2=thisform.pageframe1.page2.sv2.value
sv33s2=thisform.pageframe1.page2.sv3.value
mv11s2=thisform.pageframe1.page2.mv1.value
mv22s2=thisform.pageframe1.page2.mv2.value
mv33s2=thisform.pageframe1.page2.mv3.value
pv11s2=thisform.pageframe1.page2.pv1.value
pv22s2=thisform.pageframe1.page2.pv2.value
pv33s2=thisform.pageframe1.page2.pv3.value

sv11s3=thisform.pageframe1.page3.sv1.value
sv22s3=thisform.pageframe1.page3.sv2.value
sv33s3=thisform.pageframe1.page3.sv3.value
mv11s3=thisform.pageframe1.page3.mv1.value
mv22s3=thisform.pageframe1.page3.mv2.value
mv33s3=thisform.pageframe1.page3.mv3.value

Можно ли это дело как-нибудь организовать более проще, например в цикле или как-еще?
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027687
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
зачем их запоминать??

есть буферизация
oldval
curval
getfldstate


да, и кто учил так именовать
переменные и контролы?
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027695
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У кого-то такое было, а я учусь сама и поэтому по-другому не знаю, можно поподробнее?!
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027702
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подробнее если напишите зачем Вам это?

можно и пейджи в цикле фор ичь перебрать, но
Вы вначале объясните зачем Вам запоминать значения??
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027704
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрела oldval,currval , но это работа с таблицей, а мне надо запоминать значения ,которые на форме, чтобы вписать их в таблицу
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027708
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что вы потом с этими значениями делаете ?
Если это стандартная буфферизация, то используйте oldval/newval .
А если это своя "хитрая" буферизация - то может быть стоит получить список объектов через amembers и запихать значения в 2-х мерный массив , в котором 1 колонка имя объекта , а вторая его значение
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027716
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделайте поиск по слову "буферизация" на этом сайте.
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027719
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о пока читал-писал появились новые посты.
Если вам нужно значения контролов потом в таблицу писать , то привяжите эти контролы к полям и всех делов-то (смотрите свойства ControlSource RecordSource). Все само и пропишеться
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027722
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор мне надо запоминать значения ,которые на форме, чтобы вписать их в таблицу

а берете их откуда???
зачем запоминаете

контролы нужно привязать к источникам
и почитать про буферизацию

почитайте про Венгерскую нотацию
(Ваше именование контролов - это УЖОС)
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027745
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про CONTROLSOURSE я знаю, но прежде чем их запомнить в поле таблицы, надо контролировать значения, а потом только, если они удовлетворяют моим условиям занести в таблицу
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027765
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прежде, чем привязать контролы к полям, мне нжно их проконтролировать на определенные условия
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027784
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПрежде, чем привязать контролы к полям, мне нжно их проконтролировать на определенные условия

Вы наверное не понимаете, что Вам объясняют,
или упорно не желаете понять

контролы привязывают когда они взлетают,
а изменения уже контролируют
и перед апдейтом


буферизация Вам даст возможность
сохранить или несохранить изменения
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027790
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для проверок есть Valid самих контролов - это для простых проверок.
И значения по умолчанию для "обязательных" полей.

Вам как я понимаю нужно проверить "набор" значений перед сохранением
Думаю что вам поможет Буферизация + проверка перед сохранением на самой форме.
т.е. примерно так
Буф.таблица - контролы привязаны к полям
на кнопке SAVE
Код: plaintext
1.
2.
3.
4.
5.
if thisform.is_data_ok() 
 tableupdate()
else
 messagebox('Учите албанский- и заполняйте поля правильно')
endif
метод is_data_ok() проводит проверку полей таблицы , а не переменных.

Конечно есть еще триггера и правила , но поскольку вы только начинаете, пока туда лазить не стоит.
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027831
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где вписать текст условия, например, такого,что если сумма времени=8, то занести в таблицу изменения?

if thisform.is_data_ok() Это ниже писать текст?
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027859
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовала так и не получается, вот что пишет
PROPETY IS_DATA_OK() IS NOT FOUND()
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027866
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
высылайте сюда формочку, табличку и напишите, что Вы
желаете получить

ну просто нет времени рисовать что-то
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027907
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите, пожалуйста, вот эта формочка и таблица, в которую надо все занести
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027915
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то не получается выслать, вроде прикрепила файл, если нет , то скажите куда выслать
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027920
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то не получается выслать, вроде прикрепила файл, если нет , то скажите куда выслать
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027927
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня файл >70 КБ
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027937
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
метод is_data_ok() - это ваш метод - вы должны его создать и в нем написать код
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34027947
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите, пожалуйста, мою форму
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028020
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуйста, посмотрите, мою формочку, я уже в панике, ничег не понимаю
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028489
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите поподробнее про метод is_data_ok, я его добавила но не работает,
выдает ошибку Function requires row or table buffering
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028512
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100, вы не посмотрели мою формочку? Мне очень надо понять как это делается
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028544
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я посмотрел

и в тихом УЖОСе
Вы изв., но мой мозг это понять просто отказывается

1. такое именование контролов и переменных
я отказываюсь понимать.
2. зачем изобретать велосипед
и из тектбоксов городить подобие грида?
3.зачем избыточность контролов?

нет уж.
это Вы сделали и вам этот крест нести ....

на самом деле делается все оч.просто,
поднимается буферизованная форма с гридами и релейшинами
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028574
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так сделала, потому что по-другому не могу, я только начинаю, подскажите как можно сделать это по-другому, я так начала, т.к. у кого-то видела подобное
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028575
Jura.K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну раз Вам так хочется в цикле то можно вот так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
LOCAL lnCountPage, lnCtrlCount, i, lcName 
FOR m.lnCountPage= 1  TO thisform.pageframe1.PageCount 
	lnCtrlCount = thisform.Pageframe1.Pages(m.lnCountPage).ControlCount
	FOR i =  1  TO m.lnCtrlCount
		IF ATC(thisform.Pageframe1.Pages(m.lnCountPage).Controls[m.i].BaseClass,'TextBox,EditBox,ComboBox')# 0 
			m.lcName=thisform.Pageframe1.Pages(m.lnCountPage).Controls[m.i].Name
			m.lcName=m.lcName+RIGHT(m.lcName, 1 )+IIF(m.lnCountPage> 1 ,'S'+LTRIM(STR(m.lnCountPage)),'')
			IF ATC(thisform.Pageframe1.Pages(m.lnCountPage).Controls[m.i].BaseClass,'ComboBox')# 0 
				&lcName = thisform.Pageframe1.Pages(m.lnCountPage).Controls[m.i].Value
			ELSE 
				&lcName = thisform.Pageframe1.Pages(m.lnCountPage).Controls[m.i].DisplayValue
			ENDIF 	
		ENDIF 	
	ENDFOR 
ENDFOR 
Хотя так писать все же не рекомендуется
Ну думаю Вам сейчас надо быстрее реализовать так как у Вас было написано, а потом уже причесывать и переделывать
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028584
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да мне НЕ ХОЧЕТСЯ вцикле, я хочу сделать это правильно, как надо но не могу. Вышлите мне пример, пожалуйста!
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028595
Jura.K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да если нужно, могу пояснить каждую строку кода для чего и что делает
У Вас действительно интересно переменные именуются
на первой странице
sd11
на второй
sv11s2
на третей
sv11s3
поэтому и пишу

Код: plaintext
1.
m.lcName=thisform.Pageframe1.Pages(m.lnCountPage).Controls[m.i].Name
m.lcName=m.lcName+RIGHT(m.lcName, 1 )+IIF(m.lnCountPage> 1 ,'S'+LTRIM(STR(m.lnCountPage)),'')
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028607
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как это с помощью буферизации это можно сделать? вы можете подсказать?
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028655
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028703
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100, СПАСИБО, но Вы можете взять за основу мою формочку и в ней все прописать
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028712
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет, изв., спасибо, но я не мазохист
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028726
Jura.K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElaaА как это с помощью буферизации это можно сделать? вы можете подсказать?

alex11100 подсказал
или нужно по другому без использования классов, а обычным DO FORM
Можно и так тогда можно будет сформировать форму
с приватным сеансом данных DataSession=2
в среду данных добавить Вашу табличку
определить для нее BufferModeOverride=5
и делать INSERT или APPEND BLANK
редактировать добавленную в буффер запись
после этого производить проверку если нужно отменять вставку TABLEREVERT(.T.)
или сохранять TABLEUPDATE(.T.)
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028730
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но не на все элементы, а на один хотя бы Textbox, другое удалите
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028791
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ув Elaa
не примите за грубость или за "пальцекручение" но Вам сначала нужно все-таки взять где-то книгу по фоксу и почитать.
Посмотрите примеры , которые идут с фоксом .
Потому как посмотрев на вашу форму , понял что скорее всего вы не имеете никакого опыта в программировании пользовательских интерфейсов (причем ни на каком языке).
Объяснять тут - не то чтобы не хочеться - просто не хватит времени этого сделать. Ведь придется с нуля рассказывать.
Что касаеться конкретной формочки - доделайте как уже есть, только вынесите кнопки выход, и дублируюшиеся контролы на форму, оставив на вкладках только те , которые "отвечают за смену".
Jura.K - подсказал как сделать перебор в цикле.
А насчет как правильно - правильно все переделать.
1. Если возможно - сделать таблицу буфферизированной, если нет -пользуйтесь Scatter/Gather - для организации своего буфера
2. Для показа списка работ - пользуйтесь гридом
3. Все "общие реквизиты" - выносите на форму, на вкладках должны быть только данные по конкретной смене
3. называйте переменные и поля как-то информативно - про Венгерскую нотацию вам уже писали
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34028965
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По пунктам:

-) Создаешь новую форму

-) Пункт системного меню View - DataEnvironment

-) Откроется окно DataEnvironment формы и автоматически откроется список с предложением указать таблицы, которые будут источником данных для объектов формы. Если такого списка не появилось, то правой кнопкой мыши по пустому месту окна DataEnvironment и выбрать пункт меню "Add"

-) После того, как все необходимые таблицы-источники будут добавлены в DataEnvironment формы щелкаешь правой клавишей мыши по заголовку каждой таблицы в DataEnvironment и выбираешь пункт Properties. В открывшемся окне Properties переходишь на закладку "Data" и устнавливаешь нужное значение свойства BufferModeOverride - это режим буферизации

-) Не закрывая окно DataEnvironment щелкаешь левой клавишей мыши на нужное поле таблицы и не отпуская ее "тащишь" на форму. Как только отпустишь клавишу мыши на форме будет создан соответсвующий объект ассоциированный с данным типом данных. В нем уже будут прописаны все необходимые настройки.

PS: любые книги надо читать с осторожностью. "Не все ... одинаково полезны"
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34030398
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! Вчера попробовала с Tableupdate, вроде получается. Теперь проблема такая: как перейти на следующую строку в таблице, ведь на форме у меня несколько, например, 3 Textbox-ов, и изменения фиксируются только на текущей позиции в таблице, а мне надо, чтобы все 3 значения Textbox-ов
сели в таблицу
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34030415
Jura.K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам нужно пересмотреть подход к формированию формы ввода
т.е. либо для каждой записи вызывать окно ввода отдельно,
либо использовать Grid, что при Вашем подходе к форме ввода будет наиболее приемлемым.
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34030437
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите, пожалуйста, элементарную формочку и напишите пример, если можно
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34030438
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34030453
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для каждой записи вызывать окно ввода отдельноМожно поподробнее
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34030463
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. мне надо, чтобы послетого, как занесли обновления на первую запись, встать наследующую, обновить вторую и встать на следующую и т.д. Но у меня курсор всегда на первой записи таблицы и обновляется только она. Как я поняла Tableupdate используется тогда, когда на форме только к ControlSourse привязан только один, напр., Textbox?, да?
...
Рейтинг: 0 / 0
можно ли в цикле обратиться к элементам управления
    #34030584
Elaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(ControlSourse в них не поля, а приравненные им переменные)

Поясните , пожалуйста, эту фразу
...
Рейтинг: 0 / 0
45 сообщений из 45, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / можно ли в цикле обратиться к элементам управления
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]