Автор | Сообщение |
|
| постоянный участник
|
Пост N: 3589
Зарегистрирован: 12.09.06
|
|
Отправлено: 23.08.14 22:00. Заголовок: Как создать код блока из статик переменной ?
Вот сижу и не могу сделать вроде простую вещь. Имеются две статик переменных, в которые передаю разные поля базы, например для бд CITY: cStPole_Kod := "KCITY" cStPole_Name := "CITY" А в обработке, нужно получить кодоблок из этих переменных: AADD(aColorUsl, { { || cStPole_Kod == 0 } , "12/2" } ) AADD(aColorUsl, { { || LEN(cStPole_Name) == 0 }, "12/3" } ) Помогите пожалуйста.
|
|
|
Ответов - 4
[только новые]
|
|
|
| |
Пост N: 106
Зарегистрирован: 21.04.13
|
|
Отправлено: 24.08.14 06:21. Заголовок: кодоблок
Цитата: { || cStPole_Kod == 0 } Что-то не так.. это же ( "KCITY" == 0 ), то есть сравнение разных типов - строка и число Может, нужно вычислить { || &cStPole_Kod == 0 } ? Тогда можно { || FieldGet(Fieldnum(cStPole_Kod)) == 0 } если в переменной - точно имя поля , а не любое значение Или добавить две новые функции доступа к этим переменным Function cStPole_Kod() return &cStPole_Kod Function cStPole_Name() return &cStPole_Name тогда блок будет { || cStPole_Kod() == 0 }
|
|
|
|
| постоянный участник
|
Пост N: 3591
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.08.14 20:02. Заголовок: petr707 пишет: Что-..
petr707 пишет: цитата: | Что-то не так.. это же ( "KCITY" == 0 ), то есть сравнение разных типов - строка и число |
| Мне нужно сделать { || KCITY == 0 } ! petr707 пишет: цитата: | Может, нужно вычислить { || &cStPole_Kod == 0 } ? |
| При такой макроподстановке - идет ошибка: Harbour 3.2.0dev (r1406261642) Copyright (c) 1999-2014, http://harbour-project.org/ Sel_DimHmg.prg(909) Error E0047 Code block contains both macro and declared symbol references 'CSTPOLE_KOD' Sel_DimHmg.prg(909) Error E0042 Macro of declared symbol '{ || &cStPole_Kod == 0 }' Sel_DimHmg.prg(910) Error E0047 Code block contains both macro and declared symbol references 'CSTPOLE_NAME' Sel_DimHmg.prg(910) Error E0042 Macro of declared symbol '{ || LEN(&cStPole_Name) == 0 }'
|
|
|
|
| |
Пост N: 107
Зарегистрирован: 21.04.13
|
|
Отправлено: 24.08.14 20:31. Заголовок: В том и дело, что дл..
В том и дело, что для типа Static переменной, вроде как, нельзя использовать &cStPole_Kod в блоке кода нужно - или Fieldget(.. - или функции - или { || &(cStPole_Kod) == 0 } - или cStPole_Kod объявить как Public
|
|
|
|
| постоянный участник
|
Пост N: 3593
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.08.14 21:10. Заголовок: petr707 пишет: { ..
petr707 пишет: цитата: | { || &(cStPole_Kod) == 0 } |
| Спасибо БОЛЬШОЕ ! Заработало как статик: { || &(cStPole_Kod) == 0 } { || LEN(ALLTRIM(&(cStPole_Name))) == 0 }
|
|
|
|