flint2_2.gif
flint2 писал(а):
Предположим я помещаю весь текст книжкиflint2 писал(а):
должны добавляется, заменятся/удалятся по индексуИзвини, не знаю конечной цели этой хотелки.
Ответов: 16884
Рейтинг: 1239
|
|||
flint2, так хотел ?
flint2_2.gif flint2 писал(а): Предположим я помещаю весь текст книжкиflint2 писал(а): должны добавляется, заменятся/удалятся по индексуИзвини, не знаю конечной цели этой хотелки. |
|||
карма: 25 |
| ||
файлы: 1 | flint2_2.gif [55.7KB] [585] |
Ответов: 2059
Рейтинг: 132
|
|||
Про "зачем" я не стал спрашивать. Нужна многострочная всплывающая подсказка-комментарий для узлов дерева с возможностью изменения оной в динамике. По одному индексу в StrList не получается разместить многострочный текст разделённый 0D0A. Посчитал, что двойная тусовка 0D0A не самое лучшее решение, с sqlite - из пушки по воробьям. Начать надо с того, что слово "нуль-терминированная" было употреблено не в понятиях Си, а дабы сделать акцент на отличие от 0D0A-"терминированных" строк. После чего, как и полагается, перешли в плоскость казуистики. Может быть принято называть Сишные строки нуль-терминированными, но к Дельфийской String это тоже применимо. Ошибки нет! но строки с завершающим нулем не содержат байтов длины. Я доверчивый, поверил чего писатели пишут, а зря. Пишут, чего не поподя, лишь-бы себя показать, вот я и попался... и она будет содержать весь набор символов, которые там находятся, пусть хоть все они будут нулями Это да. Но заканчивается "не учтённым" нулём. Специально перелопатил ночью с десяток программ о-ля delphi через OLLYDBG, IDA, Delphi_Decompiler (не показывает в динамике изменение переменных -не подходит, IDA тоже), artmoney и подобные. String железно заканчивается нулём. Другое дело он не так часто нужен и в delphi не используется. Tad flint2, так хотел ? [flood]Сейчас, немного отойду и буду изучать. У нас в поликлинике стоматолога упразднили. Из Переделкино надо ехать хрен знает куда на Киевскую, вот мне сын и рвёт зубы на дому. И не факт, что через две недели талончик дадут. Понятие - "Острая боль" тоже упразднили. Два нормально, а третий чего-то не так пошел... Надо ещё за анастезином сбегать. Платных проходил - халтура, всё изуродовали. [/flood] то я бы посоветовал применить SQLite. Была такая мысль. Вот если бы на SQLite навесить ещё какой-то функционал, чтобы оправдать затраты, например SQLite + таблицы... Но таблицы вроде не нужны, хотя это близко к деревьям... Могу выложить свою хрень, может кто чего и посоветует. Правда там чёрт ногу сломит - сплошная паутина. Но по функционалу наверняка есть чего посоветовать. |
|||
карма: 6 |
|
Ответов: 4631
Рейтинг: 749
|
|||
flint2 писал(а): По одному индексу в StrList не получается разместить многострочный текст разделённый 0D0A.В Memo - да, нельзя. Он для того и предназначен, чтобы учитывать переводы строки. Даже если и нельзя было бы, всегда можно перевод строки перед занесением в список заменять на служебный символ, а перед отображением заменять обратно (это также про тот случай, когда строки должны быть жестко заданы в StrList.Strings без использования DoData, как у меня) |
|||
карма: 26 |
| ||
файлы: 1 | code_36273.txt [1.1KB] [529] | ||
Голосовали: | Tad |
Ответов: 16884
Рейтинг: 1239
|
|||
Я тебе не завидую (по флуду).
flint2 писал(а): Нужна многострочная всплывающая подсказка-комментарий для узлов дерева с возможностью изменения оной в динамике.По одному индексу в StrList не получается разместить многострочный текст разделённый 0D0A. 1. Не применяй многострочный текст - вставляй 0D0A при подаче строки в подсказку. 2. Если в качестве всплывающей подсказки применить Memo с ScrollBars=Vertical, то оно, в зависимости от заданной ширины окна, автоматом расставит "мягкие" переносы. |
|||
карма: 25 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Tad
Первое, что пришло на ум, - ... Да, и мне тоже, но хочется безграничную свободу. Это просто разминка для ума и упражнений. [flood] Я тебе не завидую Ну тык, осюсения непередоваемые, но не рекомендую злоупотреблять такими осюсениями.[/flood] Netspirit можно перевод строки перед занесением в список заменять на служебный символ, а перед... По схеме так и делается. Кто ж тебе такое сказал? Опыт, сын ошибок трудных. Попробуй сохранить это дело, а потом загрузить, что у тебя получится? Я писал: StrList работает до перезапуска приложения, пока не загрузил (сначала конечно сохранил) список из файла. Твоя схема не отражает чаянья народа. ТЗ следующее: надо получить такой же многострочный текст по уникальному индексу, что был скопирован из какоого то окна, написан самостоятельно... и занесён/замещён по этому индексу с учётом хранения этого индексированного списка (или массива) в файле . Точка. Пояснение - индексы = индексам узлов дерева. |
|||
карма: 6 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
flint2 писал(а): ТЗ следующее: надо получить такой же многострочный текст по уникальному индексу, что был скопирован из какоого то окна, написан самостоятельно... и занесён/замещён по этому индексу с учётом хранения этого индексированного списка (или массива) в файле . Точка.Те насколько я понял то тебе нужен не StrList, а TextList, и работать с текстом как со строкой в StrList |
|||
карма: 22 |
|
Ответов: 2059
Рейтинг: 132
|
|||
nesco,
а TextList, и работать с текстом как со строкой в StrList Умница!!! А я косноязычный никак слов не мог подобрать. (Чтобы слова подбирать, надо их иметь в лексиконе) |
|||
карма: 6 |
|
Ответов: 8930
Рейтинг: 823
|
|||
flint2, ТЗ смахивает на файловою систему на диске, может так её и сделать?
|
|||
карма: 19 |
|
Ответов: 4631
Рейтинг: 749
|
|||
nesco писал(а): и работать с текстом как со строкой в StrList[offtop]Насколько я знаю, KOL-овский StrList и так хранит строки в виде непрерывного блока памяти, разделённые с помощью 00h, поэтому его загрузка/сохранение в таком виде должны быть быстрее чем в текущем виде. А НЕТ, НЕ ТАК[/offtop] Кроме того, точки Text, doText могли бы тоже учитывать формат. |
|||
карма: 26 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Netspirit писал(а): Думаю, достаточно в наши List-ы добавить выбор формата сохранения/загрузки из файла: строки, разделенные 0D0Ah и строки разделённые по 00h.Насколько я знаю, KOL-овский StrList и так хранит строки в виде непрерывного блока памяти, разделённые с помощью 00h, поэтому его загрузка/сохранение в таком виде должны быть быстрее чем в текущем виде. Кроме того, точки Text, doText могли бы тоже учитывать формат. У тебя есть мысли как это правильно оформить Может попробуешь сварганить Но тут надо учесть, что ТС нужно работать с этим текстом, как со строками. Загрузки и сохранения тут мало будет, надо что бы все методы поддерживали такой формат -- в первом случае строки с разделителем 0D0Ah, во втором -- текст с разделителем 00h, а 0D0Ah просто символы внутри текста |
|||
карма: 22 |
|
Ответов: 4631
Рейтинг: 749
|
|||
Я не предлагаю менять работу списка с отдельными строками - он по-прежнему не будет допускать наличия #00 в самих строках. А вот любые другие символы они сейчас допускают, только загрузка/сохранение происходит безальтернативно с помощью #0D#0A.
|
|||
карма: 26 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Леонид,
Тепло. Но делать этого не надо, потому что это только лишь комментарии-подсказки, как в Total Commander. Но близко снаряд положил. Пока тренируюсь на кошках - отдельным приложением, а потом..., а потом плагин для Total Commander. Смысл таков: Надоело рыскать по диску и интернету. Решил упорядочить это. Упорядочить по смыслу со ссылками на другие смысловые понятия ну и причиндалы какие нужны. Собственно дерево ссылок, на всё что угодно - файлы, URL, папки, мысли. (конечно exe запускается, сайт и файлы открываются и т.д.). Опосредованно ссылки могут быть рекурсивными. Ну и поиск, он же разный может быть... ------------ Дoбавленo в 20.00: Netspiritirit, Умница!!! |
|||
карма: 6 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Netspirit писал(а): он по-прежнему не будет допускать наличия #00 в самих строкахТак это и не надо было. |
|||
карма: 22 |
|
Ответов: 2059
Рейтинг: 132
|
|||
nesco
Так это и не надо было Так точно. А зачем нули? |
|||
карма: 6 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
карма: 25 |
| ||
файлы: 1 | str2hex2txt.rar [1KB] [281] | ||
Голосовали: | foksov |