маркеры

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

novichok
Постоянный гость
Сообщения: 79
Зарегистрирован: 10 апр 2013, 09:24

маркеры

Сообщение novichok »

Подскажите, почему не работает маркер?

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 раз.
Kolsey Zhenya
Сообщения: 13
Зарегистрирован: 20 мар 2013, 17:41

Re: маркеры

Сообщение Kolsey Zhenya »

Попробуйте cmMarkUnMark
novichok
Постоянный гость
Сообщения: 79
Зарегистрирован: 10 апр 2013, 09:24

Re: маркеры

Сообщение novichok »

Kolsey Zhenya писал(а):Попробуйте cmMarkUnMark
Не помогает
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: маркеры

Сообщение m0p3e »

И будет false, т.к. в момент проверки мы уже находимся на следующей записи. GetNext он такой.
novichok
Постоянный гость
Сообщения: 79
Зарегистрирован: 10 апр 2013, 09:24

Re: маркеры

Сообщение novichok »

message(GetMarkerCount(Markers)) пишет 0 и пометки не ставятся :-(
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: маркеры

Сообщение m0p3e »

Тогда можно весь код увидеть?
Kolsey Zhenya
Сообщения: 13
Зарегистрирован: 20 мар 2013, 17:41

Re: маркеры

Сообщение Kolsey Zhenya »

какая StatusLine используется? должна быть связка, для вашего случая, Insert c соответствующим событием cmMarkUnMark.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: маркеры

Сообщение m0p3e »

Kolsey Zhenya писал(а):какая StatusLine используется? должна быть связка, для вашего случая, Insert c соответствующим событием cmMarkUnMark.
Если мессадж появляется то статус правильный.
Хочется увидеть весь текст.
LaaLaa

Re: маркеры

Сообщение LaaLaa »

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
novichok
Постоянный гость
Сообщения: 79
Зарегистрирован: 10 апр 2013, 09:24

Re: маркеры

Сообщение novichok »

Весь невезучий код: :-(

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

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);
}
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: маркеры

Сообщение m0p3e »

1. При использовании констант не ленимся и подключаем соответствующие inc-и.

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

#include galnet.inc
end;
2. Панели убираем нафинг. Не нужны они.
Вот так работает:

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

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.
novichok
Постоянный гость
Сообщения: 79
Зарегистрирован: 10 апр 2013, 09:24

Re: маркеры

Сообщение novichok »

так при компиляции пишет -
ошибка при открытии include файла GALNET.INC
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: маркеры

Сообщение m0p3e »

Путь нужно указать к актуальному galnet.inc

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

[Compilers]
 IncludesPath=%GAL810FRM%\INC
 IncludesPath=%GAL810FRM%\INC\ADM
 IncludesPath=%GAL810FRM%\INC\ASUP
novichok
Постоянный гость
Сообщения: 79
Зарегистрирован: 10 апр 2013, 09:24

Re: маркеры

Сообщение novichok »

galnet.inc нет нигде, ни на моём компе, ни на сервере :o
подскажите, где он должен быть?
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: маркеры

Сообщение Den »

.\GAL810\FRM\GalNet.rar
Ответить