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


gfilatov2002
moderator




Пост N: 1835
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 09.03.21 10:47. Заголовок: SergKis пишет: тогд..


SergKis пишет:

 цитата:
тогда в боке кода будет среда This для контрола GETBOX


Предложение интересное, но смущает значение переменной __mvGet( ::name ), которая передается вторым параметром.
Там должен быть числовой параметр, а Вы передаете строковый
Или я что-то упустил

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




Пост N: 3582
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.03.21 10:57. Заголовок: gfilatov2002 пишет И..


gfilatov2002 пишет
 цитата:
Или я что-то упустил


 
FUNCTION _DefineGetBox ( ControlName, ParentFormName, x, y, w, h, Value, ;
...
k := _GetControlFree()
...
Public &mVar. := k
...
oget := Get()
oget:New( -1, -1, { | x | iif( x == NIL, oget:cargo, oget:cargo := x ) }, '', cPicture )
oget:cargo := Value
oget:preblock := when
oget:postblock := valid
oget:message := cmessage
oget:name := mVar

oget:control := ControlHandle
oget:SetFocus()
oget:original := oGet:buffer
...

Это имя переменной, в которой определен индекс контрола и __mvGet( ::name ) дает из public переменной номер индекса, можно проверять на наличие переменной, но это излишне, т.к. объект существует пока есть контрол GETBOX

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




Пост N: 1836
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 09.03.21 11:15. Заголовок: SergKis пишет: дает..


SergKis пишет:

 цитата:
дает из public переменной номер индекса


Ok, принято

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




Пост N: 1837
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 17.03.21 17:39. Заголовок: Всем кому это интересно 8-)


Подготовил 3-ю бета-версию для новой сборки 21.03

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

Поддержка уникода потребовала серьезного пересмотра Си-кода ядра библиотеки
Возможно, что-то я упустил из виду...

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




Пост N: 6920
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.03.21 11:39. Заголовок: Очень ждём ! :sm12:..


Очень ждём !

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




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


gfilatov2002
Небольшая правка
 
CLASS TWndData //---------------------------------------------------
...
ACCESS VarName INLINE ::cVar
ACCESS FocusedControl INLINE _GetFocusedControl ( ::cName )

...
METHOD SetFocus( xName ) INLINE iif( empty(xName), SetFocus( ::nHandle ), ;
iif( HB_ISOBJECT(::GetObj(xName)), ::GetObj(xName):SetFocus(), DoMethod(::cName, xName, "SetFocus") ) )

...


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




Пост N: 1840
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 20.03.21 13:39. Заголовок: SergKis пишет: Небо..


SergKis пишет:

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


Принято с благодарностью

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




Пост N: 3636
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.03.21 12:04. Заголовок: gfilatov2002 Правка..


gfilatov2002
Правка по колонке тсб
 
METHOD ToWidth( uLen, nKfc, lHeader ) CLASS TSColumn

LOCAL nWidth, nLen, cTyp, cChr := 'B', hFont := ::hFont

DEFAULT nKfc := 1

IF HB_ISLOGICAL( lHeader )
hFont := iif( lHeader, ::hFontHead, ::hFontFoot )
DEFALT hFont := ::hFont
ENDIF

If HB_ISCHAR( uLen )
cChr := uLen

ElseIf ! Empty( ::cPicture ) .and. HB_ISCHAR( ::cPicture )
If Empty( uLen )
...
nWidth := GetTextWidth( 0, cChr, hFont )
...


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




Пост N: 3637
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.03.21 12:14. Заголовок: PS Возможно такой ва..


PS
Возможно такой вариант лучше ?
 
If HB_ISCHAR( uLen )
IF CRLF $ uLen
cChr := ""
FOR EACH uLen IN hb_ATokens( uLen )
IF Len( uLen ) > Len( cChr ) ; cChr := uLen
ENDIF
NEXT
ELSE
cChr := uLen
ENDIF

ElseIf ! Empty( ::cPicture ) .and. HB_ISCHAR( ::cPicture )


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




Пост N: 1841
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.03.21 12:24. Заголовок: SergKis пишет: Возм..


SergKis пишет:

 цитата:
Возможно такой вариант лучше ?


Да, в таком случае учитываются многострочные ячейки...

Благодарю за помощь

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




Пост N: 1842
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.03.21 09:31. Заголовок: Всем кому это интересно 8-)


Опубликована новая сборка 21.03 для BCC 5.8.2 и компиляторов Harbour и xHarbour.

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

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

Огромная благодарность Сергею Киселеву за помощь при подготовке этой сборки

P.S. Я также подготовил архив для UNICODE сборки 21.03, который доступен всем, кто решит поддержать разработку библиотеки.

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




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


