Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ] > Код на шару!
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.02.2013, 16:18
VitProff VitProff вне форума
Прохожий
 
Регистрация: 09.02.2013
Сообщения: 4
Репутация: 10
Восклицание Копирование блока текста по критерию

Здравствуйте! Помогите пожалуйста решить такую проблему:



Есть поле memo1 с множеством строк данных.
Структура данных виглядит так:

Структура данных:

Разделитель
Данные
Данные
Строка с критерием
Данные
Данные
Разделитель
Разделитель
Данные
Данные
Данные
Строка с без критерия
Данные
Разделитель

Нужно скопировать в memo2 блоки данных от разделителя до разделителя если они включают "Строку с критерием" или удалить с memo1 все блоки которые не содержат "Строку с критерием".

Заранее благодарен за помощь.
Ответить с цитированием
  #2  
Старый 09.02.2013, 21:16
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Это больше подходит под раздел "Код на шару!".
Вложения
Тип файла: zip ptg.zip (2.3 Кбайт, 6 просмотров)

Последний раз редактировалось Alegun, 09.02.2013 в 22:09.
Ответить с цитированием
  #3  
Старый 09.02.2013, 22:32
VitProff VitProff вне форума
Прохожий
 
Регистрация: 09.02.2013
Сообщения: 4
Репутация: 10
По умолчанию

Спасибо большое!
Но немного не то, я постараюсь сам доработать но если Вам не трудно то помогите.
Нужно чтоб с критерием сверялась не вся строка а первые 5 символов и критериев есть несколько.
Нужно чтоб 5 первых символов строки сверялись с каждым из критериев и если текст совпадал то происходило копирование блока от разделителя к разделителю.

Извините что создал тему не в том разделе.

Буду очень благодарен за помощь.

Последний раз редактировалось VitProff, 09.02.2013 в 22:44.
Ответить с цитированием
  #4  
Старый 09.02.2013, 23:31
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от VitProff
...Нужно чтоб с критерием сверялась не вся строка а первые 5 символов и критериев есть несколько.
Нужно чтоб 5 первых символов строки сверялись с каждым из критериев и если текст совпадал то происходило копирование блока от разделителя к разделителю...
Ничего не понял, требуется образец текста и где с чем сверять.
Ответить с цитированием
  #5  
Старый 09.02.2013, 23:48
VitProff VitProff вне форума
Прохожий
 
Регистрация: 09.02.2013
Сообщения: 4
Репутация: 10
По умолчанию

Есть в memo1 такой текст:

***************************** / Разделитель
Название Данных1 / Просто данные которые нужно скопировать
Данные Данные Данные Данные / Просто данные которые нужно скопировать
12345Данные Данные Данные / Строка первые 5 символов которой должны сверятся с критерием
***************************** / Разделитель
***************************** / Разделитель
Название Данных2 / Просто данные которые нужно скопировать
Данные Данные Данные Данные / Просто данные которые нужно скопировать
67890Данные Данные Данные / Строка первые 5 символов которой должны сверятся с критерием
***************************** / Разделитель
***************************** / Разделитель
Название Данных3 / Просто данные которые нужно скопировать
Данные Данные Данные Данные / Просто данные которые нужно скопировать
98765Данные Данные Данные / Строка первые 5 символов которой должны сверятся с критерием
***************************** / Разделитель

Есть в memo3 текст с списком критериев при которых копируется текст:

12345
98765

Задача состоит в том чтоб сверить первые 5 символов каждой строки из memo1 с каздой строкой из memo3 и если они совпадают то скопировать блоки в которых они размещены от разделителя к разделителю.
Ответить с цитированием
  #6  
Старый 10.02.2013, 00:32
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вообще-то всё так и выполняется, в эдитах задаются критерии, но раз не подходит, то в цикл нужно добавить код выборки\сравнения из Мемо3:
Код:
var 
g: integer;
str: string;
...

    str:=Memo1.Lines[i];
    Delete(str, 5,Length(str));// Оставляем только 5 символов в строке 
    for g := 0 to Memo3.Lines.Count - 1 do
     if str = Memo3.Lines[g] then flg:= true;
...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter