Форум » GUI » TsbViewer() для просмотра базы » Ответить

TsbViewer() для просмотра базы

Andrey: В новой версии МиниГуи - 22.01 (Update 1) есть показ/редактирование в любом месте кода содержимого dbf-файла. Пример кода: [pre2] SET FONT TO "DejaVu Sans Mono", 13 // фонты построения в таблице берутся от этого фонта USE custom.dbf TsbViewer() [/pre2]Или так:[pre2] SET FONT TO "DejaVu Sans Mono", 13 // фонты построения в таблице берутся от этого фонта cAls := "TEST_CALC" cDbf := GetStartUpFolder() + '\_Ru866.dbf' cCodePage := "RU866" USE (cDbf) ALIAS (cAls) CODEPAGE cCodePage NEW EXCLUSIVE aTsbPar := { cAls, cCodePage, "Точка проверки(3)!" } aWinPar := {} TsbViewer( aTsbPar, aWinPar) // окно с таблицей[/pre2] Или так:[pre2] aTsbPar := { cAls, cCodePage, "Точка проверки(3)!" } aWinPar := { "NOWAIT", "", nY, nX, nW, nH, lCenter, RED } //aWinPar := { "WAIT", "", , , , , , RED } TsbViewer( aTsbPar, aWinPar) // окно с таблицей[/pre2] Существует более продвинутый показ/редактирование базы для пользователя: [pre2] SET FONT TO "DejaVu Sans Mono", 13 // фонты построения в таблице берутся от этого фонта oWin := CreateDataWin(1) // параметры окна oUse := CreateDateDbf(GetStartUpFolder(),'_Ru866.dbf',"RU_LIST","RU866",.T.) oIndx := CreateDateIndex(1,oUse,GetStartUpFolder()) // создать индексы oIndx:nSetOrder := 2 // переключиться на ордер индекса oMenu := CreateDateMenu( {99,1,2,3,4} ) // события // меню-кнопки окна oTsbW := CreateDateTsb(oUse,oUse:cCodePage,"Checkpoint (1) !",oWin) // параметры ТСБ aEvent := {} // события на окне, вызов функций AAdd( aEvent, {99, {|ow| myExit(ow) }} ) // выход AAdd( aEvent, { 1, {|ow| myBtn1(ow) }} ) // кнопка 1 AAdd( aEvent, { 2, {|ow| myBtn2(ow) }} ) // кнопка 2 AAdd( aEvent, { 3, {|ow| myBtn3(ow) }} ) // кнопка 3 AAdd( aEvent, { 4, {|ow| myBtn4(ow) }} ) // кнопка 4 TsbObjViewer(oWin, oUse, oIndx, oMenu, oTsbW, aEvent) // окно с таблицей[/pre2] Кол-во кнопок для таблицы задаётся в CreateDateMenu(смотреть demo2.prg) На каждую кнопку назначается событие, к которому потом привязывается функция обработки. Местонахождение кнопок тоже задаётся в CreateDateMenu(), примерно так: [pre2] oMenu:nPosWin := 3 // 1-TopWindow, 2-BottomWindow, 3-LeftWindow, 4-RightWindow oMenu:nHAlign := DT_LEFT // горизонтальные кнопки: 0-LEFT, 1-CENTER, 2-RIGHT oMenu:nVAlign := DT_TOP // вертикальные кнопки: 0-TOP , 1-CENTER, 2-BOTTOM oMenu:aCaption := { "Выход", "База", "Авторы" } .........[/pre2] Далее смотреть примеры - MiniGUI\SAMPLES\Advanced\Tsb_Viewer Порядок подключения к своей программе: 1) собрать библиотеку \MiniGUI\SAMPLES\Advanced\Tsb_Viewer\Lib\tsbviewer.hbp 2) скопировать файл \MiniGUI\SAMPLES\Advanced\Tsb_Viewer\TsbViewer.lib в папку \MiniGUI\Lib 3) добавить в свой проект - строку -lTsbViewer

Ответов - 3

Andrey: Есть меню для работы с dbf-файлом: Что нужно для постоянной работы - пишите, можно добавить.

Andrey: По клику на колонке можно установить фильтр на эту колону как в Экселе. Можно несколько фильтров по нескольким колонкам.

gfilatov2002: Andrey пишет: показ/редактирование в любом месте кода содержимого dbf-файла Спасибо, Андрей!




полная версия страницы