Вверх ↑
Этот топик читают: Гость
Ответов: 5446
Рейтинг: 323
#76: 2008-02-29 21:50:02 ЛС | профиль | цитата
Хм... Вот не вижу проблемы в упор:
1. Загружаем в StrList (или Memo, или ListBox ...) список файлов (без расширений)
2.а (если строки разной длины) определяем строку наименьшей длины (Length, Memory, If_else)
2.б Проверяем, не является ли эта строка искомой (Copy, If_else), если нет - используем её длину в качестве начального значения
2.в Если все строки имеют одинаковую длину, используем её в качестве начального значения
3. Повторяем пока (длина > 1) и (не найдена общая часть)
* Уменьшаем длину на 1
* Проверяем на общую часть, если нашли - конец цикла
4. Voila! Если длина = 0, то такой подстроки (общей части) нет, если > 0, то мы нашли искомую "общую часть".

И ни одного "потустороннего" (с) элемента (тем более - от Ампера).
карма: 1

1
Голосовали:Валерий
Ответов: 9906
Рейтинг: 351
#77: 2008-02-29 22:38:00 ЛС | профиль | цитата
iarspider писал(а):
2.а (если строки разной длины) определяем строку наименьшей длины (Length, Memory, If_else)

Зачем, не пойму...
Проще все:
а) Полный цикл конечно по всему списку делать надо, без этого трудно, согласен
б) В качестве начального значения искомого "общего префикса" проще всего взять первую сроку из списка целиком
в) Если нет совпадения - уменьшаем длину префикса на 1 (предыдущие равенства не нарушаются ведь), пока совпадение не наступит, и переходим к следующему имени из списка
г) Если префикс "занулился" - значит не повезло
д) Если список закончился - значит повезло, и префикс найден

В общем, чего-то мне кажется, что всякие разборки с длинами - от лукавого, способ запудрить себе мозги, не более того
карма: 9

0
Разработчик
Ответов: 26068
Рейтинг: 2121
#78: 2008-02-29 22:57:30 ЛС | профиль | цитата
А чел просил совсем не это, а вот это

Артем писал(а):
Есть ли способ выделить общую для всех часть (shon)?


Просто определить вхождение текста и отсечь его. И зачем тогда вот это:

Galkov писал(а):
проще всего взять первую сроку из списка целиком


P.S. После более тщательного прочтения рекомендаций Galkov'a, понял, что он прав, но слишком муторно и медленно получается (а если файлов тысячи, ох и надолго уснет это безобразие)
карма: 22

0
Ответов: 8888
Рейтинг: 823
#79: 2008-02-29 23:29:23 ЛС | профиль | цитата
nesco, тысячи *.avi на диске ПК не уместятся, надо стойку городить Гораздо быстрее глазом определить общую часть.
карма: 19

0
Ответов: 5446
Рейтинг: 323
#80: 2008-02-29 23:33:25 ЛС | профиль | цитата
Galkov, а затем, чтобы не делать ненужной работы: если есть общая подстрока, то она заведомо не длиннее самой короткой из сравниваемых строк. Я, конечно, туманно написал, но что-то я сегодня уже с трудом формулирую мысли (после "налогов" мозга за мозгу...)
nesvo, а ты предложи свой вариант, чтобы "это безобразие" надолго не засыпало
карма: 1

0
Ответов: 9906
Рейтинг: 351
#81: 2008-02-29 23:40:54 ЛС | профиль | цитата
iarspider писал(а):
а затем, чтобы не делать ненужной работы

Ага, сделать одну ненужную работу, чтобы потом не делать другую ненужную работу

Предлагай свой вариант, посмотрим, чья работа "ненужней"
code_8518.txt
карма: 9

0
файлы: 1code_8518.txt [2.3KB] [333]
Ответов: 5446
Рейтинг: 323
#82: 2008-03-01 13:47:31 ЛС | профиль | цитата
Не буду, ибо понял сейчас, что перестарался.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#83: 2008-03-01 13:53:15 ЛС | профиль | цитата
Ну вот....
На самом интересном месте
карма: 9

0
Ответов: 8888
Рейтинг: 823
#84: 2008-03-01 15:40:48 ЛС | профиль | цитата
И прикинулся Дьявол женщиной..

На самом интересном месте

карма: 19

0
Гость
Ответов: 17029
Рейтинг: 0
#85: 2008-03-01 19:20:31 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 08:08:58
карма: 0

0
Ответов: 9906
Рейтинг: 351
#86: 2008-03-01 20:13:14 ЛС | профиль | цитата
Артем писал(а):
Один небольшой минус отыскал

А я как бы и не ставил себе в цель создать схему, реализующую некое техзадание.
Которого, кстати говоря, и не было...
Моя схема, это есть просто конкретизация мыслей и идей, обсуждаемых с коллегой iarspider-ом
Потому-что схема, в отличии от Великого и Могучего - не допускает неоднозначности прочтения.

Обращаю внимание: мы на форуме НЕ решаем задачи за других, мы излагаем мысли в виде схемы.
Это беседуем мы так
карма: 9

0
Гость
Ответов: 17029
Рейтинг: 0
#87: 2008-03-01 20:47:33 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2021-05-21 08:08:58
карма: 0

0
Ответов: 9906
Рейтинг: 351
#88: 2008-03-01 21:12:43 ЛС | профиль | цитата
Ну дык конкретные вопросы, по конкретной схеме - гораздо адекватнее для настоящего форума, чем "скажите как сделать"

Потому-что 99% именно таких вопросов связаны с общим пониманием как, и в какой последовательности, циркулируют данные и события в любой схеме на HiAsm.
карма: 9

0
Ответов: 899
Рейтинг: 43
#89: 2008-03-03 00:55:46 ЛС | профиль | цитата
Galkov писал(а):
Обращаю внимание: мы на форуме НЕ решаем задачи за других, мы излагаем мысли в виде схемы.


Galkov, Вы позволите это изречение добавить в свою подпись. Соблюдение авторских прав гарантирую
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 63
Рейтинг: -5
#90: 2008-03-06 18:18:51 ЛС | профиль | цитата
Опять с вопросом:
Как сделать в двух ListBox одинаковые действия? Схемку сделал, но явно ерунда получается:
code_2149.txt
Подскажите плиз, если не трудно.
карма: 1

0
файлы: 1code_2149.txt [1KB] [490]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)