powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / DW expression
11 сообщений из 11, страница 1 из 1
DW expression
    #34297336
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Windows XP, PB10.2
Есть строка-которая в отладчике видна сл.образом-
ls = "CASE(sn_status when 8 then "excl.bmp" when 3 then "fn2000.bmp" when 1 then "fn2004.bmp" when 9 then "info.bmp" else "empty.bmp")"
внутренние кавычки сформированы как ~"
которую хочу присвоить dw.object.comp_field.expression = ls
постоянно дает ошибку-неверный синтаксис в позиции 57.

Присвоение данной строки руками в дизайнере работает прекрасно.
ЧТо хочу - в зависимости от номера sn_status получать разные картинки в строке, кот представлены именами файлов.

Что надо изменить в этой строке?
...
Рейтинг: 0 / 0
DW expression
    #34297369
craftyman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
саму ls тоже надо обернуть в кавычки, т.е.
Код: plaintext
dw.object.comp_field.expression = ' "CASE(sn_status when 8 then "excl.bmp" when 3 then "fn2000.bmp" when 1 then "fn2004.bmp" when 9 then "info.bmp" else "empty.bmp")" '
...
Рейтинг: 0 / 0
DW expression
    #34297383
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
craftymanсаму ls тоже надо обернуть в кавычки, т.е.
Код: plaintext
dw.object.comp_field.expression = ' "CASE(sn_status when 8 then "excl.bmp" when 3 then "fn2000.bmp" when 1 then "fn2004.bmp" when 9 then "info.bmp" else "empty.bmp")" '

Добавил в строку апострофы - та же ощибка - сместилась точка -неверный синтаксис - уже в 60 позиции.
Может апострофы надо добавлять как то похитрому?
...
Рейтинг: 0 / 0
DW expression
    #34297417
craftyman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sboyko craftymanсаму ls тоже надо обернуть в кавычки, т.е.
Код: plaintext
dw.object.comp_field.expression = ' "CASE(sn_status when 8 then "excl.bmp" when 3 then "fn2000.bmp" when 1 then "fn2004.bmp" when 9 then "info.bmp" else "empty.bmp")" '

Добавил в строку апострофы - та же ощибка - сместилась точка -неверный синтаксис - уже в 60 позиции.
Может апострофы надо добавлять как то похитрому?

а если так?
Код: plaintext
dw.object.comp_field.expression = ' "CASE(  qty when 8 then ~"excl.bmp~" when 3 then ~"fn2000.bmp~" when 1 then ~"fn2004.bmp~" when 9 then ~"info.bmp~" else ~"empty.bmp~")" '
...
Рейтинг: 0 / 0
DW expression
    #34297425
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
craftyman sboyko craftymanсаму ls тоже надо обернуть в кавычки, т.е.
Код: plaintext
dw.object.comp_field.expression = ' "CASE(sn_status when 8 then "excl.bmp" when 3 then "fn2000.bmp" when 1 then "fn2004.bmp" when 9 then "info.bmp" else "empty.bmp")" '

Добавил в строку апострофы - та же ощибка - сместилась точка -неверный синтаксис - уже в 60 позиции.
Может апострофы надо добавлять как то похитрому?

а если так?
Код: plaintext
dw.object.comp_field.expression = ' "CASE(  qty when 8 then ~"excl.bmp~" when 3 then ~"fn2000.bmp~" when 1 then ~"fn2004.bmp~" when 9 then ~"info.bmp~" else ~"empty.bmp~")" '

Именно так все и формировалось в строку в цикле.
Но отладчик тильды уже не показывает. Потом обернул строку в 2 апострофа. Проблема в том что ф-ция BITMAP не желает иметь апострофы в передаваемой строке-типа bitmap('empty.bmp')? хочет только двойные кавычки.
...
Рейтинг: 0 / 0
DW expression
    #34297429
craftyman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понял, где bitmap?
...
Рейтинг: 0 / 0
DW expression
    #34297432
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это выражение записывается в expression computed field, вычисляется в строке и в зависимости от статуса имеем одно имя файла, которое и показывается битмапом.
...
Рейтинг: 0 / 0
DW expression
    #34297435
craftyman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так, или я опять не правильно понял?
функцию битмап используете в этом же компутедфилде?

Код: plaintext
dw.object.comp_field.expression = ' [color=blue]BITMAP[/color] (CASE(  qty when 8 then ~"excl.bmp~" when 3 then ~"fn2000.bmp~" when 1 then ~"fn2004.bmp~" when 9 then ~"info.bmp~" else ~"empty.bmp~")) '
...
Рейтинг: 0 / 0
DW expression
    #34297438
craftyman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
craftymanтак, или я опять не правильно понял?
функцию битмап используете в этом же компутедфилде?

Код: plaintext
dw.object.comp_field.expression = ' [color=blue]BITMAP[/color] (CASE(  qty when 8 then ~"excl.bmp~" when 3 then ~"fn2000.bmp~" when 1 then ~"fn2004.bmp~" when 9 then ~"info.bmp~" else ~"empty.bmp~")) '


блин, точнее без тэгов

Код: plaintext
dw.object.comp_field.expression = ' BITMAP (CASE(  qty when 8 then ~"excl.bmp~" when 3 then ~"fn2000.bmp~" when 1 then ~"fn2004.bmp~" when 9 then ~"info.bmp~" else ~"empty.bmp~"))'
...
Рейтинг: 0 / 0
DW expression
    #34297439
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал снова имена файлов в апострофах - bitmap взял их. Попытаюсь пойти этим путем.
...
Рейтинг: 0 / 0
DW expression
    #34297451
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С апострофами прошло.
Большое спасибо за помощь!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / DW expression
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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