маркеры

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

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

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

Re: маркеры

Сообщение novichok »

Долго разные .inc искать пришлось, но и когда всё скомпилировалось,
маркеры не заработали.

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

#params
  [Compilers]
  IncludesPath=D:\INCLUDES\src\Inc
#end

#include galnet.inc
end;

const
sci134EnIns = 6922;
cmDoMarkUnMark = 1221;
end;

Interface Programma_2 'Отчёт по платёжным документам' (, , sci134EnIns) EscClose;
show at (, ,90, 70);

var
Markers,IndexNo:longInt;
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;

create view
var
(isPicked)
as select if (SearchMarker(Markers, schet1, IndexNo) = True, 'v', '-'), *
from katbank where corg=3h;

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.schet1);   
  message('маркер - '+Markers+' записей - '+GetMarkerCount(Markers));
  if ((GetNext katbank) = tsOk) {};
  RescanPanel(#katbank);
}                                      
пишет "записей 0"
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: маркеры

Сообщение edward_K »

Ну для начала нужно заменить schet1 на katbank.nrec
А
if (SearchMarker(Markers, schet1, IndexNo) = True, 'v', '-')
на
if (FoundMarker(Markers, KatBank.Nrec) , 'v', '-')
- так чуточку быстрее.
Включать inc в фейс плохой тон - надо делать проект. Вы ж не собираетесь делать на каждый фейс свой рес? Куча ресов тормозит галку на старте.
Странно, что вы не нашли объявление всех констант.
cmDoMarkUnMark в Atconst.inc, он у меня зацеплен в Mark.Inc, и там где то выше.
Статус строки в galnet.csc - наверное вы их убрали из galnet.inc - сделали пустышку и спросили бы на форуме заполненные.
Ответить