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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2011, 13:55   #1
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию Выделить строки в Memo

Подскажите, как выделить строки в TMemo (скажем с 10-й по 20-ю), чтобы затем из можно было бы скопировать в буфер/заменить на другой текст/и т.д. Вобщем выделить... Спасибо
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 15.04.2011, 14:02   #2
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

поиграйся с этим
Код:
  Memo1.SelStart := 2;
  Memo1.SelLength := 2;
  Memo1.SetFocus;
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 15.04.2011, 14:11   #3
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Нет, это понятно само собой, но вот я нашел, что начало выделения, строка, скажем, 10, а конец - 20. Как узнать, с какого символа начать выделять, строки то разные по длине (обычный текст)?

Вот код:
Код:
procedure TEditorForm.cmdEditModeClick(Sender: TObject);
var
  S: String;
  I, A, B, C, D: Integer;
begin
  A := SynEditor.CaretY;
  for I := A downto 0 do if (SynEditor.Lines[I] <> '') and (SynEditor.Lines[I][1] = ':') then Break;
  B := I; if B < 0 then B := 0;
  D := Length(SynEditor.Text);
  for I := A to D do if (SynEditor.Lines[I] <> '') and (SynEditor.Lines[I][1] = 'e') and (SynEditor.Lines[I][2] = 'n') and (SynEditor.Lines[I][3] = 'd') then Break;
  C := I;
  LocMode := not LocMode;
  SynEditor.SelStart := B;
  SynEditor.SelEnd := C;
  S := SynEditor.SelText;
  ShowMessage(IntToStr(B) + '-' + IntToStr(C));
end;
Пояснения: вместо Memo SynEdit, в конце ShowMessage показывает номера строк, начало и конец выделения, в тестовых целях...
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти и выделить строки DimOwl Microsoft Office Excel 13 13.08.2011 01:07
Выделить символы из строки Azizus Паскаль, Turbo Pascal, PascalABC.NET 2 27.03.2011 14:05
Выделить подстроку из строки Manonia Общие вопросы .NET 7 17.07.2010 05:19
выделить из строки (regexp) NieL Общие вопросы Delphi 2 23.06.2009 08:21
выделить строки Romuald Microsoft Office Excel 7 22.02.2008 04:58