CSTRING оно и есть
DFD, CacheTPSABC - не понял
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
DFD, CacheTPSABC - не понял
Нет уверенности, что хранится будет строка переменной длины. Во-вторых, кто-нибудь пользует этот тип в tps? То, что при импорте скульных таблиц в словарь Кларион даёт строкам тип CSTRING, ничего не значит. И SV рекомендует использовать этот тип для совместимости с внешними файлами и процедурами:CSTRING declares a character string terminated by a null character (ASCII zero). The memory assigned to the CSTRING is initialized to a zero length string unless the AUTO attribute is present.
CSTRING matches the string data type used in the "C" language and the "ZSTRING" data type of the Btrieve Record Manager. Storage and memory requirements are fixed-length, however the terminating null character is placed at the end of the data entered. CSTRING should be used to achieve compatibility with outside files or procedures.
И, в-третьих, не слишком удобный тип для работы. Есть отличия от обычного String, например, slicing-операции.CSTRING should be used to achieve compatibility with outside files or procedures.
Согласен, строки обрезаются. Похоже хранится так - обрезанная строка + количество пробелов до конца. Упаковки в общем случае нет. Это STRING. А вот CSTRING не режется, хранятся полностью.
We are hard at work… for you.
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1376
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
DFD, CacheTPSABC - не понял
Ну мы используем, у нас же одинаковая база для tps и для MS SQL, поэтому в SQL все в varchar а в tps все в cstring, причем переменные строковые внутри программы в основном тоже в cstring, чтоб клиповать поменьше. fixed-length это не хранение всей строки, это означает, что строка должна иметь заданный (максимальный) размер, а не быть переменной длины "сколько-то там до null"
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
DFD, CacheTPSABC - не понял
Откуда взяли то? STRING в tps упаковываются, а не просто обрезаются. Точно алгоритм не скажу, не интересовался. Типа кодирования и замены повторяющихся символов. Если действительно нужно, поищите в архивах переписки, обсуждалось когда-то.
C6/C11, ШВС, tps/btrieve.
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
DFD, CacheTPSABC - не понял
Просто взял и посмотрел. Для сведения - CSTRING:
We are hard at work… for you.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
DFD, CacheTPSABC - не понял
Поставьте Encrypt Data Rows в декларации таблицы.
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
DFD, CacheTPSABC - не понял
Попробовал в C6, Encrypt не повлиял на размер. Но в не зашифрованном файле я не вижу названий. В C7 были изменения в tps для поддержки различных алгоритмов шифрации. Может, с этим связано.
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
DFD, CacheTPSABC - не понял
Еще, шифрованный файл мало жмется архиватором, а не шифрованный вполне хорошо жмется. Содержание и размер исходных файлов одинаковый. Это в C6.
C6/C11, ШВС, tps/btrieve.
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
DFD, CacheTPSABC - не понял
С Encrypt'ом неинтересно. Что там увидишь? Есть у меня tps-файлы конца того века, начала этого. Всё также. Формат если и менялся, то совместимость осталась.
We are hard at work… for you.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4615
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 6 раз
- Поблагодарили: 37 раз
DFD, CacheTPSABC - не понял
Фик знает, какой там алгоритм. У меня почти все с Encrypt. Точно писали, что используется упаковка и числовых значений, и строковых. Но сейчас проверял, размер файлов с шифрацией и без практически одинаковый. На справочнике товаров ~30 мб.
Попробуйте еще с Encrypt свой пример с повторяющимися testtesttest, изменится ли размер файла. Если упаковка происходит, то такие повторения и должны сжиматься.
Попробуйте еще с Encrypt свой пример с повторяющимися testtesttest, изменится ли размер файла. Если упаковка происходит, то такие повторения и должны сжиматься.
C6/C11, ШВС, tps/btrieve.