Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/35: Рейтинг темы: голосов - 35, средняя оценка - 4.83
 Аватар для 97mik
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879

Как узнать номер последней строки Memo

03.09.2010, 16:32. Показов 7011. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как узнать в memo1 номер последней строчки ???
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.09.2010, 16:32
Ответы с готовыми решениями:

Узнать номер последней строки StringGrid
Добрый день, камрады! Вставляю большие массивы данных из StringGrid, знаю кол-во столбцов, а вот высчитать последнюю строку не знаю как. ...

Как узнать номер последней строки с данными?
На листе много данных и это - постоянно меняющаяся величина. До сего момента пользовался двумя способами. Первый - из разряда...

Как узнать номер последней строки с текстом в Word?
Как узнать номер последней строки с текстом в Word, а потом курсор опустить на самую нижнюю строку на странице. Междустрочный интервал...

50
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
21.07.2013, 18:35
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от 97mik Посмотреть сообщение
Подскажите как узнать в memo1 номер последней строчки ???
если для программы:
Delphi
1
ShowMessage('Номер:' + IntToStr(Memo1.Lines.Count));
ну а если для пользователя:
Delphi
1
ShowMessage('Номер:' + IntToStr(Memo1.Lines.Count-1));
0
 Аватар для 97mik
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
22.07.2013, 11:03  [ТС]
Можно ли сделать чтобы одна строка в memo не превышала 20 символов? То есть при вводе, если строка более 20 символов, то в неё писать ничего нельзя, только в другие.
0
3 / 0 / 1
Регистрация: 22.07.2013
Сообщений: 32
22.07.2013, 12:41
Можно, например в событии перед вводом текста, считать число символов в строке, если число превышает то совершаем действие... (например вставляем символ #13 и все перескочет на след строку)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33467 / 21566 / 8249
Регистрация: 22.10.2011
Сообщений: 37,021
Записей в блоге: 12
22.07.2013, 13:17
97mik, можно, наконец, узнать, почему ты поиском не пользуешься?
Ограничение длины строки в TRichEdit
1
 Аватар для 97mik
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
22.07.2013, 13:46  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
97mik, можно, наконец, узнать, почему ты поиском не пользуешься?
Пользуюсь, но ничего не нахожу.

Добавлено через 9 минут
UI, А как ещё узнать номер строки на которой находится каретка?

Добавлено через 3 минуты
И чтобы оно это делало только если memo передан фокус.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33467 / 21566 / 8249
Регистрация: 22.10.2011
Сообщений: 37,021
Записей в блоге: 12
22.07.2013, 13:52
Цитата Сообщение от 97mik Посмотреть сообщение
А как ещё узнать номер строки на которой находится каретка?
По ссылке написано, LineNum - это именно номер строки с кареткой.
Цитата Сообщение от 97mik Посмотреть сообщение
чтобы оно это делало только если memo передан фокус.
Если Memo не в фокусе, оно не будет получать OnKeyPress, так что и тут всё нормально.
0
 Аватар для 97mik
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
22.07.2013, 13:54  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
Если Memo не в фокусе, оно не будет получать OnKeyPress, так что и тут всё нормально.
А если я например передам фокус и ничего не буду вводить, то оно и не определит.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33467 / 21566 / 8249
Регистрация: 22.10.2011
Сообщений: 37,021
Записей в блоге: 12
22.07.2013, 14:03
А что событие OnKeyDown должно определить, если ты ничего не будешь вводить? Нормально объяснить, чего надо, можешь? Не знаешь про событие OnEnter, что-ли?
1
36 / 33 / 1
Регистрация: 11.01.2013
Сообщений: 388
22.07.2013, 18:58
97mik,
В приложении проект, который решает Вашу задачу.

С уважением, SysUnit.
Вложения
Тип файла: rar MemoToClip.rar (86.8 Кб, 4 просмотров)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33467 / 21566 / 8249
Регистрация: 22.10.2011
Сообщений: 37,021
Записей в блоге: 12
22.07.2013, 19:12
SysUnit, этот код TC-у приводили почти 3 года назад, если что... В 14-ом посте.
1
36 / 33 / 1
Регистрация: 11.01.2013
Сообщений: 388
22.07.2013, 19:33
UI,
Цитата Сообщение от UI Посмотреть сообщение
этот код TC-у приводили
Что такое TC? Поясните - я не в теме.
Весь код:
Delphi
1
2
mmoText.SelectAll;
mmoText.CopyToClipboard;
Мне его продиктовал КО, возможно, что кому - то ещё он его тоже продиктовал

С уважением, SysUnit.
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
22.07.2013, 19:35
ТС=топик-стартер=автор темы
0
36 / 33 / 1
Регистрация: 11.01.2013
Сообщений: 388
22.07.2013, 20:47
Puporev, спасибо!
0
 Аватар для 97mik
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
27.07.2013, 13:05  [ТС]
Ещё несколько вопросов по Memo:
1) Как узнать количество символов в Memo с новыми (даже пустыми строками) включительно?
2) При написании
Delphi
1
memo1.lines.add('text');
оно пишет текст и переводит каретку на новую строку, как сделать чтобы каретка не переводилась?
3) Когда в memo написано много текста и стоит вертикальный скролл, то он всегда внизу, как сделать чтобы он был в начале?
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
27.07.2013, 13:40
1
Delphi
1
n := Length(Memo1.Text);
2
Delphi
1
Memo1.Text := Memo1.Text + 'Text';
3
Delphi
1
Memo1.SelStart := 1;
1
 Аватар для 97mik
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
27.07.2013, 14:00  [ТС]
Цитата Сообщение от FIL Посмотреть сообщение
3
Delphi
1
Memo1.SelStart := 1;
Что-то не работает.

