Автор | Сообщение |
gfilatov
|
| модератор
|
Пост N: 699
Зарегистрирован: 25.05.05
|
|
Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)
Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[см. все]
|
|
SergKis
|
| постоянный участник
|
Пост N: 2110
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.10.18 12:00. Заголовок: Haz пишет У меня все..
Haz пишет У меня аналогично. Возможно имеется ввиду при Up на последней строке и последнем :nRowPos, строка swap сделала, но осталась последней, а др. ушла за экран, так именно это я имел ввиду под шероховатостью. Надо усиливать алгоритм, если надо, конечно. Оставляю это на тех, кому надо.
|
|
|
TimTim
|
| |
Пост N: 155
Зарегистрирован: 10.07.07
|
|
Отправлено: 26.10.18 12:03. Заголовок: Я пересобирал прогу...
Я пересобирал прогу. Может в этом дело?
|
|
|
Haz
|
| |
Пост N: 1377
Зарегистрирован: 20.02.11
|
|
Отправлено: 26.10.18 12:17. Заголовок: TimTim пишет: Я пер..
TimTim пишет: цитата: | Я пересобирал прогу. Может в этом дело? |
| Может и в этом т.к. метод GoToRec() не обновлен в tsBrowse.lib При желании пересобрать обновить метод можно самостоятельно и пересобрать библиотеку
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2114
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.10.18 22:02. Заголовок: gfilatov2002 пишет ..
gfilatov2002 пишет цитата: | * Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG: - added the new method FilterData( cFilter, lFocus ) in the TSBrowse |
| немного надо изменить METHOD FilterRow( cFilter, lBottom, lFocus ) CLASS TSBrowse ... ::Reset(lBottom) ... или METHOD FilterRow( cFilter, lFocus, lBottom ) CLASS TSBrowse ... ::Reset(lBottom) ... второй вариант по частоте исп. lBottom (default .F.) первый по логике что лучше ? не знаю.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1385
Зарегистрирован: 11.02.10
|
|
Отправлено: 28.10.18 22:17. Заголовок: SergKis пишет: METH..
SergKis пишет: цитата: | METHOD FilterRow( cFilter, lBottom, lFocus ) |
| Принят первый вариант
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2115
Зарегистрирован: 17.02.12
|
|
Отправлено: 29.10.18 08:31. Заголовок: gfilatov2002 Похожа..
gfilatov2002 Похожая правка METHOD FilterFTS( cFind, lUpper, lBottom, lFocus ) CLASS TSBrowse ... ::Reset(lBottom) ...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1386
Зарегистрирован: 11.02.10
|
|
Отправлено: 29.10.18 10:06. Заголовок: SergKis пишет: Похо..
SergKis пишет: OK
|
|
|
Haz
|
| |
Пост N: 1383
Зарегистрирован: 20.02.11
|
|
Отправлено: 29.10.18 11:31. Заголовок: gfilatov2002 Григо..
gfilatov2002 Григорий в ::GotoRec() можно это добавить If ::lIsDbf if hb_isBlock( nRec ) nRec := eval( nRec ) end if hb_isBlock( nRowPos ) nRowPos := eval( nRowPos ) end это позволит реализовать вычисляемые от условий координаты ( к примеру на последней странице nRowPos ровнять на nRowCount(), или nRec вычислять в dbLocate() )
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2116
Зарегистрирован: 17.02.12
|
|
Отправлено: 29.10.18 11:54. Заголовок: Haz пишет в ::GotoRe..
Haz пишет цитата: | в ::GotoRec() можно это добавить |
| только Eval с параметром nRec := eval( nRec , Self ) nRowPos := eval( nRowPos , Self )
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1387
Зарегистрирован: 11.02.10
|
|
Отправлено: 29.10.18 12:08. Заголовок: Haz пишет: в ::Goto..
Haz пишет: цитата: | в ::GotoRec() можно это добавить |
| OK SergKis пишет: OK
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2117
Зарегистрирован: 17.02.12
|
|
Отправлено: 29.10.18 12:27. Заголовок: gfilatov2002 У нас ..
gfilatov2002 У нас с Игорем еще предложение по методам Скрытый текст
METHOD SeekRec( xVal, lSoftSeek , lFindLast, nRowPos ) CLASS TSBrowse LOCAL cAlias, nRecOld, lRet := .F. DEFAULT lSoftSeek := .T., lFindLast := .T., nRowPos := ::nRowPos cAlias := ::cAlias nRecOld := (cAlias)->( Recno() ) IF (cAlias)->( dbSeek( xVal, lSoftSeek, lFindLast ) ) ::GoToRec((cAlias)->( RecNo() ), nRowPos ) lRet := .T. ELSE (cAlias)->( dbGoto(nRecOld) ) ENDIF RETURN lRet METHOD FindRec( Block, lNext, nRowPos ) CLASS TSBrowse LOCAL i, n := 0 LOCAL cAlias, nRecOld LOCAL lArr := HB_ISARRAY(Block) LOCAL lRet := .F. DEFAULT lNext := .F., nRowPos := ::nRowPos cAlias := ::cAlias nRecOld := (cAlias)->( Recno() ) IF lNext (cAlias)->( dbSkip(1) ) ELSE (cAlias)->( dbGotop() ) ENDIF DO WHILE (cAlias)->( !EOF() ) n ++ IF lArr FOR i := 1 TO Len(Block) lRet := !Empty(EVal( Block[ i ], Self, i )) IF lRet EXIT ENDIF NEXT ELSE lRet := !Empty(EVal( Block, Self, 0 )) ENDIF IF lRet EXIT ENDIF DO EVENTS (cAlias)->( dbSkip(1) ) ENDDO IF lRet ::GoToRec(( cAlias)->( RecNo() ), nRowPos ) ELSE (cAlias)->( dbGoto(nRecOld) ) ENDIF RETURN lRet METHOD ScopeRec( xScopeTop, xScopeBottom, lBottom ) CLASS TSBrowse LOCAL cAlias := ::cAlias (cAlias)->( ORDSCOPE(0, xScopeTop ) ) (cAlias)->( ORDSCOPE(1, xScopeBottom) ) ::Reset(lBottom) RETURN Nil
| Проверочный пример https://my-files.ru/hb9tz8
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6095
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.10.18 13:08. Заголовок: SergKis пишет: Пров..
SergKis пишет: DEFINE STATUSBAR STATUSITEM "" //STATUSITEM "Network opening of the database!" WIDTH 290 FONTCOLOR BLUE STATUSITEM "Methods: Seek, Find, Scope !" WIDTH 290 FONTCOLOR BLUE Вот так наверное нужно !
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2118
Зарегистрирован: 17.02.12
|
|
Отправлено: 29.10.18 13:15. Заголовок: Andrey пишет Вот так..
Andrey пишет Скорее тут менять (а там все равно shared открытие) FUNCTION UseOpenBase() LOCAL aStr := {} LOCAL cDbf := GetStartUpFolder() + "\TEST5"
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1388
Зарегистрирован: 11.02.10
|
|
Отправлено: 29.10.18 13:44. Заголовок: SergKis пишет: еще ..
SergKis пишет: цитата: | еще предложение по методам |
| Принято с благодарностью
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6096
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.10.18 09:06. Заголовок: SergKis пишет: У на..
SergKis пишет: цитата: | У нас с Игорем еще предложение по методам |
| Ещё бы один метод нужен. Типа ColumnRec(nColumn) - показ нужной колонки в бровсе, для большого количества колонок в таблице. А то юзеру нужную ему колонку невозможно показать сразу, после разных манипуляций. Или он уже есть и я пропустил такой метод ?
|
|
|
Haz
|
| |
Пост N: 1384
Зарегистрирован: 20.02.11
|
|
Отправлено: 30.10.18 11:00. Заголовок: Andrey пишет: я про..
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6097
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.10.18 12:10. Заголовок: Haz пишет: ::GoPos(..
Haz пишет: Что-то это не работает... Я раньше у себя это пробовал: oBrw1:nCell := 6 + nStaticNumField // передвинуть МАРКЕР на колонку выбранного фильтра или oBrw1:GoPos( 1,6 + nStaticNumField ) // передвинуть МАРКЕР на XX строку и XX колонку Всё равно таблица остаётся на первых видимых колонках. А те колонки, что за экраном, не показывает !
|
|
|
Haz
|
| |
Пост N: 1385
Зарегистрирован: 20.02.11
|
|
Отправлено: 30.10.18 12:29. Заголовок: Andrey пишет: Что-т..
Andrey пишет: цитата: | Что-то это не работает... Я раньше у себя это пробовал: oBrw1:nCell := 6 + nStaticNumField // передвинуть МАРКЕР на колонку выбранного фильтра или oBrw1:GoPos( 1,6 + nStaticNumField ) // передвинуть МАРКЕР на XX строку и XX колонку Всё равно таблица остаётся на первых видимых колонках. А те колонки, что за экраном, не показывает ! |
| Работает ! GoPos() уходит на нужную колонку, хоть за экраном, хоть перед ним. Только что специально проверял
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6098
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.10.18 12:31. Заголовок: Haz пишет: GoPos() ..
Haz пишет: цитата: | GoPos() уходит на нужную колонку, хоть за экраном, хоть перед ним. Только что специально проверял |
| Блин, а у меня нет... Что нужно вызывать после этого метода ? Делаю так: IF nStaticNumField <= 0 oBrw1:GoPos( 1,7 ) // передвинуть МАРКЕР на XX строку и XX колонку ELSE oBrw1:GoPos( 1,6 + nStaticNumField ) // передвинуть МАРКЕР на XX строку и XX колонку ENDIF Первое условие работает - oBrw1:GoPos( 1,7 ), другое нет. Т.е. если курсор на первой части таблицы, то отображается. Если уходит за видимую ПЕРВУЮ часть, то курсора не видно и таблица со столбцами не перемещается.
|
|
|
Dima
|
| |
Пост N: 6962
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.10.18 12:43. Заголовок: Andrey Пробни так O..
Andrey Пробни так Obrw:Refresh(.F.) // или Display Затем Gopos
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[см. все]
|
|