маркеры
Модераторы: 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 раз.
									
			
						
										
						- 
				Kolsey Zhenya
- Сообщения: 13
- Зарегистрирован: 20 мар 2013, 17:41
Re: маркеры
Попробуйте cmMarkUnMark
			
			
									
						
										
						Re: маркеры
Не помогаетKolsey Zhenya писал(а):Попробуйте cmMarkUnMark
Re: маркеры
И будет false, т.к. в момент проверки мы уже находимся на следующей записи. GetNext он такой.
			
			
									
						
										
						Re: маркеры
message(GetMarkerCount(Markers)) пишет 0 и пометки не ставятся 
			
			
									
						
										
						
Re: маркеры
Тогда можно весь код увидеть?
			
			
									
						
										
						- 
				Kolsey Zhenya
- Сообщения: 13
- Зарегистрирован: 20 мар 2013, 17:41
Re: маркеры
какая StatusLine используется? должна быть связка, для вашего случая, Insert c соответствующим событием cmMarkUnMark.
			
			
									
						
										
						Re: маркеры
Если мессадж появляется то статус правильный.Kolsey Zhenya писал(а):какая StatusLine используется? должна быть связка, для вашего случая, Insert c соответствующим событием cmMarkUnMark.
Хочется увидеть весь текст.
- 
				LaaLaa
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 нет нигде, ни на моём компе, ни на сервере  
 
подскажите, где он должен быть?
			
			
									
						
										
						 
 подскажите, где он должен быть?
- 
				Den
- Местный житель
- Сообщения: 1847
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: маркеры
.\GAL810\FRM\GalNet.rar