|
|
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
Уважаемые все! Помогите новичку разобраться - есть datawindow с именем layout1, на ней есть картинка с именем pict2. Кроме того, имеется глобальная функция f_path, которая ищет в базе путь к каталогу, где лежат картинки, она принимает аргумент типа picture, а затем меняет у него PictureName. Больше нет ничего, ни окон, ни event'ов, ни прочего кода. Вопрос такой: каким образом передать из layout1 имя картинки в функцию, для того, чтобы поменять путь, откуда она будет подтянута (если через computedfield, то как написать для него аргумент?)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 13:01 |
|
||
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
Ничего не понял? Может это про чтение свойств через Describe("pict.xxx") и изменение Modify("pict1.xxx=xxx")? Зорин А. "I love deadlines. I like the whooshing sound they make as they fly by." -- Douglas Adams ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 13:12 |
|
||
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
MidnightGuestБольше нет ничего, ни окон, ни event'ов, ни прочего кода. Пожалуйста, поясните Ваш вопрос. Я не понимаю, как можно передать что-либо функции в таких условиях. А что есть - DW в painter? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 13:40 |
|
||
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
Имеются некие Datawindow, являющиеся шаблонами для пользователей, в которые пользователи вводят свои данные (через некое приложение). Т.е. эти DW только DWObject, как я понимаю, т.е. они не привязаны к окнам, а просто цепляются как DW. Пользователи хотят, чтобы в этих шаблонах отображались рисунки их технологических схем. Рисунки должны браться из папки установки основной программы, причем заранее неизвестно, куда была установлена эта папка (путь можно достать из базы). То есть для нормального отображения рисунков на DW надо менять свойство рисунков picturename. При этом все делается в рамках этих DW, основное приложение в этом не участвует. Максимум, что можно - довесить какие-то глобальные функции. Как решить головоломку, не знаю :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 14:16 |
|
||
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
Computed field с expression Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 14:54 |
|
||
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
Локшин МаркComputed field с expression Код: plaintext to MignightGuest Если в базе лежит путь к папке с файлом картинки, то s в примере должно быть поле в DW, содержащее этот путь. Если же в базе только путь к папке, то вместо s лучше использовать глобальную функцию, которая найдет файл вернет его имя. Еще можно использовать picture control, установливая в нем свойство PictureName ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 15:17 |
|
||
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
Глобальные функции в DW лучше не использовать. НИКОГДА. Это вам кажется что она выполнится один раз, а вместо этого функция будет искать искать и искать путь на каждый чих включая скроллинг. Меняйте значение column, меняйте expression у compute используя Modify, но использования глобальных функций старайтесь избегать. По поводу исходного вопроса - если там у вас битпап то <DW Control Name>.Modify("<BitMapname>.Filename='<filename (with path) containing bmp (i.e., c:\test\fish.bmp)>'") - если там column то свойство Display as Picture - если compute то bitmap (s) подймайте - картнкой может быть не только bitmap, но и column, и compute - выбирайте что удобнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 18:57 |
|
||
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
2 ЗоринАндрей обратите внимание на: MidnightGuestПри этом все делается в рамках этих DW, основное приложение в этом не участвует. Максимум, что можно - довесить какие-то глобальные функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 19:16 |
|
||
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
ну то есть кроме как сделать compute с выражением bitmap( f_path(...) + 'picturename.bmp') ничего сделать нельзя? только функция должна ничего не принимать и менять, а просто возвращать путь. Приспособить функцию которая меняет свойство picturename у объекта picture не удастся никак. ибо picture control и datawindow это разные вещи - ничего общего. Так что менять то надо сам подход. Почему f_path должна работать именно с picture control? надо разделить собственно две функции - определение пути, и модификация свойства, не так ли? Поскольку там где для picture надо поменять свойство picturename, для datawindow ничего не надо менять, или поменять значение column, или поменять свойство filename у bitmap внутри dw. Марк, МиднайтГесту который спрашивает как приспособить функцию заточенную под picture к datawindow лаконичный совет Локшин МаркComputed field с expression Код: plaintext не даст ничего. Тут надо как то доходчиво объяснить как оно работает в dw. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 20:27 |
|
||
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
Пусть автор покажет код функции f_path(...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 20:29 |
|
||
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
2 ЗоринАндрей обратите внимание на: MidnightGuestРисунки должны браться из папки установки основной программы, причем заранее неизвестно, куда была установлена эта папка (путь можно достать из базы) ЗоринАндрейне даст ничего. Тут надо как то доходчиво объяснить как оно работает в dw. Небольшая медитация над TFM в предложенном направлении должна дать положительный результат :) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2005, 13:34 |
|
||
|
как передать из Datawindow?
|
|||
|---|---|---|---|
|
#18+
DataWindondow and Picture control on it. The best way: Set Dumy Picture location in the picture contol, find pass to real location and Picture name. After get DataWindow syntex, replace bipmap with location and Picture name and recreate DataWindow with new syntes. Exsample:(short version) String ls_file_name, ls_new_syntex ls_new_syntex = dw_1.Object.DataWindow.Syntex ls_new_syntex = Replace ('dumy name',1,Len('dumy name'),ls_file_name) dw_1.Create(ls_new_syntex) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 02:29 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=33414718&tid=1337980]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 379ms |

| 0 / 0 |
