Clarion 11-12

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8368
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 35 раз
Поблагодарили: 113 раз

Clarion 11-12

Сообщение Игорь Столяров »

kreator писал(а): 28 Декабрь 2025, 18:28 Проверка на "впихуемость" строки в переменную лежит на программисте.
Вот этот "сишный" вариант был бы самым худшим из возможных ... 🤦‍♀️
Если посмотреть картинки 8-ми (!!!) летней давности, то вроде бы USTRING имеет размерность.
И вроде бы (!) эта размерность именно в символах UNICODE (без привязки к реальной длине строки в BYTE)

1.jpg

Кстати, в примере хорошо видно город где всё вот это "USTRING туда и обратно" происходит ... :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
kreator
✯ Ветеран ✯
Сообщения: 5256
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 27 раз

Clarion 11-12

Сообщение kreator »

Игорь Столяров писал(а): 28 Декабрь 2025, 18:49 Вот этот "сишный" вариант был бы самым худшим из возможных ...
Наверно поэтому и делают "безразмерные" типы, чтобы мы не парились.
Игорь Столяров писал(а): 28 Декабрь 2025, 18:49 Если посмотреть картинки 8-ми (!!!) летней давности, то вроде бы USTRING имеет размерность.
Если это юникод Майкрософта, то ещё что-то можно подсчитать. А в стандартном некоторые символы имеют 1 байт, другие 2 байта, вроде есть и по три и по четыре байта. Как подсчитать в этом случае?
We are hard at work… for you. :)
kreator
✯ Ветеран ✯
Сообщения: 5256
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 27 раз

Clarion 11-12

Сообщение kreator »

Admin писал(а): 28 Декабрь 2025, 15:33
kreator писал(а): 28 Декабрь 2025, 14:52 Руками? В каждой процедуре? В каждом экране?
TXD + можно написать утилитку меняющую интеллектуально а не просто все подряд
RZ написал про какие-то области для тестирования. Но мне нужно сразу всё большое приложение перевести на Юникод. Не каждую процедуру, а сразу всё. Не может же быть так - один экран в Юникоде, другой в Анси.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8368
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 35 раз
Поблагодарили: 113 раз

Clarion 11-12

Сообщение Игорь Столяров »

kreator писал(а): 28 Декабрь 2025, 21:00 Как подсчитать в этом случае?
Динамически при присвоении значения. Как это делается в типе данных ANY или штатном классе DynStr ...
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5681
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 20 раз
Поблагодарили: 82 раза

Clarion 11-12

Сообщение finsoftrz »

В sqlite и тип char имеет динамический размер. То есть можно задекларировать поле char(40) и присвоить значение с длиной в 2 раза больше, все сохраниться и прочитается. Указание длины строки оставили для обратной совместимости по синтаксису.

Наверно, стоило бы предоставить бету всем бесплатно для тестирования, чтобы народ убедился, что действительно что-то разрабатывается (если вообще разрабатывается). А то так будет очень странно, если кто-то захочет продлять подписку.
Кстати, в кларионе ещё с 90-х имеется тип данных bstring, который предназначался для работы со строками в юникоде. О нем почему-то очень редко вспоминают.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8368
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 35 раз
Поблагодарили: 113 раз

Clarion 11-12

Сообщение Игорь Столяров »

finsoftrz писал(а): 28 Декабрь 2025, 23:12 В sqlite и тип char имеет динамический размер
А разве в SQLite есть такой тип данных ? Строковые поля SQLite - это TEXT без размера ...
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Ответить