Help-string
От: Igor_kir  
Дата: 23.04.03 11:09
Оценка:
......................................
  with RichEdit1 do
  begin
    { begin the search after the current selection if there is one }
    { otherwise, begin at the start of the text }
    if SelLength <> 0 then
    StartPos := SelStart + SelLength
    else

      StartPos := 0;

    { ToEnd is the length from StartPos to the end of the text in the rich edit control }

    ToEnd := Length(Text) - StartPos;

    FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
    if FoundAt <> -1 then
    begin
      SetFocus;
      SelStart := FoundAt;
      SelLength := Length(FindDialog1.FindText);

.................................


ситуация следующая нужна подсказка мы находим необходимый текст на этом этапе все ок , но теперь необходимо следующее:
пример строка — 18.00.01 pppppppppp rrrrrr
dffdf dfdfdfdf :Error: поиск идет по :Error: а теперь хочется скопировать весь текст
который содержится в строке + верхнюю позицию . Подскажите плиззззззз как можно это сделать ??? ( все действие происходит
в *.txt заранее спасибо
Re: Help-string
От: Sinclair Россия https://github.com/evilguest/
Дата: 24.04.03 03:55
Оценка:
IK>а теперь хочется скопировать весь текст
IK>который содержится в строке + верхнюю позицию . Подскажите плиззззззз как можно это сделать ??? ( все действие происходит
IK>в *.txt заранее спасибо
А теперь еще раз объясни на примере, какой именно текст тебе надо выделить. Типа так:
"Вот текст, найденная подстрока выделена болдом"

some string number one
second string containing search word and other stuff

"Здесь болдом выделено то, что надо скопировать"

some string number one
second string containing search word
and other stuff

... << RSDN@Home 1.0 beta 6a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Help-string
От: Igor_kir  
Дата: 24.04.03 06:13
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>А теперь еще раз объясни на примере, какой именно текст тебе надо выделить.


впринципе да — мы ищем word ( т.е вхождение подстроки "word" в строку) при поиске выделяется енто слово , далее
необходимо скопировать целиком строку, где имело место это вхождение :some string number one
S>second string containing search word and other stuff
Вот вроде бы как и все.....(метод вызова файла
loadfromfile(..,..)) Не знаю, наверное туплю но уже второй день не могу добиться того что надо.
Заранее спасибо
Избыточное цитирование удалено
Re[3]: Help-string
От: Sinclair Россия https://github.com/evilguest/
Дата: 24.04.03 06:26
Оценка:
Здравствуйте, Igor_kir, Вы писали:


IK>впринципе да — мы ищем word ( т.е вхождение подстроки "word" в строку) при поиске выделяется енто слово , далее

IK>необходимо скопировать целиком строку, где имело место это вхождение :some string number one
S>>second string containing search word and other stuff
Вот вроде бы как и все.....(метод вызова файла
IK>loadfromfile(..,..))
Кошмар. Ну ладно, знаками препинания тут мало кто владеет. Но хотя бы переводы строки можно делать??? Прочитай свое сообщение и отправь вариант, в котором будет понятно что к чему.
... << RSDN@Home 1.0 beta 6a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Help-string
От: Igor_kir  
Дата: 24.04.03 06:35
Оценка: -1
Здравствуйте, Sinclair, Вы писали:

Избыточное цитирование удалено
S>Кошмар. Ну ладно, знаками препинания тут мало кто владеет. Но хотя бы переводы строки можно делать??? Прочитай свое сообщение и отправь вариант, в котором будет понятно что к чему.

напишу коротко ищем word в строке some string number one
second string containing search word and other stuff находим word , далее копируем всю строку
some string number one
second string containing search word and other stuff
вот и все, не получается скопировать.......Думаю все тут ясно...
Re[5]: Help-string
От: Sinclair Россия https://github.com/evilguest/
Дата: 24.04.03 08:26
Оценка:
Здравствуйте, Igor_kir, Вы писали:

IK>напишу коротко ищем word в строке some string number one

IK>second string containing search word and other stuff находим word , далее копируем всю строку
IK> some string number one
IK>second string containing search word and other stuff
вот и все, не получается скопировать.......Думаю все тут ясно...
Мне не ясно, как это мы ищем word в одной строке, а находим в другой. И неясно мне из-за того, что кто-то не трудится ставить разрывы строк между примером и пояснениями к нему, а также между разными строками своего примера.
Ладно, попробую зайти с другой стороны.
Какой селекшн надо получить при поиске по "word":
а)

string one
string two
string three has our word and other stuff

б)

