powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / (?) chenge picture in dw
25 сообщений из 29, страница 1 из 2
(?) chenge picture in dw
    #32872822
drw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drw
Гость
Здрасте,

Такой вопрос:
как в dw сделать вместо поля картинку, если напимер поле равно 0 - то один значёк, если 1 - то другой... Пробовал вставлять объект picture, но программно поменять имя выводимого файла, через (dw_1.object.p_1.picturename = "D:\dw_pic1.bmp") не получается. Ошибка (Error accessing external object...). Надо вот, чтоб как на скрепке, первая колонка (@) Как такое придумать?

Заранее благодарен за ответ!
Дима.
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32872883
Alexander Kolotinets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант можно вставить две разные картинки и играться свойством visible в зависимости от условий
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32872920
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
покопай в сторону computed field функция bitmap
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32872932
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опиши структуру таблицы и укажи, какой сервер
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32872940
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hint: Display As Picture
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32873101
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать computed field с выражением типа
Код: plaintext
bitmap(if (field =  1 ,"1.bmp","0.bmp"))
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32873216
drw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
drw
Гость
Локшин МаркСоздать computed field с выражением типа
Код: plaintext
bitmap(if (field =  1 ,"1.bmp","0.bmp"))

Именно то что нужно! Спасибо!

Всем огромное спасибо!!! за помощь...
Дима.
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32873420
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркСоздать computed field с выражением типа
Код: plaintext
bitmap(if (field =  1 ,"1.bmp","0.bmp"))

Как пральна подметил г-н PL99 - Hint: Display As Picture, так что зачем лишнего строить, неясно...
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32873809
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппКак пральна подметил г-н PL99 - Hint: Display As Picture, так что зачем лишнего строить, неясно...
А где лишнее? Как говорится, тоже самое, вид сбоку. Только еще почему-то SQL запрос должен знать об именах картинок, что весьма не очевидно (что он должен знать).
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32875788
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк ФилиппКак пральна подметил г-н PL99 - Hint: Display As Picture, так что зачем лишнего строить, неясно...
А где лишнее? Как говорится, тоже самое, вид сбоку. Только еще почему-то SQL запрос должен знать об именах картинок, что весьма не очевидно (что он должен знать).

Это ж простите за каким хреном SQL запрос должен знать об именах картинок?
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32875826
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Филипп & Локшин Марк
Не стоит ссориться по таким пустякам :-))
Вопрос о том, должен ли сервер знать об именах картинок я для себя решил положительно - их знает соответствующая серверная функция приложения.

Возможно, что Марк руководствуется другими соображениями - имеет полное право :-)

Спасибо.

Приложение: Реализация для Oracle
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE OR REPLACE FUNCTION GetPictureName (FieldValue number) RETURN varchar2 IS
lv_Ret varchar2( 4000 );
BEGIN
	if FieldValue =  0  then
		lv_Ret:='First.bmp';
	elsif FieldValue =  1  then
		lv_Ret:='Second.bmp';
	elsif FieldValue = ... then
	...
	else
		lv_Ret:='Unknown.bmp';
	end if;
   RETURN lv_Ret;
   EXCEPTION
     WHEN NO_DATA_FOUND THEN
       return 'Error.bmp';
     WHEN OTHERS THEN
       RAISE;
END GetPictureName;

Запрос для DW
Код: plaintext
Select GetPictureName(MyField) Picture, OthersFields FROM MyTable;

Для поля Picture в DW установлен флажок Display As Picture.

Для ASA аналогично :-)
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32875834
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
bitmap(if (field =  1 ,"1.bmp","0.bmp"))

против

Код: plaintext
1.
CREATE OR REPLACE FUNCTION GetPictureName (FieldValue number) RETURN varchar2 IS
... еще два десятка строк ...

и кто "понастроил лишнего" ?

IMHO, сервер не должен зависеть от приложения. обратное - неверно.
Что должен знать сервер о способе представления данных? НИ-ЧЕ-ГО!
Вы бы еще сами картинки в блобы запихнули и само клиентское приложение заодно
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32875840
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрей
Код: plaintext
bitmap(if (field =  1 ,"1.bmp","0.bmp"))

против