gfilatov2002
Небольшая правка, упустил слегка (согласовать TWndData и TCnlData)
 
CLASS TWndData
...
ACCESS WO INLINE ::oCargo
ACCESS WP INLINE ::oProp

METHOD SetProp( xKey, xVal ) INLINE ::oProp:Set( xKey, xVal )
METHOD GetProp( xKey ) INLINE iif( pCount() > 0, ::oProp:Get( xKey ), ::oProp )

...
CLASS TCnlData INHERIT TWndData
...
METHOD GetProp( xKey ) INLINE iif( pCount() > 0, ::oWin:oProp:Get( xKey ), ::oWin:oProp )

...
Применять
DEFINE WINDOW ...
...
WITH OBJECT (This.Object):GetProp()
:nTable := 3
:cTable := "oReport11"
...
END WITH
...
(This.Object):Event(20, {|ow|
LOCAL cBrw, nBrw
WITH OBJECT ow:GetProp() // или ow:WP
cBrw := :cTable
nBrw := :nTable
...
END WITH
...
RETURN NIL
})


 цитата:
подготовил архив для UNICODE


Можно получить в личке, для пощупать

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




Пост N: 3668
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 31.03.21 11:20. Заголовок: gfilatov2002 AC..


gfilatov2002
ACCESS WO INLINE ::oCargo
ACCESS WP INLINE ::oProp
В TWndData есть, глаз замылился

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




Пост N: 1843
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.03.21 11:44. Заголовок: SergKis пишет: ACCE..


SergKis пишет:

 цитата:
ACCESS WO INLINE ::oCargo
ACCESS WP INLINE ::oProp


Благодарю за помощь
Уже обновил по-быстрому мартовскую сборку

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




Пост N: 3669
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 31.03.21 20:38. Заголовок: gfilatov2002 Что не..


gfilatov2002
Что не так делаю в unicode сборке ?
prg -> utf8 с bom, поставил
SET CODEPAGE TO UNICODE
собрал exe и тсб с lEdit := .T.
USE ... без указания CDP
пытаюсь в колонку CITY добавить в конец RU русскую букву и на добавляет, а EN буквы все ok!
Пример APP_OOPREPORT\demo.prg поправил слегка Скрытый текст


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




Пост N: 3670
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 31.03.21 20:53. Заголовок: PS DEFINE FONT No..


PS
 
DEFINE FONT Normall FONTNAME _HMG_DefaultFontName ;

поправил лишнюю букву, результат тот же.

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




Пост N: 1844
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 31.03.21 21:19. Заголовок: SergKis пишет: пыта..


SergKis пишет:

 цитата:
пытаюсь в колонку CITY добавить в конец RU русскую букву и на добавляет


А это контрол GETBOX шалит, он использует для проверки ввода Харбор-функцию IsAlpha(), которая не пропускает символы с кодом > 255. Кстати, в библиотеке TSBrowse тоже есть своя функция _IsChar() с таким же ограничением.
Надо подумать, чем можно их заменить.
Возможно, надо сделать обертку для Си-функции hb_charIsAlpha( iChar )

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




Пост N: 3671
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.04.21 01:09. Заголовок: gfilatov2002 Может ..


gfilatov2002
Может это подойдет Скрытый текст

? IsUtf("Привет ! ļķņ"), IsUtf(hb_StrToUtf8("Привет ! ļķņ")) // .F. .T.

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




Пост N: 1845
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 01.04.21 11:17. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может это подойдет


Нет, такая функция уже есть в Харборе - hb_StrIsUTF8()
Я поправил класс TGet и внес изменения в обработку нажатой клавиши для GetBox, чтобы можно было ввести unicode символы.
GetBox уже заработал с русским языком, но в TsBrowse надо править также методы KeyChar и Edit
Может Вы сможете это сделать с учетом вашей уникодной hmg 2.07

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




Пост N: 3672
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.04.21 12:35. Заголовок: gfilatov2002 пишет в..


gfilatov2002 пишет
 цитата:
в TsBrowse надо править также методы KeyChar и Edit


У нас ничего исправленного в методах нет, т.к. cdp utf8 не используется, сразу в unicode все.
И GetBox в этом направлении не трогался (там др. версия его).

 цитата:
такая функция уже есть в Харборе - hb_StrIsUTF8()


Которую давал текст, уже исп. с 10 года. Я хотел предложить на ней или родной вариант типа
#xtranslate _IsAlpha( cChar ) => iif( hb_StrIsUTF8(), .T., IsAlpha( cChar ) )
и в TGET использовать, добавив _ к IsAlpha( cChar )

Хорошо бы с nKey иметь похожую ф-ю.
Помочь не против

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