Показать сообщение отдельно
Старый 16.02.2012, 14:14    | »»» |  #17
SK
Администратор
 
Аватар для SK
 
Регистрация: 27.05.2010
Сообщений: 29,988
SK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud of
Отправить сообщение для SK с помощью Skype™
По умолчанию

Цитирую:
Сообщение от AutoKirov Посмотреть сообщение
Привет всем!
Клиент попросил состряпать ему отчёт по температуре, но не график, а табличкою, мол, три колонки, датавремя, датчик1, датчик2 (датчики не ванвайр, а те, которые в периодическом счётчике). С шаблоном проблем не было, но вот, возник вполне логичный вопрос: А нельзя ли оставить только каждую, к примеру, двадцатую запись, а остальные выкинуть безвозвратно, а то за месяц если печатать, то несколько сильно много бумаги уходит и нести этот отчёт потом тяжело

Так вот, я не могу придумать, как ненужные записи выкинуть. Есть идея отсортировать, чтоб ненужные в конце были, а потом откусить... Отсортировать - отсортирую, а как откусить????

Ну, или ещё какие-то идеи?

Спасибо.
Сообщение от storm Посмотреть сообщение
нужно во вкладку код вставить функцию

Код:
procedure SetVisible(LineNum: integer);
var
   height : double;                             
begin
   if (LineNum % 20 = 1) then
   begin
      height := 20;                     
   end
   else
   begin
      height := 0;  
   end;  
   MasterData1.height :=height;       
   Memo1.height :=height;     
   Memo2.height :=height;    
end;
вместо
MasterData1.height :=height;
вам нужно подставить имя вашей мастердаты
вместо
Memo1.height :=height;
Memo2.height :=height;
перечислить все названия ячеек, которые находятся в мастердате(абсолютно все, даже невидимые, если есть)

а потом вызвать из любой ячейки мастердаты эту функцию
[SetVisible(<Line>)]

вроде все правильно накидал, проверяйте, теперь должна выводиться каждая 20 запись, остальные прячутся
Сообщение от AutoKirov Посмотреть сообщение
Ну, вроде всё правильно, спасибо:
procedure SetVisible(LineNum: integer);
var height: double;
begin
height:= 0;
if LineNum mod 20 = 0 then
height:= 20;
MasterData1.height:= height;
Memo1.height :=height;
Memo2.height :=height;
Memo3.height :=height;
end;
Сообщение от storm Посмотреть сообщение
Сообщение от AutoKirov Посмотреть сообщение
if LineNum mod 20 = 0 then
тут бы я все таки оставил сравнение с единичкой, так как нумерация строк начинается с 1, у вас вывод начнется только с 20 строки, то есть первые 19 полностью обрежутся, но в принципе, наверное, не критично

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием