маркеры
Модераторы: m0p3e, edward_K, Модераторы
маркеры
Подскажите, почему не работает маркер?
CmInit:
{
Markers := InitMarker('', 2, 20, 20);
}
cmDone:
{
DoneMarker(Markers, '');
}
cmDoMarkUnMark:
{
InvertMarker(Markers, katbank.nrec);
if ((GetNext katbank) = tsOk) {};
RescanPanel(tnkatbank); message(SearchMarker(Markers, katbank.nrec, IndexNo));
}
message пишет false
CmInit:
{
Markers := InitMarker('', 2, 20, 20);
}
cmDone:
{
DoneMarker(Markers, '');
}
cmDoMarkUnMark:
{
InvertMarker(Markers, katbank.nrec);
if ((GetNext katbank) = tsOk) {};
RescanPanel(tnkatbank); message(SearchMarker(Markers, katbank.nrec, IndexNo));
}
message пишет false
Последний раз редактировалось novichok 24 апр 2013, 15:43, всего редактировалось 1 раз.
-
- Сообщения: 13
- Зарегистрирован: 20 мар 2013, 17:41
Re: маркеры
Попробуйте cmMarkUnMark
Re: маркеры
Не помогаетKolsey Zhenya писал(а):Попробуйте cmMarkUnMark
Re: маркеры
И будет false, т.к. в момент проверки мы уже находимся на следующей записи. GetNext он такой.
Re: маркеры
message(GetMarkerCount(Markers)) пишет 0 и пометки не ставятся
Re: маркеры
Тогда можно весь код увидеть?
-
- Сообщения: 13
- Зарегистрирован: 20 мар 2013, 17:41
Re: маркеры
какая StatusLine используется? должна быть связка, для вашего случая, Insert c соответствующим событием cmMarkUnMark.
Re: маркеры
Если мессадж появляется то статус правильный.Kolsey Zhenya писал(а):какая StatusLine используется? должна быть связка, для вашего случая, Insert c соответствующим событием cmMarkUnMark.
Хочется увидеть весь текст.
Re: маркеры
Напишитеnovichok писал(а):Подскажите, почему не работает маркер?
Markers := InitMarker('', 2, 20, 20);
InvertMarker(Markers, katbank.nrec);
RescanPanel(tnkatbank); message(SearchMarker(Markers, katbank.nrec, IndexNo));
InitMarker('', 8, 20, 20);
Для nrec-а нужно 8 байт, а не 2
Re: маркеры
Весь невезучий код:
Код: Выделить всё
const
sci134EnIns = 6922;
cmDoMarkUnMark = 1221;
end;
Interface Programma_2 'Отчёт по платёжным документам' (, , sci134EnIns) doaccept, EscClose;
show at (, ,90, 70);
create view
var
Markers : longInt;
IndexNo : longInt;
(isPicked)
as select if (SearchMarker(Markers, schet1, IndexNo) = True, 'v', '-'), *
from katbank where corg=3h;
var
k_osh:integer;
n: integer;
i: LongInt;
sum_sum,sum_nds:double;
dogovor: string;
d_n,d_k: date;
stmt,query: longInt;
kol1,kol3,kol4: string;
kol5,kol6: double;
kol2: date;
screen ekr1 (, , sci1EnEsc);
show at (, ,89, 20);
Fields
d_n : ['DD.MM.YYYY'], noProtect;
d_k : ['DD.MM.YYYY'], noProtect;
buttons
cmOK, default;
cmCancel;
<<
Период с .@@@@@@@@@@ по .@@@@@@@@@@
<. ~С~формировать .>
<. ~З~акрыть .>
>>
end;
panel panel_schet;
show at (, 21, 89, 69);
browse b_schet;
table katbank;
fields
{font={color=if(IsPicked='-', 0, 13)}};
isPicked '' :[1], Skip;
name 'Банк' :[65], protect, NoDel;
schet1 'Счёт' :[30], protect, NoDel;
end;
end;
HandleEvent
CmInit:
{
Markers := InitMarker('', 8, 20, 20);
message('маркер №'+Markers);
}
cmDone:
{
DoneMarker(Markers, '');
}
cmDoMarkUnMark:
{
InvertMarker(Markers, katbank.schet1); message(GetMarkerCount(Markers));
if ((GetNext katbank) = tsOk) {};
RescanPanel(tnkatbank);
}
Re: маркеры
1. При использовании констант не ленимся и подключаем соответствующие inc-и.
2. Панели убираем нафинг. Не нужны они.
Вот так работает:
Код: Выделить всё
#include galnet.inc
end;
Вот так работает:
Код: Выделить всё
Interface Programma_2 'Отчёт по платёжным документам' (, , sci134EnIns) doaccept, EscClose;
show at (, ,90, 70);
create view
var
Markers : longInt;
IndexNo : longInt;
(isPicked)
as select if (SearchMarker(Markers, schet1, IndexNo) = True, 'v', '-'), *
from katbank where corg=3h;
var
k_osh:integer;
n: integer;
i: LongInt;
sum_sum,sum_nds:double;
dogovor: string;
d_n,d_k: date;
stmt,query: longInt;
kol1,kol3,kol4: string;
kol5,kol6: double;
kol2: date;
screen ekr1 (, , sci1EnEsc);
show at (, ,89, 20);
Fields
d_n : ['DD.MM.YYYY'], noProtect;
d_k : ['DD.MM.YYYY'], noProtect;
buttons
cmOK, default;
cmCancel;
<<
Период с .@@@@@@@@@@ по .@@@@@@@@@@
<. ~С~формировать .>
<. ~З~акрыть .>
>>
end;
browse b_schet;
Show At (,21,,);
table katbank;
fields
{font={color=if(IsPicked='-', 0, 13)}};
isPicked '' :[1], Skip;
name 'Банк' :[65], protect, NoDel;
schet1 'Счёт' :[30], protect, NoDel;
end;
HandleEvent
CmInit:
{
Markers := InitMarker('', 8, 20, 20);
message('маркер №'+Markers);
}
cmDone:
{
DoneMarker(Markers, '');
}
cmDoMarkUnMark:
{
InvertMarker(Markers, katbank.nrec);
message(GetMarkerCount(Markers));
if ((GetNext katbank) = tsOk) {};
RescanPanel(tnkatbank);
}
End;
End.
Re: маркеры
так при компиляции пишет -
ошибка при открытии include файла GALNET.INC
ошибка при открытии include файла GALNET.INC
Re: маркеры
Путь нужно указать к актуальному galnet.inc
Код: Выделить всё
[Compilers]
IncludesPath=%GAL810FRM%\INC
IncludesPath=%GAL810FRM%\INC\ADM
IncludesPath=%GAL810FRM%\INC\ASUP
Re: маркеры
galnet.inc нет нигде, ни на моём компе, ни на сервере
подскажите, где он должен быть?
подскажите, где он должен быть?
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: маркеры
.\GAL810\FRM\GalNet.rar