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 [только новые]


gfilatov2002
moderator




Пост N: 2106
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 27.02.23 11:11. Заголовок: Andrey пишет: функц..


Andrey пишет:

 цитата:
функция определяющая тип время


Попробуй использовать функцию HB_ISTIMESTAMP()

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




Пост N: 7306
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.02.23 11:29. Заголовок: Спасибо БОЛЬШОЕ ! ..


Спасибо БОЛЬШОЕ !

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




Пост N: 4234
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.02.23 11:45. Заголовок: Andrey Уже публиков..


Andrey
Уже публиковали, повторю https://github.com/Petewg/harbour-core/wiki

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




Пост N: 7307
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.02.23 18:04. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Попробуй использовать функцию HB_ISTIMESTAMP()


А можно добавить аналогично как другие hb_IsLogical, hb_IsDate, hb_IsChar , типа - hb_IsDateTime ?

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




Пост N: 4235
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.02.23 18:10. Заголовок: Andrey по ссылке на..


Andrey
по ссылке на оглавлении hb_I смотреть не пробовал ?
 
...
hb_IsDateTime(<xExp>) ➜ lResult
determines if <xExp> evaluates to a timestamp (valtype "T") or a date (valtype "D") value.

hb_IsTimestamp(<xExp>) ➜ lResult
determines if <xExp> evaluates to a timestamp (valtype "T).


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




Пост N: 7308
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.02.23 18:20. Заголовок: SergKis пишет: по с..


SergKis пишет:

 цитата:
по ссылке на оглавлении hb_I смотреть не пробовал ?


Да опять моё невнимание. Посмотрел только в CH и все...
Извиняюсь...

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




Пост N: 4236
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.02.23 11:41. Заголовок: gfilatov2002 Неболь..


gfilatov2002
Небольшая недоработка в MDI с ToolBar, примеры тут https://TransFiles.ru/duv77
1. demo.exe - ToolBar на MdiMain окне - нажатие Maximize окна работает как надо ToolBar меняет размер
2. demo2.exe- ToolBar на MdiChild окне - нажатие Maximize окна работает НЕ как надо ToolBar НЕ меняет размер
с тсб, то что размер не меняется, так и должно быть - нет обработчика
h_events.prg 
****************************************************************************
CASE WM_SIZE
****************************************************************************
...
FOR i := 1 TO ControlCount

IF _HMG_aControlParentHandles [ i ] == hWnd

IF _HMG_aControlType [ i ] == "TOOLBAR"
SendMessage ( _HMG_aControlHandles [ i ], TB_AUTOSIZE, 0, 0 )
ENDIF

ENDIF

NEXT i
...
h_windowsmdi.prg
//**********************************************************************
CASE nMsg == WM_SIZE
//**********************************************************************
...
нет SendMessage ( _HMG_aControlHandles [ i ], TB_AUTOSIZE, 0, 0 ), как выше

может тут причина

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




Пост N: 2108
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 02.03.23 11:12. Заголовок: Выложил 2-е обновлен..


Выложил 2-е обновление сборки 23.02 с учетом последних исправлений и дополнений

click here

Благодарю Андрея Верченко и Сергея Киселева за непрерывную поддержку разработки этой библиотеки

Желаю всем форумчанам здоровья и процветания

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




Пост N: 7311
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.03.23 09:00. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Выложил 2-е обновление сборки 23.02 с учетом последних исправлений и дополнений


Спасибо БОЛЬШОЕ Григорий за твой труд !

Народ !
Оцените код примера - MiniGUI\SAMPLES\Advanced\Tsb_array_4
Огромное СПАСИБО Сергею за его участие в создание таких примеров !
Был бы раньше такой пример, я бы по другому сделал у себя ВСЕ таблицы.

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




Пост N: 4244
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.03.23 12:30. Заголовок: gfilatov2002 SergKi..


gfilatov2002
SergKis пишет
 цитата:
Небольшая недоработка в MDI с ToolBar


Сделал как в нашей версии
1. убрал в FUNCTION MdiEvents ( hWnd, nMsg, wParam, lParam ) секцию WM_SIZE, т.е.
/*
//**********************************************************************
CASE nMsg == WM_SIZE
//**********************************************************************
...
*/
//**********************************************************************
CASE nMsg == WM_CLOSE
//**********************************************************************
...
2. h_events.prg
 
****************************************************************************
CASE WM_SIZE
****************************************************************************
...
IF _HMG_MainClientMDIHandle != 0

IF wParam != SIZE_MINIMIZED .AND. hWnd==_HMG_MainHandle

SizeClientWindow ( hWnd, _HMG_ActiveStatusHandle, _HMG_MainClientMDIHandle, r )

ENDIF

ENDIF
...

работает как надо с изменением Maximize\Normalize Main окна, но так же не работает, как и раньше, с Maximize MdiChild окна (пример 1 из архива выше)

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




Пост N: 2110
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.03.23 16:03. Заголовок: SergKis пишет: не р..


SergKis пишет:

 цитата:
не работает, как и раньше, с Maximize MdiChild окна


Решил эту проблему в примере 2 из архива, добавив в основное окно два обработчика событий ON MAXIMIZE и ON SIZE:

 
DEFINE WINDOW wMain AT nY,nX WIDTH nW HEIGHT nH TITLE cTitle ;
MAIN MDI TOPMOST ;
BACKCOLOR {227, 238, 251} ;
ON INIT {|| This.Topmost := .F., DoEvents(), _wPost(0) } ;
ON MAXIMIZE {|| iif( ISNUMERIC( hSpl ), _SetWindowSizePos ( hSpl, , , This.Width ), ) } ;
ON SIZE {|| iif( ISNUMERIC( hSpl ), _SetWindowSizePos ( hSpl, , , This.Width ), ) } ;
ON INTERACTIVECLOSE {|| _wSend(98), This.Cargo:lCloseForm } ;
ON RELEASE {|| dbCloseAll() }
и сделал переменную hSpl типа Public в функции Main (соответственно убрал ее из функции Child_Button()):

 цитата:
PUBLIC hSpl



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




Пост N: 4245
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.03.23 18:07. Заголовок: gfilatov2002 пишет Р..


gfilatov2002 пишет
 цитата:
Решил эту проблему в примере 2 из архива, добавив в основное окно два обработчика событий ON MAXIMIZE и ON SIZE:


С самим MdiChild окном - все ясно (надо обработчики, лучше спрятать во внутрь, а не прописывать каждому окну). Изменения про которые писал выше, касаются только притягивания StatusBar и ToolBar к размеру MdiMain окна (Maximize\Normalize кнопка), в 1-м и во втором примерах (до изменений работало правильно только во 2-м примере, в 1-м нет).
А
 цитата:
но так же не работает, как и раньше, с Maximize MdiChild окна (пример 1 из архива выше)


относится к 1-му примеру, т.е. запускаем, жмем, например, кнопку 3, получаем MdiChild окно, жмем кнопку Maxmize этого окна и получаем .... Тут тоже вопрос есть. Как выполнять Maximize ? Приводить все MdiChild окна к режиму Maximize или делать MdiChild окно в размер реальной клиентской области MdiMain окна ?
PS
В своей версии режим работы 1-го примера не используем в работе MDI, все только в режиме 2-го примера, т.е. всем MdiChild окнам (в lib загнали) делается This.Maximize, т.е. всегда видим только одно окно (под ним могут быть др. MdiChild окна, можно их видимость переключать) + Modal окна как в примере 2-а. Как показала практика - этого достаточно

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




Пост N: 2112
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 14.03.23 11:42. Заголовок: Всем кому это интересно


Выложил 3-е обновление сборки 23.02 с учетом последних исправлений и дополнений

click here

Это последнее обновление библиотеки, дальнейшая ее разработка и поддержка поставлены на паузу...

Благодарю за ваше внимание.

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




Пост N: 7337
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.03.23 18:55. Заголовок: Григорий, можно в h_..


Григорий, можно в h_tbrowse.prg в METHOD ExcelOle(...) поменять местами строки ?
   IF bExtern != NIL 
Eval( bExtern, oSheet, Self )
ENDIF

oRange:Borders():LineStyle := xlContinuous
oRange:Columns:AutoFit()

Сделать так:
oRange:Borders():LineStyle := xlContinuous
oRange:Columns:AutoFit()

IF bExtern != NIL
Eval( bExtern, oSheet, Self )
ENDIF

Дело в том что
oRange:Columns:AutoFit() // автоматически поменять ширину всех столбцов и высоту всех строк 
// в диапазоне, чтобы туда уместился текст ячеек.

А я хочу менять ширину колонок.

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




Пост N: 1912
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 19.03.23 23:20. Заголовок: Andrey пишет: А я х..


Andrey пишет:

 цитата:
А я хочу менять ширину колонок.



Гораздо полезнее если метод будет опционально возвращать oExcel вне зависимости от установки lActivate. Тогда делать можно что угодно с созданным объектом.

Ps. Повторюсь, метод на любителя. Скорее как пример работы с оле , чем реально требующийся.

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




Пост N: 7340
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.03.23 09:38. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Выложил 3-е обновление сборки 23.02 с учетом последних исправлений и дополнений


Перешёл на него, отдельные проекты собираются.
Перестал работать ехе-ник моей большой системы.
Собирается, запускается, в лог чуток пишет и выходит без ошибки ! Совсем выходит, без запуска MAIN окна.
Откатился на 23.01 - прога собирается и запускается нормально...
Что такого нового в этом обновление ?

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




Пост N: 2113
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 26.03.23 16:41. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Это последнее обновление библиотеки


Завершается подготовка 4-го и последнего обновления сборки 23.02

Что нового:
Скрытый текст

Если у вас есть дополнения к этой сборке, то я с удовольствием рассмотрю их

Желаю всем доброго здоровья (SergKis) и благодарю за ваше внимание.

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




Пост N: 7342
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.03.23 18:22. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Если у вас есть дополнения к этой сборке, то я с удовольствием рассмотрю


Отправил на почту.

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




Пост N: 4252
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 27.03.23 14:54. Заголовок: gfilatov2002 Спасиб..


gfilatov2002
Спасибо за пожелание. Всем его желаю.

Такую правку предлагаю.
 
FUNCTION _EndTBrowse( bEnd )
...
IF i > 0
oBrw := _HMG_aControlIds[ i ]
IF Len(oBrw:aColumns) > 0
oc := ATail(oBrw:aColumns)
oBrw:oPhant:nClrHeadBack := oc:nClrHeadBack
oBrw:oPhant:nClrFootBack := oc:nClrFootBack
oc := NIL
ENDIF

oBrw:lRePaint := .T.
...

что бы не писать

END TBROWSE ON END {|ob,oc| ob:SetNoHoles(), oc := ATail(ob:aColumns), ;
ob:oPhant:nClrHeadBack := oc:nClrHeadBack, ;
ob:oPhant:nClrFootBack := oc:nClrFootBack, ;
ob:Refresh(), ob:SetFocus() }


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




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


SergKis пишет:

 цитата:
правку предлагаю


Принято, но с поправкой.

SergKis пишет:

 цитата:

...
oBrw := _HMG_aControlIds[ i ]
IF Len(oBrw:aColumns) > 0
oc := ATail(oBrw:aColumns)
oBrw:oPhant:nClrHeadBack := oc:nClrHeadBack
oBrw:oPhant:nClrFootBack := oc:nClrFootBack
oc := NIL
ENDIF
oBrw:lRePaint := .T.


Поскольку в этот момент колонка oPhant не определена, переписал эту правку таким образом:

 
...
oBrw:lRePaint := .T.
oBrw:Display()
IF Len( oBrw:aColumns ) > 0 .AND. ! Empty( oBrw:oPhant )
oc := ATail( oBrw:aColumns )
oBrw:oPhant:nClrHeadBack := oc:nClrHeadBack
oBrw:oPhant:nClrFootBack := oc:nClrFootBack
oc := NIL
ENDIF
...


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