Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#31: 2015-09-15 14:48:23 ЛС | профиль | цитата
flint2, так хотел ?
flint2_2.gif
------------ Дoбавленo в 14.48:
flint2 писал(а):
Предположим я помещаю весь текст книжки
А так, как
flint2 писал(а):
должны добавляется, заменятся/удалятся по индексу
то я бы посоветовал применить SQLite.
Извини, не знаю конечной цели этой хотелки.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1flint2_2.gif [55.7KB] [520]
Ответов: 2059
Рейтинг: 131
#32: 2015-09-15 15:30:30 ЛС | профиль | цитата
Про "зачем" я не стал спрашивать.

Нужна многострочная всплывающая подсказка-комментарий для узлов дерева с возможностью изменения оной в динамике.
По одному индексу в StrList не получается разместить многострочный текст разделённый 0D0A.
Посчитал, что двойная тусовка 0D0A не самое лучшее решение, с sqlite - из пушки по воробьям.
Начать надо с того, что слово "нуль-терминированная" было употреблено не в понятиях Си, а дабы сделать акцент на отличие от 0D0A-"терминированных" строк.
После чего, как и полагается, перешли в плоскость казуистики. Может быть принято называть Сишные строки нуль-терминированными, но к Дельфийской String это тоже применимо. Ошибки нет!
но строки с завершающим нулем не содержат байтов длины.

Я доверчивый, поверил чего писатели пишут, а зря. Пишут, чего не поподя, лишь-бы себя показать, вот я и попался...
и она будет содержать весь набор символов, которые там находятся, пусть хоть все они будут нулями

Это да.
Но заканчивается "не учтённым" нулём.
Специально перелопатил ночью с десяток программ о-ля delphi через OLLYDBG, IDA, Delphi_Decompiler (не показывает в динамике изменение переменных -не подходит, IDA тоже), artmoney и подобные.
String железно заканчивается нулём. Другое дело он не так часто нужен и в delphi не используется.

Tad
flint2, так хотел ?

[flood]Сейчас, немного отойду и буду изучать.
У нас в поликлинике стоматолога упразднили. Из Переделкино надо ехать хрен знает куда на Киевскую, вот мне сын и рвёт зубы на дому.
И не факт, что через две недели талончик дадут. Понятие - "Острая боль" тоже упразднили.
Два нормально, а третий чего-то не так пошел...
Надо ещё за анастезином сбегать.
Платных проходил - халтура, всё изуродовали.

[/flood]

то я бы посоветовал применить SQLite.

Была такая мысль.
Вот если бы на SQLite навесить ещё какой-то функционал, чтобы оправдать затраты, например SQLite + таблицы...
Но таблицы вроде не нужны, хотя это близко к деревьям...

Могу выложить свою хрень, может кто чего и посоветует.
Правда там чёрт ногу сломит - сплошная паутина.
Но по функционалу наверняка есть чего посоветовать.
карма: 6

0
Ответов: 4621
Рейтинг: 746
#33: 2015-09-15 16:16:50 ЛС | профиль | цитата
flint2 писал(а):
По одному индексу в StrList не получается разместить многострочный текст разделённый 0D0A.
Кто ж тебе такое сказал? code_36273.txt
В Memo - да, нельзя. Он для того и предназначен, чтобы учитывать переводы строки.
Даже если и нельзя было бы, всегда можно перевод строки перед занесением в список заменять на служебный символ, а перед отображением заменять обратно (это также про тот случай, когда строки должны быть жестко заданы в StrList.Strings без использования DoData, как у меня)
карма: 26

1
файлы: 1code_36273.txt [1.1KB] [470]
Голосовали:Tad
Ответов: 16884
Рейтинг: 1239
#34: 2015-09-15 16:21:14 ЛС | профиль | цитата
Я тебе не завидую (по флуду).

flint2 писал(а):
Нужна многострочная всплывающая подсказка-комментарий для узлов дерева с возможностью изменения оной в динамике.
По одному индексу в StrList не получается разместить многострочный текст разделённый 0D0A.
Первое, что пришло на ум, -
1. Не применяй многострочный текст - вставляй 0D0A при подаче строки в подсказку.
2. Если в качестве всплывающей подсказки применить Memo с ScrollBars=Vertical, то оно, в зависимости от заданной ширины окна, автоматом расставит "мягкие" переносы.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 2059
Рейтинг: 131
#35: 2015-09-15 18:35:40 ЛС | профиль | цитата
Tad
Первое, что пришло на ум, -
...

Да, и мне тоже, но хочется безграничную свободу.
Это просто разминка для ума и упражнений.

[flood]
Я тебе не завидую

Ну тык, осюсения непередоваемые, но не рекомендую злоупотреблять такими осюсениями.[/flood]

Netspirit

можно перевод строки перед занесением в список заменять на служебный символ, а перед...

По схеме так и делается.
Кто ж тебе такое сказал?

Опыт, сын ошибок трудных.
Попробуй сохранить это дело, а потом загрузить, что у тебя получится?
Я писал:
StrList работает до перезапуска приложения, пока не загрузил (сначала конечно сохранил) список из файла.

