Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Глобальные объекты Хелп ми / 16 сообщений из 16, страница 1 из 1
21.05.2008, 10:53
    #35325341
quorus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
Вообще такая дилемма для начинащих. Есть приложение, 2 библиотеки назовем их
1. general --Общая
2. advanced --дополнительная

в общей библиотеки есть
w_client_list
dw_client_list (dw_cl)
в этой датавинде есть поле date_start

в дополнительной
w_main
dw_calendar (dw_1)
ue_datechanged for dw_1
при смене даты происходит вот это st_date.text = "Date: " + string(getDate()),
! st_date - текстовое поле в dw_calendar
а мне нужно когда происходит это событие значение "Date: " + string(getDate()) подставлялось в общую библиотеку в dw_client_list в поле date_start никак не могу их связать! В пределах одного pbl всё корректно работает а вот таким вот образом это сделать не могу ибо не знаю как. Помогите плиз.
...
Рейтинг: 0 / 0
21.05.2008, 11:00
    #35325360
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
Если все pblи подключены, то не имеет никакого значения, в каком из них находится другое окно.
...
Рейтинг: 0 / 0
21.05.2008, 11:23
    #35325397
Sashuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
Глобальными объектами вообще пользоваться не рекомендовано, часто происходит что-то не предвиденное, как всегда есть решение - передавайте параметры или же функции, как Вам будет угодно, через классы.
...
Рейтинг: 0 / 0
21.05.2008, 11:46
    #35325485
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
Расшифруйте что значит "подставлялось в общую библиотеку в dw_client_list в поле date_start"
...
Рейтинг: 0 / 0
21.05.2008, 12:15
    #35325611
quorus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
чтобы в поле date_start ставилось значение
...
Рейтинг: 0 / 0
21.05.2008, 12:16
    #35325612
quorus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
SashukГлобальными объектами вообще пользоваться не рекомендовано, часто происходит что-то не предвиденное, как всегда есть решение - передавайте параметры или же функции, как Вам будет угодно, через классы.
А вы не могли бы привесмти пожалуйста пример я новенький в Билдере :)
...
Рейтинг: 0 / 0
21.05.2008, 12:58
    #35325762
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
Опишите, в какой последовательности открываются эти два окна, в какой момент должно присваиваться измененное в одном окне значение даты в поле, находящееся в другом окне.
...
Рейтинг: 0 / 0
21.05.2008, 13:06
    #35325784
quorus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
Anatoly MoskovskyОпишите, в какой последовательности открываются эти два окна, в какой момент должно присваиваться измененное в одном окне значение даты в поле, находящееся в другом окне.

Хорошо, я приведу немного другой пример всё знают поля для ввода даты например EditMask dd.mm.yyyy так вот чтобы вручную не вводить дату я сделал модификацию к программе рядом с этим полем есть иконка календарика при клике на нее открывется форма календарика где можно визуально выбрать день например 23 мая 2008 кликнуть по этому числу в календарике и он подставится в форму для ввода даты так вот есть это главное окно, и есть окно календарик. календарь открывается а дата не подставялется :(
...
Рейтинг: 0 / 0
21.05.2008, 13:18
    #35325833
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
Если я правильно понял, то просто не хватает имени окна перед полем. Т.е. в окне w_1 выбрали дату. Ее нужно всунуть в st_1 в окно w_2.
w_2 .st_1.Text = string(ld_date)
...
Рейтинг: 0 / 0
21.05.2008, 13:44
    #35325925
Sashuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
quorusА вы не могли бы привесмти пожалуйста пример я новенький в Билдере :)
Создаем CustomClass например class_, на InstanceVariables пишем переменные которые нужны для передачи, ну например String strб ставим галочку AutoInstantiate - на вкладке General. Дальше обьявляем екземпляр этого класса - class_ test, потом присваиваем нашей переменной все что хотим например - test.S = 'hello world'. А теперь самое интересное - нужно наш клас передать на другую форму вот так: openwithparm(w_newform, test). На новой форме на открытие или ... пишем, создавши и тут екземпляр этого класса - class_ pruem. А теперь читаем значения которые мы передали - pruem = message.powerobjectparm и messagebox('', pruem.s).
...
Рейтинг: 0 / 0
21.05.2008, 13:52
    #35325966
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
Создать NonVisualObject nvo_w_2_parm (параметры для окна w_2), в котором в instance var описать след. переменные:
DataWindow idw_requestor
String is_datecol

Из окна w_1 открывать w_2 через OpenWithParm и передать в него ссылку на nvo_w_2_parm в котором установить переменные,
Код: plaintext
1.
2.
3.
4.
5.
nvo_w_2_parm parm
parm = Create nvo_w_2_parm 
parm.idw_requestor = this.dw_1
parm.is_datecol = "col"
w_2 w
OpenWithParm(w, parm)
а в событии open открываемого окна извлечь ее из Message.PowerObjectParm в instance переменную типа nvo_w_2_parm и потом взять из первого окна дату и присвоить в качестве начального значения в календарь.
Код: plaintext
1.
2.
inv_parm = Message.PowerObjectParm 
of_SetDate(inv_parm.idw_requestor.GetItemDate(inv_parm.idw_requestor.GetRow(), inv_parm.is_datecol))
А при выборе даты в календаре присвоить дату обратно
Код: plaintext
1.
inv_parm.idw_requestor.SetItem(inv_parm.idw_requestor.GetRow(), inv_parm.is_datecol, of_GetDate()))
...
Рейтинг: 0 / 0
21.05.2008, 13:55
    #35325978
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
quorusХорошо, я приведу немного другой пример всё знают поля для ввода даты например EditMask dd.mm.yyyy так вот чтобы вручную не вводить дату я сделал модификацию к программе рядом с этим полем есть иконка календарика при клике на нее открывется форма календарика где можно визуально выбрать день например 23 мая 2008 кликнуть по этому числу в календарике и он подставится в форму для ввода даты так вот есть это главное окно, и есть окно календарик. календарь открывается а дата не подставялется :(
Календарик при выборе должен вернуть дату. Следующим оператором после вызова календарика (по всей видимости событие clicked на кнопке рядом с EditMask) нужно эту возвращенную дату присвоить EditMask. Ну или наоборот, передать ссылку на наш EditMask в календарик, а он уже сам установит что нужно, правда календарик должен уметь понимать EditMask.
...
Рейтинг: 0 / 0
21.05.2008, 14:29
    #35326147
quorus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
Пробовал что то совсем я чайник, надо бы литературы погрызть вообщем вот что имеем


и нужно чтобы попадала в датавинду dw_pick в окне w_client_list в библиотеке general в текстовое поле date_start никак ваще не допрет до меня правельный и логический поступок

А да, Билдер Пятый
...
Рейтинг: 0 / 0
21.05.2008, 14:32
    #35326169
quorus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
А да кстати картинка-кнопка в dw_pick называется cb_cal которая открывает календарик
...
Рейтинг: 0 / 0
22.05.2008, 11:24
    #35327817
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
Так он же в dw пытается подставить (наверное)
RTFM
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
22.05.2008, 14:08
    #35328573
quorus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобальные объекты Хелп ми
Да в датавинду я же так и говорил :-)
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Глобальные объекты Хелп ми / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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