Автор | Сообщение |
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; - новые и обновленные старые примеры (как обычно ).
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
gfilatov2002
|
| moderator
|
Пост N: 1880
Зарегистрирован: 11.02.10
|
|
Отправлено: 15.06.21 21:18. Заголовок: Haz пишет: могу в о..
Haz пишет: цитата: | могу в отдельный пример накидать |
| Да, конечно. Такой пример будет интересен в качестве альтернативы...
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3764
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.06.21 12:21. Заголовок: gfilatov2002 Поправи..
gfilatov2002 Поправить надо CLASS TWndData ... METHOD GetProp( xKey ) INLINE iif( xKey == NIL, ::oProp, ::oProp:Get( xKey ) ) ...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1881
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.06.21 12:34. Заголовок: SergKis пишет: Попр..
SergKis пишет: Принято. Благодарю за помощь
|
|
|
rvu
|
| |
Пост N: 333
Зарегистрирован: 05.11.05
|
|
Отправлено: 16.06.21 16:57. Заголовок: В уникодной версии U..
В уникодной версии Upper() только с английским языком работает msginfo(UPPER('abc абв áéíóú')) -> ABC абв áéíóú При этом DEFINE COMBOBOX ... UPPERCASE .T. END COMBOBOX переводит регистр правильно в любом языке из тех, что пробовал. Раньше, в неуникодной программе, я переводил данные в STR, потом делал Upper, но сейчас msginfo(HB_STRTOUTF8(UPPER(HB_UTF8TOSTR('abcабв',"RU1251")),"RU1251")) тоже не работает. Как бы с этим справиться? В принципе, могу, конечно, написать свою функцию, где условно 'абвгдежзийклмнопрстуфхцчшщъыьэюя' менять на 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'. Но может есть уже штатные средства?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3766
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.06.21 19:59. Заголовок: rvu пишет В уникодно..
rvu пишет цитата: | В уникодной версии Upper() только с английским языком работает |
| Работает с русским, но с показом списка вопросик. Пример поправленный BASE\Combo_1 https://TransFiles.ru/jyfhn список Combo_1 контрола не отобржается, а выбор работает список Combo_2 контрола работает нормльно
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1882
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.06.21 20:05. Заголовок: rvu пишет: Как бы с..
rvu пишет: цитата: | Как бы с этим справиться? |
| Добавил две новые функции: - HMG_UPPER(), - HMG_LOWER(). Результат работы см. на картинке.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3768
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.06.21 20:48. Заголовок: gfilatov2002 пишет Д..
gfilatov2002 пишет цитата: | Добавил две новые функции: |
| А разве старые upper() и lower() не должны работать с utf8 сразу ? Если переносить тексты в unicode версию, замучишься править
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1883
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.06.21 21:07. Заголовок: SergKis пишет: разв..
SergKis пишет: цитата: | разве старые upper() и lower() не должны работать с utf8 |
| Увы, не работают. Это выглядит, как недоработка в Харборе...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1884
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.06.21 21:08. Заголовок: SergKis пишет: Если..
SergKis пишет: цитата: | Если переносить тексты в unicode версию |
| Проблема решается с помощью препроцессора
|
|
|
rvu
|
| |
Пост N: 334
Зарегистрирован: 05.11.05
|
|
Отправлено: 16.06.21 21:42. Заголовок: SergKis пишет: Если..
SergKis пишет: цитата: | Если переносить тексты в unicode версию, замучишься править |
| В редакторе сразу все. Автоматом. Почему нет?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3769
Зарегистрирован: 17.02.12
|
|
Отправлено: 16.06.21 21:47. Заголовок: gfilatov2002 пишет П..
gfilatov2002 пишет цитата: | Проблема решается с помощью препроцессора |
| rvu пишет цитата: | В редакторе сразу все. Автоматом. Почему нет? |
| Это ф-ии hb, они должны работать в UNICODE сборке автоматом, по идее, без костылей иначе смысл такой сборки теряется, тут работает, а здесь нет. gfilatov2002 пишет цитата: | Увы, не работают. Это выглядит, как недоработка в Харборе... |
| Получается, что строки надо переводить из utf8 в нужную кодировку работать, как раньше, в однобайтной сборке и опять переводить в utf8 для контролов. Тогда смысл utf8 кодировки теряется, контролы в unicode, а работа в однобайтной схеме вполне хватило бы, переводить строки unicode->ansi->unicode, без utf8
|
|
|
|
rvu
|
| |
Пост N: 336
Зарегистрирован: 05.11.05
|
|
Отправлено: 16.06.21 22:53. Заголовок: SergKis пишет: рабо..
SergKis пишет: цитата: | работа в однобайтной схеме вполне хватило бы, переводить строки unicode->ansi->unicode, без utf8 |
| Да вот не смогли мы мои хотелки реализовать в своё время. Я тогда очень пытался по вашим советам.
|
|
|
rvu
|
| |
Пост N: 337
Зарегистрирован: 05.11.05
|
|
Отправлено: 17.06.21 08:31. Заголовок: Следующая проблема с..
Следующая проблема с уникодной версией: msginfo(AT('D','ABCDEF')) -> 4 msginfo(AT('Г','АБВГДЕ')) -> 7 С hb_At() аналогично.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1885
Зарегистрирован: 11.02.10
|
|
Отправлено: 17.06.21 09:31. Заголовок: rvu пишет: С hb_At(..
rvu пишет: Пробуйте функцию hb_UAt() Также в Харборе есть такие дополнительные функции hb_ULeft() hb_URight() hb_ULen() и т.д.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1886
Зарегистрирован: 11.02.10
|
|
Отправлено: 17.06.21 09:40. Заголовок: Всем кому это интересно
|
|
|
rvu
|
| |
Пост N: 338
Зарегистрирован: 05.11.05
|
|
Отправлено: 17.06.21 09:51. Заголовок: gfilatov2002 , спаси..
gfilatov2002 , спасибо!
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3770
Зарегистрирован: 17.02.12
|
|
Отправлено: 17.06.21 12:18. Заголовок: gfilatov2002 пишет О..
gfilatov2002 пишет цитата: | Обновил также UNICODE архив... |
| Пример выше Combo_1 работает, показывает список развернутый, если поправить имя фонта (в родном hmg примере имя задано неверно) Скрытый текст
#define _HMG_OUTLOG #include "hmg.ch" REQUEST HB_CODEPAGE_UTF8, HB_CODEPAGE_RU1251 FUNCTION Main LOCAL a1, a2 SET CODEPAGE TO UNICODE a1 := { ' 1 | Līnijas ' , ' 2 | Rindās ' , ' 3 | Drukāt ' } //a1 := { ' 1 | Один ' , ' 2 | Два ' , ' 3 | Три ' } a2 := { ' 1 | Один - Uno' , ' 2 | Два - Dos' , ' 3 | Три - tres' } a1 := &( hmg_upper(hb_valtoexp(a1)) ) DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 400 ; HEIGHT 200 ; TITLE 'ComboBox Demo' ; MAIN @ 20,20 COMBOBOX Combo_1 ; WIDTH 150 ; ITEMS a1 ; VALUE 1 ; ON ENTER {|| MsgInfo ( hb_ntos(This.Combo_1.ITEMHEIGHT)+CRLF+ ; hb_ntos(This.Combo_1.Value)+CRLF+ ; This.Combo_1.DisplayValue ) } ; // UPPERCASE ; ITEMHEIGHT 21 ; FONT 'Courier New' SIZE 12 DEFINE COMBOBOX Combo_2 ROW 20 COL ( This.Combo_1.Col+This.Combo_1.Width + 10 ) WIDTH 150 ITEMS a2 VALUE 1 ON ENTER {|cn| cn :=This.Name, MsgInfo ( hb_ntos(This.&(cn).ITEMHEIGHT)+CRLF+ ; hb_ntos(This.&(cn).Value)+CRLF+ ; This.&(cn).DisplayValue ) } //LOWERCASE .T. ITEMHEIGHT 17 END COMBOBOX END WINDOW CENTER WINDOW Form_1 ACTIVATE WINDOW Form_1 Return Nil
|
|
|
|
Haz
|
| |
Пост N: 1700
Зарегистрирован: 20.02.11
|
|
Отправлено: 17.06.21 17:15. Заголовок: gfilatov2002 пишет: ..
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1887
Зарегистрирован: 11.02.10
|
|
Отправлено: 17.06.21 17:46. Заголовок: Haz пишет: собрал н..
Haz пишет: OK Подход понравился...
|
|
|
Haz
|
| |
Пост N: 1702
Зарегистрирован: 20.02.11
|
|
Отправлено: 17.06.21 21:41. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: Это то , что выдернул из проекта и включил в отдельный пример, чтоб показать о чем речь. Сама идея тут понятна, но пример нужно доделать, этим займусь в ближайшее дни. В проекте работает до сих пор успешно, ошибки просматривать удобно и быстро. Что касается вывода сообщения пользователю , этим не заморачивался, просто пишу извини не получилось и войди заново. 😝
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|