Твоя схема не отражает чаянья народа.
ТЗ следующее: надо получить такой же многострочный текст по уникальному индексу, что был скопирован из какоого то окна, написан самостоятельно... и занесён/замещён по этому индексу с учётом хранения этого индексированного списка (или массива) в файле . Точка.
Пояснение - индексы = индексам узлов дерева.
карма: 6

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#36: 2015-09-15 18:50:53 ЛС | профиль | цитата
flint2 писал(а):
ТЗ следующее: надо получить такой же многострочный текст по уникальному индексу, что был скопирован из какоого то окна, написан самостоятельно... и занесён/замещён по этому индексу с учётом хранения этого индексированного списка (или массива) в файле . Точка.

Те насколько я понял то тебе нужен не StrList, а TextList, и работать с текстом как со строкой в StrList
карма: 22

0
Ответов: 2059
Рейтинг: 131
#37: 2015-09-15 19:06:42 ЛС | профиль | цитата
nesco,
а TextList, и работать с текстом как со строкой в StrList

Умница!!!
А я косноязычный никак слов не мог подобрать.
(Чтобы слова подбирать, надо их иметь в лексиконе)
карма: 6

0
Ответов: 8887
Рейтинг: 823
#38: 2015-09-15 19:10:13 ЛС | профиль | цитата
flint2, ТЗ смахивает на файловою систему на диске, может так её и сделать?
карма: 19

0
Ответов: 4621
Рейтинг: 746
#39: 2015-09-15 19:22:53 ЛС | профиль | цитата
nesco писал(а):
и работать с текстом как со строкой в StrList
Думаю, достаточно в наши List-ы добавить выбор формата сохранения/загрузки из файла: строки, разделенные 0D0Ah и строки разделённые по 00h.

[offtop]Насколько я знаю, KOL-овский StrList и так хранит строки в виде непрерывного блока памяти, разделённые с помощью 00h, поэтому его загрузка/сохранение в таком виде должны быть быстрее чем в текущем виде. А НЕТ, НЕ ТАК[/offtop]
Кроме того, точки Text, doText могли бы тоже учитывать формат.
карма: 26

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#40: 2015-09-15 19:40:24 ЛС | профиль | цитата
Netspirit писал(а):
Думаю, достаточно в наши List-ы добавить выбор формата сохранения/загрузки из файла: строки, разделенные 0D0Ah и строки разделённые по 00h.
Насколько я знаю, KOL-овский StrList и так хранит строки в виде непрерывного блока памяти, разделённые с помощью 00h, поэтому его загрузка/сохранение в таком виде должны быть быстрее чем в текущем виде. Кроме того, точки Text, doText могли бы тоже учитывать формат.

У тебя есть мысли как это правильно оформить Может попробуешь сварганить
Но тут надо учесть, что ТС нужно работать с этим текстом, как со строками. Загрузки и сохранения тут мало будет, надо что бы все методы поддерживали такой формат -- в первом случае строки с разделителем 0D0Ah, во втором -- текст с разделителем 00h, а 0D0Ah просто символы внутри текста
карма: 22

0
Ответов: 4621
Рейтинг: 746
#41: 2015-09-15 19:46:21 ЛС | профиль | цитата
Я не предлагаю менять работу списка с отдельными строками - он по-прежнему не будет допускать наличия #00 в самих строках. А вот любые другие символы они сейчас допускают, только загрузка/сохранение происходит безальтернативно с помощью #0D#0A.
карма: 26

0
Ответов: 2059
Рейтинг: 131
#42: 2015-09-15 20:00:42 ЛС | профиль | цитата
Леонид,
Тепло.
Но делать этого не надо, потому что это только лишь комментарии-подсказки, как в Total Commander.
Но близко снаряд положил.
Пока тренируюсь на кошках - отдельным приложением, а потом..., а потом плагин для Total Commander.
Смысл таков:
Надоело рыскать по диску и интернету. Решил упорядочить это.
Упорядочить по смыслу со ссылками на другие смысловые понятия ну и причиндалы какие нужны.
Собственно дерево ссылок, на всё что угодно - файлы, URL, папки, мысли. (конечно exe запускается, сайт и файлы открываются и т.д.).
Опосредованно ссылки могут быть рекурсивными.
Ну и поиск, он же разный может быть...
------------ Дoбавленo в 20.00:
Netspiritirit,
Умница!!!
карма: 6

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#43: 2015-09-15 20:04:50 ЛС | профиль | цитата
Netspirit писал(а):
он по-прежнему не будет допускать наличия #00 в самих строках

Так это и не надо было.
карма: 22

0
Ответов: 2059
Рейтинг: 131
#44: 2015-09-15 20:12:19 ЛС | профиль | цитата
nesco
Так это и не надо было

Так точно.
А зачем нули?
карма: 6

0
Ответов: 16884
Рейтинг: 1239
#45: 2015-09-15 20:57:05 ЛС | профиль | цитата
Ещё один способ : str2hex2txt.rar

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1str2hex2txt.rar [1KB] [250]
Голосовали:foksov
Сообщение
...
Прикрепленные файлы
(файлы не залиты)