string one
string two
string three has our word
and other stuff

в)

string one
string two
string three has our word
and other stuff

?
... << RSDN@Home 1.0 beta 6a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Help-string
От: Igor_kir  
Дата: 24.04.03 08:47
Оценка:
Здравствуйте, Sinclair, Вы писали:

Для поиска подойдет вариант б) — главное ухватить суть
Re[7]: Help-string
От: Sinclair Россия https://github.com/evilguest/
Дата: 24.04.03 09:30
Оценка: 5 (1)
Здравствуйте, Igor_kir, Вы писали:

IK>Здравствуйте, Sinclair, Вы писали:


IK>Для поиска подойдет вариант б) — главное ухватить суть

Для него это делается так:
  with RichEdit1 do
  begin
    { begin the search after the current selection if there is one }
    { otherwise, begin at the start of the text }
    if SelLength <> 0 
      then StartPos := SelStart + SelLength
      else StartPos := 0;
    { ToEnd is the length from StartPos to the end of the text in the rich edit control }
    ToEnd := Length(Text) - StartPos;
    FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
    if FoundAt <> -1 then
    begin
      SetFocus;
      // Determine the line number of the found character
      LineFound:= SendMessage(Handle, EM_EXLINEFROMCHAR, 0, FoundAt);      
      // Determine the previous line start
      if LineFound>0 
        then SelStart:= SendMessage(Handle, EM_LINEINDEX, FoundLine-1, 0)
        else SelStart:= SendMessage(Handle, EM_LINEINDEX, FoundLine, 0);
      SelLength := FoundAt-SelStart+Length(FindDialog1.FindText);
    end;
  end;
... << RSDN@Home 1.0 beta 6a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Help-string
От: Igor_kir  
Дата: 24.04.03 12:16
Оценка:
Здравствуйте, Sinclair, Вы писали:

Избыточное цитирование удалено
Спасибо...
Re[8]: Help-string
От: Igor_kir  
Дата: 24.04.03 13:33
Оценка:
Здравствуйте, Sinclair, Вы писали:

Избыточное цитирование удалено
Конечно извеняюсь дико: а как подключить модуль содержащий EM_EXLINEFROMCHAR (где он содержится ? )
Re: Help-string
От: Аноним  
Дата: 24.04.03 15:57
Оценка:
Здравствуйте, Igor_kir, Вы писали:

Вопрос не в тему. Что, если не секрет, означает твой ник?
Re[9]: Help-string
От: Sinclair Россия https://github.com/evilguest/
Дата: 25.04.03 03:33
Оценка:
Здравствуйте, Igor_kir, Вы писали:
IK>Конечно извеняюсь дико: а как подключить модуль содержащий EM_EXLINEFROMCHAR (где он содержится ? )
uses RichEdit;

З.Ы. Есть такая штука в Delphi — поиск по файлам. И в FAR тоже есть. С учетом наличия исходников VCL, задавание таких вопросов в форум выглядит странно.
... << RSDN@Home 1.0 beta 6a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Help-string
От: Sinclair Россия https://github.com/evilguest/
Дата: 25.04.03 03:33
Оценка:
Здравствуйте, Igor_kir, Не надо так много цитировать при ответах.
... << RSDN@Home 1.0 beta 6a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.