Опять про дерево
Модераторы: m0p3e, edward_K, Модераторы
Ну не получается выделить цветом, хоть тресни
CONST
#include galnet.csc
cmMarkUnMark = 2243;
cmSelectAll = 2244;
cmUnSelectAll = 2245;
cmInvertAll = 2247;
ColorMark = 58;
end;
interface cuptree '__Построение дерева' cyan, doaccept;
create view
var
curowner: comp;
gr_nrec: comp;
gr_code, gr_name: string;
as select catalogs.name, catalogs.code
from catalogs, pick, catalogs catalogs2
where ((curowner == catalogs.cparent and
catalogs.nrec == catalogs2.cparent
))
order by catalogs.code;
create view tp
select * from pick where((101==pick.wlist));
! я так понимаю, что сама могу заполнять таблицу Pick по своему
! усмотрению
parameters
gr_nrec;
tree b1 (,,sci1EnInsTree);
fields
catalogs.name: [50], { Font = { Color = if ( IsValid (tnPick), ColorMark, 0) }}, noprotect;
catalogs.code: [10], noprotect;
end;
handleevent
cmInit:
{ curowner:=gr_nrec;
}
cmDefault:
{ gr_nrec := catalogs.nrec;
gr_code := catalogs.code;
gr_name := catalogs.name;
message('default')
}
cmTreeOpenNode:
{ }
cmTreeCloseNode:
{ }
cmTreeNodeType:
{ if isvalidall(tncatalogs2)
then TreeSetNodeType(b1, if(TreeNodeIsOpen(b1), ntfopen, ntfclose))
else TreeSetNodeType(b1, ntftext);
}
cmTreeTop: curowner :=gr_nrec;
cmTreeDown: curowner:=catalogs.nrec;
cmTreeUp: curowner:=catalogs.cparent;
cmMarkUnMark:
{ message(catalogs.name);
insert pick set crec:=curowner, wlist:=101;
};
cmCancel: {};
cmDone: {};
end;
end.
CONST
#include galnet.csc
cmMarkUnMark = 2243;
cmSelectAll = 2244;
cmUnSelectAll = 2245;
cmInvertAll = 2247;
ColorMark = 58;
end;
interface cuptree '__Построение дерева' cyan, doaccept;
create view
var
curowner: comp;
gr_nrec: comp;
gr_code, gr_name: string;
as select catalogs.name, catalogs.code
from catalogs, pick, catalogs catalogs2
where ((curowner == catalogs.cparent and
catalogs.nrec == catalogs2.cparent
))
order by catalogs.code;
create view tp
select * from pick where((101==pick.wlist));
! я так понимаю, что сама могу заполнять таблицу Pick по своему
! усмотрению
parameters
gr_nrec;
tree b1 (,,sci1EnInsTree);
fields
catalogs.name: [50], { Font = { Color = if ( IsValid (tnPick), ColorMark, 0) }}, noprotect;
catalogs.code: [10], noprotect;
end;
handleevent
cmInit:
{ curowner:=gr_nrec;
}
cmDefault:
{ gr_nrec := catalogs.nrec;
gr_code := catalogs.code;
gr_name := catalogs.name;
message('default')
}
cmTreeOpenNode:
{ }
cmTreeCloseNode:
{ }
cmTreeNodeType:
{ if isvalidall(tncatalogs2)
then TreeSetNodeType(b1, if(TreeNodeIsOpen(b1), ntfopen, ntfclose))
else TreeSetNodeType(b1, ntftext);
}
cmTreeTop: curowner :=gr_nrec;
cmTreeDown: curowner:=catalogs.nrec;
cmTreeUp: curowner:=catalogs.cparent;
cmMarkUnMark:
{ message(catalogs.name);
insert pick set crec:=curowner, wlist:=101;
};
cmCancel: {};
cmDone: {};
end;
end.
Кто сказал, что бесполезно биться головой об стену?!
глухо, как в танке(((
............
as select catalogs.name, catalogs.code
from catalogs, pick, catalogs catalogs2
where ((curowner == catalogs.cparent and catalogs.nrec == catalogs2.cparent
and catalogs.nrec == pick.crec and 101 == pick.wlist
))
order by catalogs.code;
......
cmMarkUnMark:
{ message(catalogs.name);
insert pick set crec:=catalogs.nrec, wlist:=101;
redrawpanel(b1);
};
.....
Запись в Pick не вставляет, вероятно поэтому и не перекрашивает запись.
Вернее вставляет, но почему-то только тогда, когда я выхожу из Гал-ки. Смотрю через Суппорт. Находясь в дереве, нажимаю Insert, ничего не происходит, но стоит выйти из Галки, как в таблице появляются нужные записи.
А еще мне не очень понятен здесь термин "валидность таблицы".
............
as select catalogs.name, catalogs.code
from catalogs, pick, catalogs catalogs2
where ((curowner == catalogs.cparent and catalogs.nrec == catalogs2.cparent
and catalogs.nrec == pick.crec and 101 == pick.wlist
))
order by catalogs.code;
......
cmMarkUnMark:
{ message(catalogs.name);
insert pick set crec:=catalogs.nrec, wlist:=101;
redrawpanel(b1);
};
.....
Запись в Pick не вставляет, вероятно поэтому и не перекрашивает запись.
Вернее вставляет, но почему-то только тогда, когда я выхожу из Гал-ки. Смотрю через Суппорт. Находясь в дереве, нажимаю Insert, ничего не происходит, но стоит выйти из Галки, как в таблице появляются нужные записи.
А еще мне не очень понятен здесь термин "валидность таблицы".
Кто сказал, что бесполезно биться головой об стену?!
В суппорте ты видишь добавленую запись только восле выхода, т.к. pick таблица аля user. т.е. для каждого юзера своя и живет в DATA/TMP/USER.
А еще мне не очень понятен здесь термин "валидность таблицы".
Валидна т.е. запись в pick с данными ограничениями существует.
insert pick set crec:=catalogs.nrec, wlist:=101;
Я бы посоветовал все же писать полные пути. Всякое бывает.
insert pick set pick.crec:=catalogs.nrec, pick.wlist:=101;
Укажи корневую таблицу:
tree b1 (,,sci1EnInsTree);
Table Catalogs;
fields
{ Font = { Color = if ( IsValid (tnPick), ColorMark, 0) }}
catalogs.name: [50], noprotect;
catalogs.code: [10], noprotect;
end;
Здесь лучше так:
cmMarkUnMark:
{
insert pick set pick.crec:=catalogs.nrec, pick.wlist:=101;
rescanpanel(#catalogs);
};
А еще мне не очень понятен здесь термин "валидность таблицы".
Валидна т.е. запись в pick с данными ограничениями существует.
insert pick set crec:=catalogs.nrec, wlist:=101;
Я бы посоветовал все же писать полные пути. Всякое бывает.
insert pick set pick.crec:=catalogs.nrec, pick.wlist:=101;
Укажи корневую таблицу:
tree b1 (,,sci1EnInsTree);
Table Catalogs;
fields
{ Font = { Color = if ( IsValid (tnPick), ColorMark, 0) }}
catalogs.name: [50], noprotect;
catalogs.code: [10], noprotect;
end;
Здесь лучше так:
cmMarkUnMark:
{
insert pick set pick.crec:=catalogs.nrec, pick.wlist:=101;
rescanpanel(#catalogs);
};
-
- Местный житель
- Сообщения: 474
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Сибирь-матушка
- Контактная информация:
А нормальный маркер, хранимый в DSK почему не хотите пробовать ?
Кстати , а rescanpanel уже стал на дереве работать ?
С какой версии атлантиса ? Странно просто, на 3.03.19 только treejumptorecord() обновлял прорисовку дерева и пометки ...
Кстати , а rescanpanel уже стал на дереве работать ?
С какой версии атлантиса ? Странно просто, на 3.03.19 только treejumptorecord() обновлял прорисовку дерева и пометки ...
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
А может, и правда не работает rescanpanel?
Записи в pick вставляются, но картинка не обновляется, я не вижу изменения цвета шрифта(((
А с маркером я просто еще не умею работать
Может, с маркером и легче, но не знаю как.
Учусь, можно сказать, на этом форуме, спасибо ему.
Записи в pick вставляются, но картинка не обновляется, я не вижу изменения цвета шрифта(((
А с маркером я просто еще не умею работать
Может, с маркером и легче, но не знаю как.
Учусь, можно сказать, на этом форуме, спасибо ему.
Кто сказал, что бесполезно биться головой об стену?!
-
- Местный житель
- Сообщения: 474
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Сибирь-матушка
- Контактная информация:
Вот по этому я и спросил про маркеры...
Записи физически в таблице pick появляются в текущей сессии или после ее окончания и завершения работы Галактики ? После, когда кэш по завершении скидывается ...
А с маркерами, в общем так :
1) объявляем глобальную переменную во view типа longint (идентификатор маркера)
2) в cmInit инициализируем объявленную переменную InitMarker'ом
3) переписываем обращения при пометке, проверке наличия пометки уже к маркеру, а не таблице, через InvertMarker и SearchMarker соответственно.
4) после работы в cmDone гасим маркер DoneMarker'ом
Дока по VIP есть ? Там указанные функции прописаны
Записи физически в таблице pick появляются в текущей сессии или после ее окончания и завершения работы Галактики ? После, когда кэш по завершении скидывается ...
А с маркерами, в общем так :
1) объявляем глобальную переменную во view типа longint (идентификатор маркера)
2) в cmInit инициализируем объявленную переменную InitMarker'ом
3) переписываем обращения при пометке, проверке наличия пометки уже к маркеру, а не таблице, через InvertMarker и SearchMarker соответственно.
4) после работы в cmDone гасим маркер DoneMarker'ом
Дока по VIP есть ? Там указанные функции прописаны
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
А ларчик просто открывался
Спасибо за науку маркерах! Но дело все оказалось в том, что системный синий имеет код не 58, как мне подсказывали, а 13. Стоило исправить, как выделение заработало. Так что можно и маркеры использовать, и таблицу Pick, и так, и так работает!
Спасибо за науку маркерах! Но дело все оказалось в том, что системный синий имеет код не 58, как мне подсказывали, а 13. Стоило исправить, как выделение заработало. Так что можно и маркеры использовать, и таблицу Pick, и так, и так работает!
Кто сказал, что бесполезно биться головой об стену?!
-
- Местный житель
- Сообщения: 474
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Сибирь-матушка
- Контактная информация:
А еще лучше - с цветом не извращаться, а делать жирный шрифт
т.е. вместо
{ Font = { Color = if ( IsValid (tnPick), ColorMark, 0) }}
писать
{ Font = { Bold = IsValid (tnPick) }}
т.е. вместо
{ Font = { Color = if ( IsValid (tnPick), ColorMark, 0) }}
писать
{ Font = { Bold = IsValid (tnPick) }}
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Я, собственно, так и сделала, именно это меня и натолкнуло на мысль, что я просто использовала неверный код цвета.
Но мне в голову не приходило, что константы цветов могут меняться от версии к версии...
Спасибо большое за помощь!
Мне интересно, на курсах по VIP учат этим премудростям? Есть смысл туда ехать учиться или нет? Пока что учусь только на этом форуме
Но мне в голову не приходило, что константы цветов могут меняться от версии к версии...
Спасибо большое за помощь!
Мне интересно, на курсах по VIP учат этим премудростям? Есть смысл туда ехать учиться или нет? Пока что учусь только на этом форуме
Кто сказал, что бесполезно биться головой об стену?!
-
- Местный житель
- Сообщения: 474
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Сибирь-матушка
- Контактная информация:
Не помню, учили или нет , я три года назад ездил просто устаканить уже имеющиеся знания. Обучался по большому счету здесь и у парней с Минска из Топ-Софт консультировался иногда(за что им поклон низкий)
В доке это все описано, vipprogr.pdf, комплект документации должен идти с дистрибутивом. Раздел "Визуальные элементы (GUI)" ->"Интерфейс пользователя"->"Описание элементов ввода"->"Атрибуты поля"
P.S. А вот про обновление дерева только TreeJumpToRecord'ом узнал только на курсах, в доках не было этого
В доке это все описано, vipprogr.pdf, комплект документации должен идти с дистрибутивом. Раздел "Визуальные элементы (GUI)" ->"Интерфейс пользователя"->"Описание элементов ввода"->"Атрибуты поля"
P.S. А вот про обновление дерева только TreeJumpToRecord'ом узнал только на курсах, в доках не было этого
Последний раз редактировалось Goblin 20 дек 2006, 11:58, всего редактировалось 1 раз.
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Да я вот и учусь по доке да на форуме, но по доке учиться тяжело, примеров там не много, да и описано далеко не все. Иногда быстрее на форуме узнать, не всегда временем располагешь для экспериментов... Вот и думаю, не съездить ли поучиться, узнаю ли я там что-то новое, не хочется там зазря штаны просиживать.
На курсы по зарплате когда-то ездила, но сказать, что узнала там что-то, чего не знала, не могу(((
На курсы по зарплате когда-то ездила, но сказать, что узнала там что-то, чего не знала, не могу(((
Кто сказал, что бесполезно биться головой об стену?!