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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2009, 07:33   #1
Kyran29
Пользователь
 
Аватар для Kyran29
 
Регистрация: 17.08.2009
Сообщений: 14
Восклицание Memo

Как узнать количество выделенных строк в Memo?
Как узнать в какой строке находится курсор в Memo?
Kyran29 вне форума Ответить с цитированием
Старый 24.09.2009, 08:09   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

На любом из форумов есть поиск.

Просмотри эту тему до конца:
http://programmersforum.ru/showthrea...%F1%EE%F0+Memo
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 24.09.2009, 08:09   #3
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Навскидку, строка на которой курсор
Код:
Label1.Caption := IntToStr(SendMessage(Memo1.Handle,EM_LINEFROMCHAR,-1,0))
ЗЫ. Опоздал...
Баламут вне форума Ответить с цитированием
Старый 24.09.2009, 17:48   #4
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

Цитата:
Как узнать количество выделенных строк в Memo?
Я бы подсчитал количество символов #13 от Memo1.SelStart на протяжении Memo1.SelLength, столько и строк там

Цитата:
Как узнать в какой строке находится курсор в Memo?
Таким же подсчетом от Memo1.text[1] до Memo1.SelStart. Сколько #13 насчиталось, столько и строк от начала.

Как-то так..
mosq вне форума Ответить с цитированием
Старый 26.09.2009, 00:22   #5
Kyran29
Пользователь
 
Аватар для Kyran29
 
Регистрация: 17.08.2009
Сообщений: 14
По умолчанию

mosq
Я бы подсчитал количество символов #13 от Memo1.SelStart на протяжении Memo1.SelLength, столько и строк там
Можно подробней?
Kyran29 вне форума Ответить с цитированием
Старый 26.09.2009, 00:31   #6
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,472
По умолчанию

Цитата:
Сообщение от Kyran29 Посмотреть сообщение
Как узнать количество выделенных строк в Memo?
Как узнать в какой строке находится курсор в Memo?
по первому пункту:
Код:
procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Label1.Caption:= Memo1.SelText;
end;
по второму уже ответил Баламут.
uberchel вне форума Ответить с цитированием
Старый 26.09.2009, 00:57   #7
Kyran29
Пользователь
 
Аватар для Kyran29
 
Регистрация: 17.08.2009
Сообщений: 14
По умолчанию

uberchel
Не копировать то, что выделено, а количество выделенных строк (число).
Kyran29 вне форума Ответить с цитированием
Старый 26.09.2009, 03:13   #8
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

Цитата:
Сообщение от Kyran29 Посмотреть сообщение
mosq
Я бы подсчитал количество символов #13 от Memo1.SelStart на протяжении Memo1.SelLength, столько и строк там
Можно подробней?
Ну смотри, Memo1 можно рассматривать как одну длинную строку - Memo1.text
Соответственно, переносы строки в ней стоят как символы #13#10

Примерно так подсчитать количество этих переносов:
Код:
s:=copy(memo1.text,Memo1.selstart,memo1.sellength);
i:=0; //CRLF counter
repeat
if pos(#13#10,s)>0 then //if found line end
begin
delete(s,pos(#13#10,s),2); //del it from string
inc(i); //inc line counter
end;
until pos(#13#10,s)=0;
showmessage('total '+inttostr(i)+' lines');
ну вот как-то так. написал сходу, мож где ошибка будет.

upd: правда, тут вопрос - хочешь считать строки, которые memo1 переносит автоматом (wraptext=true) или те, которые реально перенесены enter'ом... вышеописанный код для второго варианта.

Последний раз редактировалось mosq; 26.09.2009 в 03:15. Причина: дополнение
mosq вне форума Ответить с цитированием
Старый 27.09.2009, 00:29   #9
Kyran29
Пользователь
 
Аватар для Kyran29
 
Регистрация: 17.08.2009
Сообщений: 14
Злость

Спасибо mosq
Но проблемы я своей не решил !!!
Изображения
Тип файла: jpg Memo.jpg (113.4 Кб, 49 просмотров)
Kyran29 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод из Memo по английскому в Memo по русскому Sanek777 Общие вопросы Delphi 5 26.09.2008 00:17
Memo -=<[Evklidd]>=- Общие вопросы Delphi 3 01.02.2008 13:44
Memo MAcK Общие вопросы Delphi 1 02.10.2007 17:14
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40
В Memo ввёл раз!!! в Memo ввёл два!!! а где Memo ввёл раз??? Хs-You Компоненты Delphi 6 19.08.2007 19:48