On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
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;
- новые и обновленные старые примеры (как обычно ).




Спасибо: 5 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


SergKis
постоянный участник




Пост N: 3307
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.08.20 20:03. Заголовок: gfilatov2002 Малень..


gfilatov2002
Маленькая бяка
 
#xcommand DEFINE TBROWSE <name> OBJ <obrw> ;
...
[ <.lAutoCol.> ], [ \{<aColSel>\} ], [ <{bInit}> ], ;
...
Добавить в
FUNCTION _DefineTBrowse( ControlName, ParentFormName, nCol, nRow, nWidth, nHeight, ;
...
IF HB_ISARRAY( aColors ) .and. Len( aColors ) > 0 .AND. ValType( aColors[ 1 ] ) == 'A'
aColors := aColors[ 1 ]
ENDIF

IF ISCHAR( uAlias ) .and. !Empty( lLoad ) .and. Empty( aColSel )
aHeaders := {}
aNames := {}
aColSel := {}
(uAlias)->( AEval( array(fCount()), {|cn,nn| cn := FieldName(nn), ;
AAdd(aHeaders, cn), AAdd(aNames, cn), AAdd(aColSel, cn) } ) )
IF cell .and. Empty(aColors)
aColors := {}
AAdd(aColors, { 6, {|c,n,b| c := n, iif( b:nCell == n, -CLR_BLUE, -RGB(128,225,225) ) } } )
AAdd(aColors, {12, {|c,n,b| c := n, iif( b:nCell == n, -CLR_BLUE, -RGB(128,225,225) ) } } )
ENDIF
ENDIF

...
тогда проходит такой упрощенный вариант
DEFINE TBROWSE &cBrw OBJ oBrw AT y,x WIDTH w HEIGHT h CELL ;
ALIAS ALIAS() ;
FONT {"Normal", "Bold", "Bold"} ;
FOOTER .T. ;
FIXED COLSEMPTY ;
LOADFIELDS GOTFOCUSSELECT ;
COLNUMBER { 1, 50 } ;
ENUMERATOR
...

Пример тут https://TransFiles.ru/eyn5b

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1755
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 02.08.20 20:20. Заголовок: SergKis пишет: Мале..


SergKis пишет:

 цитата:
Маленькая бяка


Бяку поправил - благодарю за помощь
А это не перебор - явно указывать цвета внутри исходника h_tbrowse.prg

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3308
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.08.20 20:45. Заголовок: gfilatov2002 пишет А..


gfilatov2002 пишет
 цитата:
А это не перебор - явно указывать цвета внутри исходника h_tbrowse.prg


Можно не указывать, возможно, это перебор. Есть в DEFINE ... назначение. и там можно указать.
У себя спрячу умолчания во внутрь, что бы меньше писать. Согласен, что это лишнее

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3309
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.08.20 20:54. Заголовок: PS Можно так Loca..


PS
Можно так
 
Local aClr := {}
...
AAdd(aClr, { 6, {|c,n,b| c := n, iif( b:nCell == n, -CLR_BLUE, -RGB(128,225,225) ) } } )
AAdd(aClr, {12, {|c,n,b| c := n, iif( b:nCell == n, -CLR_BLUE, -RGB(128,225,225) ) } } )

DEFINE TBROWSE &cBrw OBJ oBrw AT y,x WIDTH w HEIGHT h CELL ;
ALIAS ALIAS() ;
FONT {"Normal", "Bold", "Bold"} ;
COLORS aClr ;

FOOTER .T. ;
FIXED COLSEMPTY ;
LOADFIELDS GOTFOCUSSELECT ;
COLNUMBER { 1, 50 } ;
ENUMERATOR
...

будет тоже самое

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1756
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 02.08.20 21:10. Заголовок: SergKis пишет: Согл..


SergKis пишет:

 цитата:
Согласен, что это лишнее


OK

SergKis пишет:

 цитата:
Можно так ...
будет тоже самое


Спасибо

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3311
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.08.20 10:15. Заголовок: gfilatov2002 Неболь..


gfilatov2002
Небольшая правка
 
FUNCTION _wPost( nEvent, nIndex, xParam )
...
IF nIndex:ClassName == 'TSBROWSE'
oWnd := _WindowObj( nIndex:cParentWnd )
IF ! HB_ISOBJECT( oWnd ) ; RETURN NIL
ENDIF

nIndex := oWnd:GetObj( nIndex:cControlName ):Index
...
FUNCTION _wSend( nEvent, nIndex, xParam )
...
IF nIndex:ClassName == 'TSBROWSE'
oWnd := _WindowObj( nIndex:cParentWnd )
IF ! HB_ISOBJECT( oWnd ) ; RETURN NIL
ENDIF

nIndex := oWnd:GetObj( nIndex:cControlName ):Index
...


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1757
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 04.08.20 10:50. Заголовок: SergKis пишет: Небо..


SergKis пишет:

 цитата:
Небольшая правка


Принято: благодарю за помощь

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3312
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.08.20 13:11. Заголовок: gfilatov2002 Пример..


gfilatov2002
Пример с исп. изменений https://TransFiles.ru/zc7jl

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1758
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 04.08.20 14:10. Заголовок: SergKis пишет: Прим..


SergKis пишет:

 цитата:
Пример с исп. изменений


Благодарю за значительно расширенный пример

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3313
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.08.20 14:33. Заголовок: gfilatov2002 пишет Б..


gfilatov2002 пишет
 цитата:
Благодарю за значительно расширенный пример


Расширение на любителя , не исп. ранее в тсб on gotfocus, on lostfocus и получил ошибку _wSend(), _wPost(), по инерции добавил карточку, опять же, на AlertOkCancel().
Я не специально, так получилось

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3314
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.08.20 16:00. Заголовок: gfilatov2002 Для пр..


gfilatov2002
Для пробы (с Игорем обсуждали такую схему)
- добавил блок кода
DATA bTSDrawCell // In ::TSDrawCell(...) execute
- вынес вызов TSDrawCell() в метод :TSDrawCell(), заменив локальные переменные на переменные объекта TSBcel и поправил вызовы ф-ии на метод (кроме SuperHeader). Это позволило в карточке примера получить логическую переменную в виде image и по Enter менять значение, т.е. можно налету подменять данные для ф-ии TSDrawCell()
Мне показалось это интересным.
Пример и h_tbrowse.prg тут https://TransFiles.ru/me4mq

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1759
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.08.20 16:59. Заголовок: SergKis пишет: - вы..


SergKis пишет:

 цитата:
- вынес вызов TSDrawCell() в метод :TSDrawCell(), заменив локальные переменные на переменные объекта TSBcel и поправил вызовы ф-ии на метод (кроме SuperHeader). Это позволило в карточке примера получить логическую переменную в виде image и по Enter менять значение, т.е. можно налету подменять данные для ф-ии TSDrawCell()
Мне показалось это интересным.


Это интересно уже тем, что повторяющийся код вынесен в один метод.
Проверил - пример отработал нормально.
Благодарю за помощь

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1590
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 05.08.20 17:13. Заголовок: SergKis пишет: Мне ..


SergKis пишет:

 цитата:
Мне показалось это интересным.


Интересным и перспективным. Спасибо, отличная идея

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3315
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.08.20 18:43. Заголовок: gfilatov2002 Кусоче..


gfilatov2002
Кусочек текста для SuperHeader Скрытый текст


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3316
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.08.20 19:14. Заголовок: PS В примере пропуст..


PS
В примере пропустил Скрытый текст


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1760
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.08.20 19:22. Заголовок: SergKis пишет: для ..


SergKis пишет:

 цитата:
для SuperHeader


Спасибо, сделал
SergKis пишет:

 цитата:
В примере


добавил

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3317
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.08.20 15:06. Заголовок: gfilatov2002 Поправ..


gfilatov2002
Поправил пример, при работе с карточкой данные в колонке "Value" не меняют тип (ранее был "C") и режим Edit учитывает это в блоках кода :bPrevEdt, :bPostEdit.
Тут https://TransFiles.ru/ppqsg

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1761
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.08.20 15:38. Заголовок: SergKis пишет: Попр..


SergKis пишет:

 цитата:
Поправил пример


Спасибо, обновил пример также (с форматированием).

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3318
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.08.20 11:43. Заголовок: gfilatov2002 Сборка..


gfilatov2002
Сборка mgDBU Compile.bat (с build.bat ok!) выдает
DBUVIEW.prg(66) Error E0030 Syntax error "syntax error at 'BEFORE'"

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3319
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.08.20 12:22. Заголовок: Разобрался. Забываю,..


Разобрался.
Забываю, что в этом Compile.bat есть строка
@if "%MG_ROOT%"=="" set MG_ROOT=c:\minigui
которую надо править каждый раз на
@if "%MG_ROOT%"=="" set MG_ROOT=c:\miniguiBcc58
в др. Compile.bat берется из minigui.cfg. там правлю всегда
 
# Basic configuration for Compile.bat
MG_CMP=harbour
MG_BCC=c:\borland\bcc58
MG_ROOT=c:\miniguiBcc58


Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 9
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет