Хм... Вот не вижу проблемы в упор:
1. Загружаем в StrList (или Memo, или ListBox ...) список файлов (без расширений)
2.а (если строки разной длины) определяем строку наименьшей длины (Length, Memory, If_else)
2.б Проверяем, не является ли эта строка искомой (Copy, If_else), если нет - используем её длину в качестве начального значения
2.в Если все строки имеют одинаковую длину, используем её в качестве начального значения
3. Повторяем пока (длина > 1) и (не найдена общая часть)
* Уменьшаем длину на 1
* Проверяем на общую часть, если нашли - конец цикла
4. Voila! Если длина = 0, то такой подстроки (общей части) нет, если > 0, то мы нашли искомую "общую часть".
И ни одного "потустороннего" (с) элемента (тем более - от Ампера).
Этот топик читают: Гость
Ответов: 5446
Рейтинг: 323
|
|||
карма: 1 |
| ||
Голосовали: | Валерий |
Ответов: 9906
Рейтинг: 351
|
|||
iarspider писал(а): 2.а (если строки разной длины) определяем строку наименьшей длины (Length, Memory, If_else)Зачем, не пойму... Проще все: а) Полный цикл конечно по всему списку делать надо, без этого трудно, согласен б) В качестве начального значения искомого "общего префикса" проще всего взять первую сроку из списка целиком в) Если нет совпадения - уменьшаем длину префикса на 1 (предыдущие равенства не нарушаются ведь), пока совпадение не наступит, и переходим к следующему имени из списка г) Если префикс "занулился" - значит не повезло д) Если список закончился - значит повезло, и префикс найден В общем, чего-то мне кажется, что всякие разборки с длинами - от лукавого, способ запудрить себе мозги, не более того |
|||
карма: 9 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
А чел просил совсем не это, а вот это
Артем писал(а): Есть ли способ выделить общую для всех часть (shon)?Просто определить вхождение текста и отсечь его. И зачем тогда вот это: Galkov писал(а): проще всего взять первую сроку из списка целикомP.S. После более тщательного прочтения рекомендаций Galkov'a, понял, что он прав, но слишком муторно и медленно получается (а если файлов тысячи, ох и надолго уснет это безобразие) |
|||
карма: 22 |
|
Ответов: 8915
Рейтинг: 823
|
|||
nesco, тысячи *.avi на диске ПК не уместятся, надо стойку городить Гораздо быстрее глазом определить общую часть.
|
|||
карма: 19 |
|
Ответов: 5446
Рейтинг: 323
|
|||
Galkov, а затем, чтобы не делать ненужной работы: если есть общая подстрока, то она заведомо не длиннее самой короткой из сравниваемых строк. Я, конечно, туманно написал, но что-то я сегодня уже с трудом формулирую мысли (после "налогов" мозга за мозгу...)
nesvo, а ты предложи свой вариант, чтобы "это безобразие" надолго не засыпало |
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
iarspider писал(а): а затем, чтобы не делать ненужной работыАга, сделать одну ненужную работу, чтобы потом не делать другую ненужную работу Предлагай свой вариант, посмотрим, чья работа "ненужней" code_8518.txt |
|||
карма: 9 |
| ||
файлы: 1 | code_8518.txt [2.3KB] [372] |
Ответов: 5446
Рейтинг: 323
|
|||
Не буду, ибо понял сейчас, что перестарался.
|
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Ну вот....
На самом интересном месте |
|||
карма: 9 |
|
Ответов: 8915
Рейтинг: 823
|
|||
И прикинулся Дьявол женщиной..
На самом интересном месте |
|||
карма: 19 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 4 раз(а), последний 2021-05-21 08:08:58 |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Артем писал(а): Один небольшой минус отыскалА я как бы и не ставил себе в цель создать схему, реализующую некое техзадание. Которого, кстати говоря, и не было... Моя схема, это есть просто конкретизация мыслей и идей, обсуждаемых с коллегой iarspider-ом Потому-что схема, в отличии от Великого и Могучего - не допускает неоднозначности прочтения. Обращаю внимание: мы на форуме НЕ решаем задачи за других, мы излагаем мысли в виде схемы. Это беседуем мы так |
|||
карма: 9 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 4 раз(а), последний 2021-05-21 08:08:58 |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Ну дык конкретные вопросы, по конкретной схеме - гораздо адекватнее для настоящего форума, чем "скажите как сделать"
Потому-что 99% именно таких вопросов связаны с общим пониманием как, и в какой последовательности, циркулируют данные и события в любой схеме на HiAsm. |
|||
карма: 9 |
|
Ответов: 899
Рейтинг: 43
|
|||
Galkov писал(а): Обращаю внимание: мы на форуме НЕ решаем задачи за других, мы излагаем мысли в виде схемы. Galkov, Вы позволите это изречение добавить в свою подпись. Соблюдение авторских прав гарантирую |
|||
карма: 0 |
|
Ответов: 63
Рейтинг: -5
|
|||
Опять с вопросом:
Как сделать в двух ListBox одинаковые действия? Схемку сделал, но явно ерунда получается: code_2149.txt Подскажите плиз, если не трудно. |
|||
карма: 1 |
| ||
файлы: 1 | code_2149.txt [1KB] [542] |