В новой версии МиниГуи - 22.01 (Update 1)
есть показ/редактирование в любом месте кода содержимого dbf-файла.
Пример кода:
SET FONT TO "DejaVu Sans Mono", 13 // фонты построения в таблице берутся от этого фонта
USE custom.dbf
TsbViewer()
Или так:
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) // окно с таблицей
Или так:
aTsbPar := { cAls, cCodePage, "Точка проверки(3)!" }
aWinPar := { "NOWAIT", "", nY, nX, nW, nH, lCenter, RED }
//aWinPar := { "WAIT", "", , , , , , RED }
TsbViewer( aTsbPar, aWinPar) // окно с таблицей
Существует более продвинутый показ/редактирование базы для пользователя:
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) // окно с таблицей
Кол-во кнопок для таблицы задаётся в CreateDateMenu(смотреть demo2.prg)
На каждую кнопку назначается событие, к которому потом привязывается функция обработки.
Местонахождение кнопок тоже задаётся в CreateDateMenu(), примерно так:
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 := { "Выход", "База", "Авторы" }
.........
Далее смотреть примеры - 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