Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > найти нужную строку в RichEdit


Автор: Volkogriz 28.7.2013, 14:12
Доброе время суток!
Собственно Есть неопределённый текст в RichEdit сколько строк до например "Перечень неполадок:" неизвестно.
И сколько будет перечислено до "Выполнить в срок:" тоже неизвестно.
Нужно сохранить если дописано все строки между  "Перечень неполадок:" и "Выполнить в срок:".
Честно не знаю как это осуществить(((
Помогите пожалуйста!
Заранее благодарен!
С уважением,
Volkogriz!

Автор: Rrader 28.7.2013, 16:06
Пример поиска текста в TRichEdit http://docwiki.embarcadero.com/CodeExamples/XE3/en/FindText_%28Delphi%29

Автор: Volkogriz 28.7.2013, 22:17
Дело в том что мне не искать надо а понять что это поле заполнено и изменить смету.
ЕСЛИ ЭТО ПОЛЕ НЕ ЗАПОЛНЕНО ТО НЕ ИЗМЕНЯТЬ))

Автор: northener 29.7.2013, 00:26
Цитата(Volkogriz @  28.7.2013,  22:17 Найти цитируемый пост)
Дело в том что мне не искать надо а понять что это поле заполнено и изменить смету.
ЕСЛИ ЭТО ПОЛЕ НЕ ЗАПОЛНЕНО ТО НЕ ИЗМЕНЯТЬ)) 

Какое поле? В топике ни о каких полях не говорится.

P.S. И зачем так кричать? 

Автор: Volkogriz 29.7.2013, 20:52
Щас попытаюсь объяснить))
Не получается даже себе объяснить)))
Не поле) В ОБЩЕМ  Есть неопределённый текст в RichEdit ))) он подгружается то есть создаётся автоматом типо:
Код

RichEdit .SelAttributes.Style:=[fsBold];
RichEdit .Lines.Add(PChar(Tuningini.ReadString('Parameters', 'Address', '')+' '));
RichEdit .SetSelTextBuf(PChar(Tuningini.ReadString('Parameters', 'City', '')+' '+ Form1.ComboBox1.Text+' '));
RichEdit .SetSelTextBuf(PChar(Tuningini.ReadString('Parameters', 'Street', '')+' '+ Edit8.Text +' '));
RichEdit .SetSelTextBuf(PChar(Tuningini.ReadString('Parameters', 'House', '')+' '+ Edit1.Text +' '));

Если что то дописано между строками "Перечень неполадок:" и "Выполнить в срок:"
После "Перечень неполадок:"
бла
например
бла бла
и заканчивается тутава перед "Выполнить в срок:"
то бланк сохраняется если пусто то не сохраняем бланк)
По умолчанию там пробел:
Код

Перечень неполадок:

Выполнить в срок:

Не могу доходчиво объяснить не получается почему то)))
Заранее благодарен!
С уважением,
Volkogriz! 

Автор: northener 30.7.2013, 02:26
Так и в чем проблема?
1. Ищем строку "Перечень неполадок:"
Код

 k:=Memo1.Lines.IndexOf('Перечень неполадок:');

2. Ищем строку "Выполнить в срок:"
Код

  m:=Memo1.Lines.IndexOf('Выполнить в срок:');

3. Проверяем что есть между этими строками:
Код

  Result:=False;
  for i:=k to m do begin
    if Memo1.Lines[i] <> '' then Result:=True;
    Break;
  end;


P.S.
  В следующий раз отвечать на вопрос заданный с использованием "падокафского" жаргона не буду.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)