Небольшой класс на основе TRecHandler для обработки сообщений от далоговых окон. Есть возможность скроллинга
Скачать (rar-файл; Размер - 4291)Обсудить в форуме
Описание
а также вычисляемые поля и фильтр. Может быть кому-нибудь пригодится. А может кто ради интереса глянет, и скажет свое мнение, хотелось бы выслушать, плохо, хорошо ли.
В архиве есть примерчик с библиотекой ресурсов. Оговариваю что тестировал на версии 5,0,073, как будет работать на более нижних не могу сказать. Использутся только объекты, типа TRecHandler, TBFile, TArray.
Сразу скажу что я не писал с нуля, идею универсального окна, вычисляемых колонок, фильтра скроллинга я взял из примера Уварова А.Г. ОАО "НОСТА-БАНК", ну а технологию как релизовать в ООП из документации.
В архиве есть примерчик с библиотекой ресурсов. Оговариваю что тестировал на версии 5,0,073, как будет работать на более нижних не могу сказать. Использутся только объекты, типа TRecHandler, TBFile, TArray.
Сразу скажу что я не писал с нуля, идею универсального окна, вычисляемых колонок, фильтра скроллинга я взял из примера Уварова А.Г. ОАО "НОСТА-БАНК", ну а технологию как релизовать в ООП из документации.
Текст примера
import "dlgscrll.cls"; var {oper}, dlg; class (TColumn) TMYCOL (title, f, w, a) InitTColumn(title, f, w, a); var p = tbfile("person"); macro Calculate(dbfile) p.rec.oper = dbfile.rec.oper; if (p.geteq) return p.rec.name end; return ""; end; end; class (TDialog) TestDialog (panel, path, rc, cc) InitTDialog (panel, path, rc, cc); macro Filter(dbfile) return TRUE; end; this.Title = "Привет"; this.statusline = "~Esc~ Выход"; this.SetFile("document"); this.AddColumn(TColumn("Номер", "numb_document", 10, "r")); this.AddColumn(TMYCOL("Опер", "oper", 20, "r")); this.AddColumn(TColumn("Счет", "account_payer", 16, "r")); this.AddColumn(TColumn("Счет", "account_receiver", 16, "r")); this.AddColumn(TColumn("Сумма", "sum", 16, "r")); end; dlg = TestDialog ("brow","test.lbr", 17, 78); dlg.Run; exit(1);