Код: plaintext
1.
CREATE OR REPLACE FUNCTION GetPictureName (FieldValue number) RETURN varchar2 IS
... еще два десятка строк ...

и кто "понастроил лишнего" ?


Под лишним я подразумевал именно client side compute, и ничего больше.
Делается это следующим образом:
1) Как пральна подметил г-н PL99, для поля - field ставим галочку в Display As Picture
2) Идём в Edit Styles поля field, выбираем DropDownListBox
3) Заполняем Code Table (для непонятливых, в колонку Display Value пишутся имена bmpшек)
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32876399
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп1) Как пральна подметил г-н PL99, для поля - field ставим галочку в Display As Picture
2) Идём в Edit Styles поля field, выбираем DropDownListBox
3) Заполняем Code Table (для непонятливых, в колонку Display Value пишутся имена bmpшек)
1. Можно конечно, но лично меня бы использование 2) и 3) несколько бы запутало, если бы я такое встретил в DataWindow.
2. В вашем случае тогда "лишним" получается client side column. Может, конечно, оно и несколько быстрее будет работать через такую таблицу перекодировок, но это выглядит менее естественным. И по количеству объектов в DataWindow, выходит, мы ничего не проигрываем.
3. Насколько удобно из программы менять содержимое DDLB?
4. Вариант с computed field обеспечивает большую функциональность. Например можно обеспечить вывод различных картинок на 1 и последней строке в странице.
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32876405
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрейIMHO, сервер не должен зависеть от приложения. обратное - неверно.Согласен, но с оговорками :-)
offtop
Приложение - это не только (и не столько) одна или несколько клиентских программ. Приложение - это реализация как клиентской, так и серверной части, т.е.,типы данных, хранимые процедуры, пакеты, материализованные представления и прочее. Мультиплатформенные приложения давно уже не делал, так что мои приложения зависят от сервера :-(

ЗоринАндрейЧто должен знать сервер о способе представления данных? НИ-ЧЕ-ГО!
Вы бы еще сами картинки в блобы запихнули и само клиентское приложение заодно Тоже вариант :-)).Открою страшную тайну - синтаксис DW именно там и хранится, если по каким-то причинам его нельзя/сложно/нецелесообразно формировать динамически.
end offtop
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32876423
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк3. Насколько удобно из программы менять содержимое DDLB?Для меня удобнее всего решить эти проблемы на сервере - функция, возвращающая имя картинки, тривиальна, позволяет обращаться к справочникам, сопровождение приложения сводится к написанию и распространению (выполнению) скрипта.

Думаю, что все эти рассуждения автору темы неинтересны, иначе он по другому сформулировал бы свой вопрос :-) А посему, предлагаю тему закрыть.
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32877759
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99функция, возвращающая имя картинки, тривиальна
2010 год.
PL99 давно работает в Microsoft.
Клиента переписывают на VSharp 2011.
Программист видит что от сервера пришла строка 'picture_1.bmp'
тихо матерится и пишет что-то вроде
IF (column1 = 'picture_1.bmp') { PageXXX.ShowImage("StatusOne") }


З.Ы. Можно закрывать.
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32878043
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк Филипп1) Как пральна подметил г-н PL99, для поля - field ставим галочку в Display As Picture
2) Идём в Edit Styles поля field, выбираем DropDownListBox
3) Заполняем Code Table (для непонятливых, в колонку Display Value пишутся имена bmpшек)
1. Можно конечно, но лично меня бы использование 2) и 3) несколько бы запутало, если бы я такое встретил в DataWindow.
2. В вашем случае тогда "лишним" получается client side column. Может, конечно, оно и несколько быстрее будет работать через такую таблицу перекодировок, но это выглядит менее естественным. И по количеству объектов в DataWindow, выходит, мы ничего не проигрываем.
3. Насколько удобно из программы менять содержимое DDLB?
4. Вариант с computed field обеспечивает большую функциональность. Например можно обеспечить вывод различных картинок на 1 и последней строке в странице.

-Это что же это за "лишняя" client side column? Она ж так или иначе в SQL запросе...
-2) и 3) - это САМЫЙ распространённый и общепринятый метод, я с ним знаком уже лет 9, РВ101 так сказать...
-Удобно из программы менять содержимое DDLB ровно настолько насколько удобно менять computed field expression
-computed field expression написан на колонку из SQL запроса, и 2) и 3) написано на колонку из SQL запроса, поэтому меня несколько клинит понять почему вариант с computed field обеспечивает большую функциональность...
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32878078
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это САМЫЙ распространённый и общепринятый метод ... который я вижу первый раз за десять лет.
Кто-нибудь из присутствующих видел когда-нибудь такое?
почему вариант с computed field обеспечивает большую функциональностьЗапросто.
1. Вид картинки зависит не от одного column, а от сочетания двух или трех?
2. Многие ли из здесь присуствующих знают как в Code Table записать значение NULL в качестве data value ?

А вообще - пофиг по большому счету. Оба метода одинаковы по всем параметрам. Каждый выбирает для себя.
Мне больше нравится compute.
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32878083
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрей это САМЫЙ распространённый и общепринятый метод ... который я вижу первый раз за десять лет.
Кто-нибудь из присутствующих видел когда-нибудь такое?
почему вариант с computed field обеспечивает большую функциональностьЗапросто.
1. Вид картинки зависит не от одного column, а от сочетания двух или трех?
2. Многие ли из здесь присуствующих знают как в Code Table записать значение NULL в качестве data value ?

А вообще - пофиг по большому счету. Оба метода одинаковы по всем параметрам. Каждый выбирает для себя.
Мне больше нравится compute.

1. Вопрос был про ОДНО поле :-)
2. А его не надо

А теперь по секрету расскажу почему мне больше нравится мой вариант (в случае зависимости от одного поля) :-)
Когда я делал Web порт под EAS/EAF, то выснилось, что в HTMLDatawindow computes с картинками ведут себя гораздо хуже и котролировать их сложнее, зато такие DDLB работают на ура...
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32878099
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрей это САМЫЙ распространённый и общепринятый метод ... который я вижу первый раз за десять лет.
Кто-нибудь из присутствующих видел когда-нибудь такое?

По-моему первый раз я увидел это тут:
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32878186
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрей PL99функция, возвращающая имя картинки, тривиальна
2010 год.
PL99 давно работает в Microsoft.
Клиента переписывают на VSharp 2011.
Программист видит что от сервера пришла строка 'picture_1.bmp'
тихо матерится и пишет что-то вроде
IF (column1 = 'picture_1.bmp') { PageXXX.ShowImage("StatusOne") }


З.Ы. Можно закрывать.Раз всем так понравилось тут тусоваться, позволю себе спросить - а если может VSharp 2011 сможет отобразить картинку так
Код: plaintext
PageXXX.ShowImage(column1) ;
, то, вероятно, у программиста не будет повода материться?
И чем, простите, это хуже случая, когда программист не будет материться, но все равно напишет
Код: plaintext
IF (column1 =  1 ) { PageXXX.ShowImage("StatusOne") }
:-))
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32878189
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппА теперь по секрету расскажу почему мне больше нравится мой вариант (в случае зависимости от одного поля) :-)
Когда я делал Web порт под EAS/EAF, то выснилось, что в HTMLDatawindow computes с картинками ведут себя гораздо хуже и котролировать их сложнее, зато такие DDLB работают на ура...А я тут больше на Oracle заточен, у него свои предпочтения по организации Web-интерфейса :-)
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32878407
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп-Это что же это за "лишняя" client side column? Она ж так или иначе в SQL запросе...
Филипп, надеюсь вы понимаете, что данные для этой колонки из result set SQL
запроса и объект column для визуализации этих данных в DataWindow, которому сопоставляются данные из этой колонки не одно и тоже?
Филипппоэтому меня несколько клинит понять почему вариант с computed field обеспечивает большую функциональность...Дополнительное условие: для первой и последней строки на странице должны отображаться иные картинки, например...
...
Рейтинг: 0 / 0
(?) chenge picture in dw
    #32878654
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк...Дополнительное условие: для первой и последней строки на странице должны отображаться иные картинки, например...IMHO, неудачный пример. Не странице, которая выводится на печать? Или на той строке DW, ниже которой отображается Footer? Не стоит умножать сущностей без необходимости (С) :-)
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / (?) chenge picture in dw
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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