И Memo1.text не находит.
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
27.07.2013, 14:12
Код покажи, где не работает.
И кто не находит Memo1.text?
1
 Аватар для 97mik
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
27.07.2013, 14:33  [ТС]
Цитата Сообщение от FIL Посмотреть сообщение
Код покажи, где не работает.
Ну прописываю, строки добавляются, а ползунок всё равно снизу.

Цитата Сообщение от FIL Посмотреть сообщение
И кто не находит Memo1.text?
Не правильно написал, всё работает, только когда в memo перехожу на новую строку, то оно считает это за 2 символа.
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
27.07.2013, 14:38
Цитата Сообщение от 97mik Посмотреть сообщение
Ну прописываю, строки добавляются, а ползунок всё равно снизу.
Значит не там прописываешь.
0
 Аватар для 97mik
12 / 12 / 5
Регистрация: 08.04.2009
Сообщений: 879
27.07.2013, 14:44  [ТС]
Цитата Сообщение от FIL Посмотреть сообщение
Значит не там прописываешь.
А где надо?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.07.2013, 14:44

Как узнать номер следующей строки в DataGridView и вывести номер в textbox
Допустим у нас есть таблица и в ней заполнено две строки, тогда в текстбоксе мы должны получить номер 3.

Как узнать номер строки без проверки каждой строки
Можно ли как-то узнать номер строки в которой содержится определённый символ без for-сирования? То есть без проверки каждой строки. ...

Удаление последней строки из Memo
Доброго времени суток! Столкнулся с такой проблемой: при выводе текста в Memo добавляется пустая строка (без пробелов, просто курсор...

Как получить номер строки memo, в которой находится максимальное число
Как получить номер строки memo, в которой находится максимальное число ??? Что нужно сюда добавить ??? помогите !!!! void...

Как проще обновлять (пересчитывать) значение переменной, в которой хранится номер последней непустой строки?
Добрый день, уважаемые мудрецы! Подскажите пожалуйста, есть ли решение такого вопроса: Выгрузив на лист содержимое массива...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru