On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
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: 2119
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.10.18 12:44. Заголовок: Andrey пишет Что нуж..


Andrey пишет
 цитата:
Что нужно вызывать после этого метода ?


Ничего не нужно.
Надо найти у себя переустановку этого дела или ячейки :nCell

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




Пост N: 6100
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.10.18 12:53. Заголовок: SergKis пишет: Надо..


SergKis пишет:

 цитата:
Надо найти у себя переустановку этого дела или ячейки :nCell


Уже неделю с этим бьюсь периодически....

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




Пост N: 6963
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.10.18 13:05. Заголовок: Andrey пишет: Уже н..


Andrey пишет:

 цитата:
Уже неделю с этим бьюсь периодически...


Сделай простой пример: бровс и кнопка , при нажатии которой вводится
место "прыга" и почекай как пашет Gopos

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



Пост N: 2120
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.10.18 13:05. Заголовок: Andrey Tsb_array_2&..


Andrey
Tsb_array_2\demo.prg
 
STATIC FUNCTION CreateDatos()
LOCAL a, i, k := 1000, aDatos, aHead, aSize, aFoot, aPict, aAlign, aName
...
i % 2 == 0 } // 14
a := AClone(aDatos[ i ])
AEval(a, {|xv| AAdd(aDatos[ i ], xv) })
AEval(a, {|xv| AAdd(aDatos[ i ], xv) })

...
PROCEDURE MAIN
...
END TBROWSE

oBrw:GoPos(1, 21)
// oBrw:GoPos(7, 31)

END WINDOW
...

работают строки

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




Пост N: 6101
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.10.18 13:09. Заголовок: SergKis пишет: рабо..


SergKis пишет:

 цитата:
работают строки


Да, это работают. Видно у меня что-то не того....

Сделал как Дима посоветовал:
  IF nStaticNumField <= 0 
oBrw1:GoPos( 1,7 ) // передвинуть МАРКЕР на XX строку и XX колонку
ELSE
oBrw1:GoPos( 1,6 + nStaticNumField ) // передвинуть МАРКЕР на XX строку и XX колонку
oBrw1:Refresh(.T.)
ENDIF

Первый показ срабатывает, другие разы нет !

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


Пост N: 1388
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.10.18 13:27. Заголовок: Andrey пишет: oBrw1..


Andrey пишет:

 цитата:
oBrw1:GoPos( 1,6 + nStaticNumField ) // передвинуть МАРКЕР на XX строку и XX колонку
oBrw1:Refresh(.T.)


Дима немножко не так советовал, хотя это тоже не помогло бы . А так GoPos() в конце кода и так вызывает Refresh()
В итоге ::ColumnRec( nColumn ) не нужен ,это тоже что и ::GoPos( ::nRowPos, nColumn ) и метод ::GoPos() рабочий

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




Пост N: 1389
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.10.18 10:46. Заголовок: Выпущена новая сборк..


Выпущена новая сборка 18.10 для BCC 5.51 и компиляторов Harbour и xHarbour

Базовый дистрибутив-инсталлятор находится по адресу

http://hmgextended.com/files/CONTRIB/hmg-18.10-setup.exe

Рекомендуется к использованию

Также имеются следующие сборки для Си-компиляторов:

- MinGW 8.1.0 32-bit для Harbour 3.2.0dev; (есть в наличии)

- MinGW 8.1.0 64-bit для Harbour 3.4.0dev; (есть в наличии)

- MS VisualC 2017 32-bit для Harbour 3.2.0dev; (есть в наличии)

- MS VisualC 2017 64-bit для Harbour 3.2.0dev; (есть в наличии)

- Borland/Embarcadero C++ 7.3 (32-bit) для Harbour 3.4.0dev. (под заказ)

Особая благодарность SergKis и Haz за их постоянную помощь в совершенствовании TsBrowse

Выпуск последующих сборок отложен на неопределенное время...

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



Пост N: 2121
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.11.18 11:25. Заголовок: gfilatov2002 В мето..


gfilatov2002
В методе неточность
 
METHOD GotoRec( nRec, nRowPos ) CLASS TSBrowse
...
If HB_ISBLOCK( nRecnRowPos )
nRowPos := Eval( nRowPos, Self )
EndIf
подключать блок не удалось, сделал правку для варианта с полным заполнением посл. экрана, тогда и блоки не нужны
METHOD GotoRec( nRec, nRowPos ) CLASS TSBrowse
LOCAL cAlias
LOCAL nSkip
LOCAL n
LOCAL nRecSave
LOCAL lRet := .F.
LOCAL lReCount := .F.

IF ::lIsDbf

/*
If HB_ISBLOCK( nRec )
nRec := Eval( nRec, Self )
EndIf

If HB_ISBLOCK( nRec )
nRowPos := Eval( nRowPos, Self )
EndIf
*/
lRet := .T.
cAlias := ::cAlias
::nLastPos := ( cAlias )->( RecNo() )
nRec := Min( ( cAlias )->( LastRec() ), nRec )

If HB_ISLOGICAL(nRowPos) .and. nRowPos .and. ::nLen > ::nRowCount()
nRowPos := Nil
nRecSave := ::nLastPos
(cAlias)->( dbGoto(nRec) )
(cAlias)->( dbSkip( ::nRowCount() - ::nRowPos ) )

If (cAlias)->( EOF() )
Eval( ::bGoBottom )
::nRowPos := ::nRowCount()

DO WHILE ::nRowPos > 1 .and. (cAlias)->( RecNo() ) != nRec
(cAlias)->( dbSkip( -1 ) )
::nRowPos --
ENDDO
Else
(cAlias)->( dbGoto(nRecSave) )
EndIf
EndIf

hb_default( @nRowPos, ::nRowPos )

( cAlias )->( dbGoto( nRec ) )

n := 0
...

Использовать
:GotoRec(nRec, .T.)
или как обычно

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


Пост N: 1393
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 02.11.18 12:03. Заголовок: SergKis пишет: Испо..


SergKis пишет:

 цитата:
Использовать
:GotoRec(nRec, .T.)
или как обычно



то есть nRowPos или число или признак проверки на последний экран ?
может тогда третьим параметром ?

SergKis пишет:

 цитата:
подключать блок не удалось


Не подобрать условие ?

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



Пост N: 2122
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.11.18 15:15. Заголовок: Haz пишет то есть nR..


Haz пишет
 цитата:
то есть nRowPos или число или признак проверки на последний экран ?


Да. У себя поставил DEFAULT nRowPos := .T. на входе - основной режим
т.е. всегда заполнять последний экран, если надо оставить пустоту внизу экрана, то
:GotoRec(nRec, :nRowPos\или число)
но такое реже надо

 цитата:
Не подобрать условие ?


была ошибка в коде
 
If HB_ISBLOCK( nRec надо nRowPos )
nRowPos := Eval( nRowPos, Self )
EndIf

исправлять ее для блока или заменить вызов самим кодом, я сделал второе

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


Пост N: 1394
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 02.11.18 15:35. Заголовок: SergKis пишет: была..


SergKis пишет:

 цитата:
была ошибка в коде



Да при вставке в исходник скорее всего техническая опечатка у Григория проскочила. Не удивительно мы столько раз просили его то то поменять то это

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




Пост N: 1390
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 02.11.18 17:04. Заголовок: SergKis пишет: Испо..


SergKis пишет:

 цитата:
Использовать
:GotoRec(nRec, .T.)
или как обычно


Благодарю за исправление моей опечатки
Да, без дополнительных кодовых блоков эта функция теперь работает отлично

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



Пост N: 2123
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.11.18 18:28. Заголовок: gfilatov2002 Чуть д..


gfilatov2002
Чуть добавить надо (пропущена ситуация)
 
METHOD GotoRec( nRec, nRowPos ) CLASS TSBrowse
...
(cAlias)->( dbGoto(nRecSave) )
EndIf
EndIf

If HB_ISLOGICAL(nRowPos)
nRowPos := Nil
EndIf

hb_default( @nRowPos, ::nRowPos )

( cAlias )->( dbGoto( nRec ) )
...


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




Пост N: 1391
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 02.11.18 18:40. Заголовок: SergKis пишет: ..


SergKis пишет:

 цитата:
If HB_ISLOGICAL(nRowPos)
nRowPos := Nil
EndIf


Такой добавочный код излишен, поскольку функция hb_default() поправит этот случай


 цитата:
hb_default( @nRowPos, ::nRowPos )



Проверил корректность работы функции на примере из папки samples\Advanced\Tsb_addrecord
Функция сработала без проблем

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



Пост N: 2124
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.11.18 18:52. Заголовок: gfilatov2002 пишет ..


gfilatov2002 пишет
 цитата:
поскольку функция hb_default() поправит этот случай


 
If HB_ISLOGICAL(nRowPos) .and. nRowPos .and. ::nLen > ::nRowCount()
Если ::nLen <= ::nRowCount(), то nRowPos пойдет дальше логический
и имеем далее
DO WHILE !( cAlias )->( BoF() ) .AND. n < nRowPos - 1


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




Пост N: 6106
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.11.18 19:03. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
- MS VisualC 2017 32-bit для Harbour 3.2.0dev; (есть в наличии)
- MS VisualC 2017 64-bit для Harbour 3.2.0dev; (есть в наличии)



Хотелось бы попробовать перейти на этот компилятор.
Как получить эти сборки ?

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




Пост N: 1392
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 02.11.18 20:39. Заголовок: Andrey пишет: Как п..


Andrey пишет:

 цитата:
Как получить эти сборки ?


Отправил ссылки на архивы этих сборок по почте

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




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


gfilatov2002 пишет:

 цитата:
Отправил ссылки на архивы этих сборок по почте


Спасибо ! Получил.
Теперь вопрос другой - как распаковать эти архивы, чтобы можно было собирать свой проект под разными компиляторами ?
Хотелось бы иметь возможность через *.hbp собирать проект для 3-х компиляторов: BCC, VC, VC64.
Желательно бы иметь такую структуру каталогов:
C:\MiniGUI\BCC
C:\MiniGUI\VC17
C:\MiniGUI\VC1764
Или по другому, как лучше будет и универсальней.

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



Пост N: 2125
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.11.18 13:13. Заголовок: Григорий, можно Андр..


Григорий, можно Андрей кинет мне (он знает куда) ссылки или архивы сборок VC-ных, полюбопытсвовать.

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




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


SergKis пишет:

 цитата:
можно Андрей кинет мне (он знает куда) ссылки


Без проблем - это ведь тестовые сборки для любопытных

Кстати, обновил сегодня сборку 18.10 (Update 1) с учетом Ваших исправлений в TsBrowse

Что нового:

 цитата:
* Fixed: Program crash at releasing of a Tab control with imbedded Slider
(introduced in the build 18.10).
Bug was reported by Richard Rylko.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Modified: The function HMG_Alert() respects now the Minigui command
SET CENTERWINDOW RELATIVE PARENT.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
* Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG:
- improved the method GotoRec( nRec [, lLastPos | nRowPos ] )
in the TSBrowse class. Contributed by Sergej Kiselev
(see demo in folder \samples\Advanced\Tsb_addrecord)



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