Страница 1 из 1

Поменять picture элементу STRING

Добавлено: 17 Декабрь 2007, 18:36
AnDS
Вот динамически создал create:string
PROP:Use сделал, пишу:

feq{prop:text}=pictvalue

естественно, на экране вместо текста переменной с форматом pictvalue само значение pictvalue

а вот как динамически формат менять?

Добавлено: 17 Декабрь 2007, 18:59
OVV
Может оператор FORMAT спасет?

Добавлено: 17 Декабрь 2007, 19:10
AnDS
OVV писал(а):Может оператор FORMAT спасет?
Не, ты понимаешь, FORMAT - это хорошо, но у меня USE-переменная у STRING прописана. Хочется, что бы при изменении переменной, значение на экране менялось автоматически, а не через PROP:TEXT

Добавлено: 18 Декабрь 2007, 0:17
Admin
А по чему оно должно меняться? По моему ты сам его ДОЛЖЕН менять...
А вот то что тебе хотелось я понял. Как и сказали, юзай FORMAT

Добавлено: 18 Декабрь 2007, 8:59
AnDS
Admin писал(а):А по чему оно должно меняться? По моему ты сам его ДОЛЖЕН менять...
потому, что должно.
я меняю значение переменной, а display отображает это изменение на экране.
Вот:

Код: Выделить всё

             STRING(@s60),AT(145,47,165,10),USE(loc:JQ:ActionName),TRN,FONT(,,COLOR:Blue,,CHARSET:ANSI), #ORIG(?String3)
При изменении loc:JQ:ActionName, эти изменения отображаются автоматически (ну, display(?loc:JQ:ActionName) надо использовать например)
Admin писал(а): А вот то что тебе хотелось я понял. Как и сказали, юзай FORMAT
Какой формат? Я хочу поменять @s60 на @s100, например.
Или вообще на @N020
Само значение формата хранится в переменной типа STRING
?loc:JQ:ActionName{prop:text}=formatstring

Ну, может ты имеешь ввиду prop:format? Так этот проп вроде для List используется?

Мне кажется, что мы друг-друга не понимаем. :-(

Добавлено: 18 Декабрь 2007, 9:57
Admin
Может и я туплю... х.з.
Вот так попробовал - все работает.

Код: Выделить всё

               PROGRAM
               MAP
               END

LOC:Format     STRING(10)
LOC:String     STRING(100)
DIN:String     EQUATE(10)

Window WINDOW('Caption'),AT(,,191,122),FONT('MS Sans Serif',8,,FONT:regular),CENTER,GRAY,DOUBLE
       ENTRY(@s100),AT(69,18,47,11),USE(LOC:Format)
       BUTTON('Change format'),AT(47,84,97,14),USE(?Button1)
     END

  CODE
  LOC:Format = '@S10'
  OPEN(Window)
  CREATE(DIN:String,CREATE:ENTRY)
  SETPOSITION(DIN:String,27,38,137,12)
  (DIN:String){PROP:Text} = '@S2'
  (DIN:String){PROP:Use}  = LOC:String
  (DIN:String){PROP:Hide} = FALSE
  ACCEPT
    CASE ACCEPTED()
    OF ?Button1
      DIN:String{PROP:Text} = LOC:Format
    END
  END
  MESSAGE(LOC:String)
  CLOSE(Window)

Добавлено: 18 Декабрь 2007, 10:06
ru_alex
Для создания таких строк нужно юзать CREATE:sstring а не CREATE:string по-моему.

Добавлено: 18 Декабрь 2007, 16:06
AnDS
Спасибо. Действительно SSTRING