powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / можно ли в цикле обратиться к элементам управления
20 сообщений из 45, страница 2 из 2
можно ли в цикле обратиться к элементам управления
    #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
20 сообщений из 45, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / можно ли в цикле обратиться к элементам управления
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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