Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2012, 20:44   #1
Bondul
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 39
По умолчанию поиск Memo2 из Memo1 Delphi

Ребята!!! подскажити мне пожалуйста как в Memo найти такой текст как написан у меня ниже и вопще реальноли это?

Цитата:
Дапустим это Memo1

=================================== =================================== ==============================
==$================================ =================================== ===========================$==
==$===========$$$$$$$$$$$========== =================================== ===========================$==
==$==============$$$$============$$ $$==$$$$=========================== ===========================$==
==$==============$$$$=========$$$$= =$$$$==$$$$======================== ===========================$==
==$==============$$$$=========$$$$= =$$$$==$$$$======================== ===========================$==
==$==============$$$$=========$$$$= =$$$$==$$$$======================== ===========================$==
==$==============$$$$=========$$$$= =$$$$==$$$$======================== ===========================$==
==$================================ =================================== ===========================$==
==$================================ =================================== ===========================$==
==$================================ =================================== ===========================$==
Пробовал так но ничего не получается!

Код:
if Pos(Memo2.Lines.Text ,Memo1.Lines.Text) <> 0 then
label1.Caption:='T';
Цитата:
А это дапустим будет Memo2 значение которого нужно найти в Memo1

==============
==$$$$$$$$$$===
=====$$$$=====
=====$$$$=====
=====$$$$=====
=====$$$$=====
=====$$$$=====
==============
Bondul вне форума Ответить с цитированием
Старый 09.03.2012, 20:52   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нет. Так не реально. Нельзя штатными средствами выполнять блочный поиск, это не Мультиэдит тебе. Тут придется изошряться придумывая свою программу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.03.2012, 20:58   #3
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Код:
Pos(Str2, Str1);
где str2 то что вы ищите, str1 то где вы ищите...
в эти переменные типа string загоняете через цикл каждуй строку из мемо1 и мемо2.
и если значения будут одинаковы и отличны от нуля во всех строках то нашли)))
результат этой функции - номер символа с которого начинается вхождение...
хотя тут пару нюансов с ====================== так как их много... а она будет выводить вам первое попавшееся...
я бы начал от этого играться)))... дерзайте)
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 09.03.2012 в 21:01.
VIK_aka_TOR вне форума Ответить с цитированием
Старый 09.03.2012, 21:00   #4
Bondul
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
это не Мультиэдит тебе.
А значит через Мультиэдит получится найти да?
Bondul вне форума Ответить с цитированием
Старый 09.03.2012, 21:54   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Multi-Edit - старый досовский редактор текстов, в котором текст можно было блочно выделять. Вроде и для винды есть, но сомневаюсь, что поможет это вам. Разве что удастся встроить вместо Memo в программу. Я бы и не пытался, а занялся бы парсингом содержимого Memo. Сложно, но что делать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.03.2012, 22:22   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Bondul
Обьясни зачем тебе это, может есть способ попроще, если карты раскроешь.
P.S. Да Multi-Edit это умел.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.03.2012, 22:48   #7
Bondul
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Обьясни зачем тебе это, может есть способ попроще, если карты раскроешь.
P.S. Да Multi-Edit это умел.
Stilet, какта лазил по сайтам по исходникаи и нашол такой интересный исходник каторый преображает картинку в токое состояние а вот и он
Вложения
Тип файла: zip image_2_text.zip (24.6 Кб, 8 просмотров)
Bondul вне форума Ответить с цитированием
Старый 10.03.2012, 00:37   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Алгоритм парсинга напрашивается следующий: засунуть в двумерный массив типа Char (или Byte, что удобней еще походу выяснится) символы из Memo1. Строк в массиве столько, сколько строк в мемо. Поскольку два вида символов, то возможно оптимальней каждые 8 символов строки засунуть в одну колонку массива (бит=1 для $ и 0 для =). Соответсвенно в меньший массив Memo2. И перебором, начиная с 1-ой строки массива 2 искать совпадение в массиве 1. Нашли совпадение - проверять на совпадение следующие строки. С массивами возможно и перемудрил, то же самое и напрямую можно сделать со строками из мемо
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 10.03.2012 в 00:40.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование из memo1 в memo2 на Delphi 7. disker Помощь студентам 2 20.02.2011 10:13
Копирование строк из Memo1 в Memo2. coolle Общие вопросы Delphi 17 22.11.2010 15:28
Перевод данных в двоичной системе(Bin) находящиеся в memo1 в шестнадцатиричную(Hex) в поле memo2 alenkov Общие вопросы Delphi 1 31.10.2010 00:32
Передача данных из Memo1 в Memo2 DeKot Общие вопросы Delphi 8 26.11.2008 15:55
отправить содержимое Memo1 на Memo2, по нажатии enter Патрон Общие вопросы Delphi 2 08.03.2008 07:18