Автор | Сообщение |
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; - новые и обновленные старые примеры (как обычно ).
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[см. все]
|
|
Haz
|
| |
Пост N: 1703
Зарегистрирован: 20.02.11
|
|
Отправлено: 17.06.21 21:41. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: Это то , что выдернул из проекта и включил в отдельный пример, чтоб показать о чем речь. Сама идея тут понятна, но пример нужно доделать, этим займусь в ближайшее дни. В проекте работает до сих пор успешно, ошибки просматривать удобно и быстро. Что касается вывода сообщения пользователю , этим не заморачивался, просто пишу извини не получилось и войди заново. 😝
|
|
|
rvu
|
| |
Пост N: 340
Зарегистрирован: 05.11.05
|
|
Отправлено: 18.06.21 05:27. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Пробуйте функцию hb_UAt() Также в Харборе есть такие дополнительные функции hb_ULeft() hb_URight() hb_ULen() и т.д. |
| hb_URAT() нет.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3771
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.06.21 09:11. Заголовок: rvu Небольшой приме..
rvu Небольшой пример Скрытый текст
#define _HMG_OUTLOG #include "hmg.ch" REQUEST HB_CODEPAGE_UTF8, HB_CODEPAGE_RU1251, HB_CODEPAGE_RU866 REQUEST DBFCDX *-----------------------------------------------------------------------------* FUNCTION Main() *-----------------------------------------------------------------------------* LOCAL cT, cF, n1, n2, t1, t2, t3, t4 SET CODEPAGE TO UNICODE cF := hb_Utf8ToStr("замена", "RU866") cT := hb_memoread("demo.txt") // текст RU866 n1 := At(cF, cT) n2 := RAt(cF, cT) t1 := left(cT, n1) t2 := subs(cT, n2) ? n1, t1 ? n2, t2 ? t3 := hb_StrToUtf8(t1, "RU866") t4 := hb_StrToUtf8(t2, "RU866") ? t3 ? t4 ? RETURN demo.txt. кодировка RU866 -------------------------------- 0 ··· 101 999 1 замена из ремф. замена на аналог из ремфонда 101 1 2 план. устан. ТО плановые установки ТО 101 1 3 возврат с пл.ус возврат с плановых установок 101 1 4 ремонт на месте ремонт на месте 86 1 5 установка в кв. установка в кв. клиента 101 4 6 дополн. услуги дополнительные услуги 101 5 7 монтаж по дог. монтаж АДС по договору польз. 101 2 8 установка под. установка в подъезде 33 4 9 замена а/у замена абон.устройств 101 1 10 замена инд.обор замена индивид. оборудования 101 1 11 установка в под 33 2 12 монтаж на под 33 2 13 установка в под установка в подъезде 33 4 14 установка в по. установка в подъезде 33 4 13 ремонт на месте ремонт на месте 33 1 14 33 0 11 замена замена оборудования 80 4 12 замена общая замена оборудования всего 86 1 13 86 0
|
|
|
|
rvu
|
| |
Пост N: 341
Зарегистрирован: 05.11.05
|
|
Отправлено: 18.06.21 09:40. Заголовок: SergKis пишет: cF :..
SergKis пишет: цитата: | cF := hb_Utf8ToStr("замена", "RU866") |
| У меня не только русский язык. У меня любой язык. И собрать свою Rat() легко можно из hb_UAt() и hb_ULen(). Тут важно определиться, что должно быть по определению в уникодной версии. Это пусть Григорий скажет.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3772
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.06.21 10:21. Заголовок: rvu пишет У меня не ..
rvu пишет цитата: | У меня не только русский язык. У меня любой язык |
| Если у вас все базы в utf8, старых вариантов нет и в одном поле присутствуют все языки мира, то ф-ии utf8 в помощь. В др. случаях можно применять и однобайтовые варианты, переводя в utf8 только для контролов
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1888
Зарегистрирован: 11.02.10
|
|
Отправлено: 18.06.21 10:30. Заголовок: rvu пишет: важно оп..
rvu пишет: цитата: | важно определиться, что должно быть по определению в уникодной версии. |
| Конечно, опираемся на Unicode-функционал, который есть в Харборе. Если необходимая реализация отсутствует, то приходится восполнять пробел. rvu пишет: Эта функция находится в TODO листе Харбора. rvu пишет: цитата: | собрать свою Rat() легко можно из hb_UAt() и hb_ULen(). |
| Значит, надо идти по этому пути, поскольку дальнейшее развитие Харбора в большом тумане...
|
|
|
rvu
|
| |
Пост N: 342
Зарегистрирован: 05.11.05
|
|
Отправлено: 18.06.21 10:36. Заголовок: SergKis пишет: В д..
SergKis пишет: цитата: | В др. случаях можно применять и однобайтовые варианты, переводя в utf8 только для контролов |
| Я пробовал с русским, писал об этом: rvu пишет: цитата: | msginfo(HB_STRTOUTF8(UPPER(HB_UTF8TOSTR('abcабв',"RU1251")),"RU1251")) |
| Но и это не вышло. Не знаю почему. Там контролы используются, кроме вывода?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3773
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.06.21 10:44. Заголовок: rvu пишет Но и это н..
rvu пишет Upper() в unicode переводит ТОЛЬКО английские буквы, потому и не вышло. Другой функционал разделен по именам ф-й.
|
|
|
rvu
|
| |
Пост N: 343
Зарегистрирован: 05.11.05
|
|
Отправлено: 18.06.21 10:46. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Значит, надо идти по этому пути, поскольку дальнейшее развитие Харбора в большом тумане... |
| А что с его развитием вообще? И что с Минигуи Роберто Лопеса? Как я понял там финальная версия 3.4.3? Я смотрел англоязычный форум, вроде, какая-то версия 3.4.4. существует, но я ее не смотрел. Она рабочая? Есть смысл ее ставить и смотреть?
|
|
|
rvu
|
| |
Пост N: 344
Зарегистрирован: 05.11.05
|
|
Отправлено: 18.06.21 10:48. Заголовок: SergKis пишет: Uppe..
SergKis пишет: цитата: | Upper() в unicode переводит ТОЛЬКО английские буквы, потому и не вышло. |
| Для любых кодировок? Тогда понятно. Я же переводил в STR.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1889
Зарегистрирован: 11.02.10
|
|
Отправлено: 18.06.21 11:07. Заголовок: rvu пишет: что с ег..
rvu пишет: цитата: | что с его развитием вообще? |
| Этого не знает никто, поскольку форум разработчиков Харбора давно молчит. rvu пишет: цитата: | что с Минигуи Роберто Лопеса? |
| Его никто не поддерживает на постоянной основе. rvu пишет: цитата: | какая-то версия 3.4.4. существует |
| Уже есть версия 3.5 с минимальными улучшениями. rvu пишет: цитата: | Она рабочая? Есть смысл ее ставить и смотреть? |
| Да, она рабочая, но, конечно, содержит небольшие ошибки, которые периодически всплывают у пользователей. Смысл посмотреть всегда есть, а вдруг понравится Вывод: если не будет мотивации для разработки (материальной и моральной), то судьба любого дела будет под вопросом.
|
|
|
|
rvu
|
| |
Пост N: 345
Зарегистрирован: 05.11.05
|
|
Отправлено: 18.06.21 11:22. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | собрать свою Rat() легко можно из hb_UAt() и hb_ULen(). Значит, надо идти по этому пути, поскольку дальнейшее развитие Харбора в большом тумане... |
| Function valRat Parameters Pr1,Pr2 If hb_UAt(Pr1,Pr2)=0 Return 0 Endif Return hb_ULen(Pr2)-hb_UAt(Pr1,Pr2)+1 Вы подобные вещи будете у себя включать? Это пустяк, но могут быть посложнее функции. И, наверное, их надо не под зарезервированными именами делать, не hb_URAT(). Так как это имя может потом использоваться в изначальном Харборе.
|
|
|
rvu
|
| |
Пост N: 346
Зарегистрирован: 05.11.05
|
|
Отправлено: 18.06.21 11:27. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Уже есть версия 3.5 с минимальными улучшениями. |
| А ссылку дадите, чтобы самому не искать? gfilatov2002 пишет: цитата: | если не будет мотивации для разработки (материальной и моральной) |
| Моральная очень даже есть - пользуемся (ничего, что я за всех?)
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3774
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.06.21 11:28. Заголовок: rvu пишет hb_ULen(Pr..
rvu пишет цитата: | hb_ULen(Pr2)-hb_UAt(Pr1,Pr2)+1 |
| Это если Pr1 встречается 1 раз, если nn раз ? Как в примере выше
|
|
|
rvu
|
| |
Пост N: 347
Зарегистрирован: 05.11.05
|
|
Отправлено: 18.06.21 11:35. Заголовок: SergKis пишет: Это ..
SergKis пишет: цитата: | Это если Pr1 встречается 1 раз, если nn раз ? |
| Ну вот. Я просто ни разу не использовал ее кроме первого вхождения. Но, кстати, посмотрел Help: SYNTAX RAT(<cSearch>, <cTarget>) --> nPosition ARGUMENTS <cSearch> is the character string to be located. <cTarget> is the character string to be searched. RETURNS RAT() returns the position of <cSearch> within <cTarget> as an integer numeric value. If <cSearch> is not found, RAT() returns zero. Вот где точно неправильно! — If <cSearch> is not found, RAT() returns zero. Добавил: Function valRat Parameters Pr1,Pr2 If hb_UAt(Pr1,Pr2)=0 Return 0 Endif Return hb_ULen(Pr2)-hb_UAt(Pr1,Pr2)+1
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3775
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.06.21 12:05. Заголовок: rvu Зачем городить ..
rvu Зачем городить огород Поищите в hb src\* по Alt+F7 в Far *.c "hb_func( hb_U" посмотрите список найденного, там будет hb_Utf8Rat(...) Используйте в примере выше ? n1, t1 ? n2, t2 ? "hb_Utf8Rat", hb_Utf8Rat("замена", hb_StrToUtf8(cT, "RU866")) ?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1890
Зарегистрирован: 11.02.10
|
|
Отправлено: 18.06.21 12:07. Заголовок: rvu пишет: ссылку ..
|
|
|
rvu
|
| |
Пост N: 348
Зарегистрирован: 05.11.05
|
|
Отправлено: 18.06.21 12:08. Заголовок: SergKis пишет: "..
SergKis пишет: цитата: | "hb_Utf8Rat", hb_Utf8Rat("замена", hb_StrToUtf8(cT, "RU866")) |
| Мне не только русский нужен.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3776
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.06.21 12:12. Заголовок: rvu пишет Мне не тол..
rvu пишет цитата: | Мне не только русский нужен. |
| Вы реально думаете, что ф-ии hb_U...() только для русского языка
|
|
|
rvu
|
| |
Пост N: 349
Зарегистрирован: 05.11.05
|
|
Отправлено: 18.06.21 12:31. Заголовок: Смутило: hb_StrToUt..
Смутило: цитата: | hb_StrToUtf8(cT, "RU866") |
| А зачем тогда в примере перекодировку писать? SergKis пишет: Григорий написал: gfilatov2002 пишет: цитата: | Эта функция находится в TODO листе Харбора. |
|
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[см. все]
|
|