С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/79: Рейтинг темы: голосов - 79, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 59

Как подсчитать количество строк, отображаемых в Memo?

02.09.2010, 16:13. Показов 16420. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо подсчитать кол-во строк отображаемых в Memo и затем вывести их колличество на первой строчке.

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

Подсчитать количество строк в memo ??
Помогите. Необходимо подсчитать количество строк в memo и затем по одному разместить по столбцам Чтобы каждую сроку бросало на новый...

Какое свойство в ComboBox отвечает за количество отображаемых строк?
Какое свойство отвечает в ComboBoxe за количество отображаемых строк ? ZandR

Как подсчитать количество симолов в memo?
как подсчитать кол-во симолов например в memo ?

27
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
02.09.2010, 16:28
C++
1
Memo1.Lines.Add(IntToStr(Memo1.Lines.Count));
0
221 / 135 / 48
Регистрация: 12.04.2010
Сообщений: 248
02.09.2010, 16:28
Количество строк в Мemo не нужно считать, есть свойство Memo1->Lines->Count
C++
1
Memo1->Lines->Strings[0] = IntToStr(Memo1->Lines->Count);
Добавить строчку в Memo
C++
1
Memo1->Lines->Add(str);
Естественно нужно позаботиться чтобы в строке str не содержалось символов перевода строк вида \r\n. Иначе новые строки добавятся автоматически.
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
02.09.2010, 16:29
а дальше - ищите в Memo1.Text символ "\n", и удаляйте где нужно.
0
Маэстро
Вирусоборец
 Аватар для Maestro
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
02.09.2010, 16:34
iama, Это не раздел Делфи.
Цитата Сообщение от uggway Посмотреть сообщение
Memo1->Lines->Strings[0] = IntToStr(Memo1->Lines->Count);
И такое решение перезатрёт первую строку.

Лучше выводить куда-нибудь в панель StatusBar

Amarok, Пример текста можете скинуть?
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
02.09.2010, 16:36
Maestro, упс
C++
1
Memo1->Lines->Add(IntToStr(Memo1->Lines->Count));
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
02.09.2010, 17:50
Цитата Сообщение от Amarok Посмотреть сообщение
Как весь текст разместить в одну строчку в Memo?
C++
1
String t=StringReplace(Memo1->Text,"\r\n"," ",TReplaceFlags()<<rfReplaceAll);
В переменной t текст без переносов - дальше с ней делайте то, что хотите.

Добавлено через 1 минуту
iama, не первый раз замечаю за вами такое. Раздел называется C++ Builder так что будьте вольны писать на соответствующем языке, пожалуйста.
0
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 59
07.09.2010, 16:30  [ТС]
куда вставлять этот код в начало функции или уже в конец где я пишу:
C++
1
Memo1->Lines->Add(stroka);
?

у меня не получается я сделал:
C++
1
String t=StringReplace(Memo1->Lines->Add(stroka),"\r\n"," ",TReplaceFlags()<<rfReplaceAll);
так можно сделать чтобы не писать Memo1->Lines->Add(stroka). от первоначального образца сильно будет отличаться по фунциональности?
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
07.09.2010, 16:31
Amarok, так не будет работать.
0
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 59
07.09.2010, 16:41  [ТС]
а как сделать чтобы получилось, я и в начало функции и в конец уже ставил эту строчку, что необходимо с ней сделать чтобы в одну линию отображался текст ?
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
07.09.2010, 16:43
C++
1
Memo1->Text = StringReplace(Memo1->Text,"\r\n"," ",TReplaceFlags()<<rfReplaceAll);
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
07.09.2010, 16:43
Amarok, код, приведенный мною, просто удаляет(заменяет их на пробелы) все знаки переноса. Когда у вас будет готовый текст, тогда и используйте StringReplace().
0
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 59
13.09.2010, 14:29  [ТС]
У меня такая проблема текст выводится в одну строку, но так как границы программы не большие то на экран выводится в 2 строки, если расстянуть побольше рабочий стол программы то все выводится в одну строку, опять же проблема, подсчет строк идет в тот момент когда рабочий стол не растянут и поэтому выдается ошибочное значение. При растянутом экране подсчет(Memo1->Lines->Strings[0] = IntToStr(Memo1->Lines->Count-1); это я убираю значение первой строчки) введется правильно

Есть ли возможность автоматически в зависимости от длины вводимого текста в Мемо растягивать раб. стол программы чтобы подсчет ввелся правильно.
0
Эксперт С++
 Аватар для MikeSoft
3956 / 1811 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
13.09.2010, 15:12
Amarok, нужно запретить разрыв слов:
C++
1
Memo1->WordWrap = false;
1
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 59
13.09.2010, 15:43  [ТС]
MikeSoft, спасибо за подсказку, сейчас у меня в мемо текст не перескакивает на новую строку, а остается все на одной.

Нельзя ли сделать так, чтобы форма тоже увеличивалась автоматически в зависимости от введенного текста?

У меня счетчик все равно продолжает считать неправильно=( когда у меня 1строка отображает счетчик линий, на второй у меня мои записи, он все равно пишет что кол-во полей 2, когда я добавляю новую запись ничего не меняется, а вот когда я втретий раз добавляю строку, то счетчик меняется на 3 и после этого идет все правильно.

Так вот вопрос, как сделать так, чтобы счетчик с самого начала показывал верное значение, т.е. если записано одно поле с моим текстом счетчик выводил единицу.
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
13.09.2010, 15:46
в событии ресайза формы, пропишите
C++
1
Memo1.Width = Form1.Width - 20;
0
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 59
13.09.2010, 15:53  [ТС]
этот размер же будет статическим(постоянным)?
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
13.09.2010, 15:57
Amarok, нет. при ресайзе формы, может изменяться Form1.Width, что вызовет изменения Memo1.Width. словом, пробуйте
0
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 59
13.09.2010, 16:21  [ТС]
выдает ошибку когда я пытаюсь вставить эту строку в
C++
1
2
3
4
5
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
    Memo1.Width = Form1.Width - 20;
}
E2294 Structure required on left side of . or .*
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
13.09.2010, 16:25
C++
1
Memo1->Width = Form1->Width - 20;
пардон, нужно так
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.09.2010, 16:25
Помогаю со студенческими работами здесь

Подсчитать количество пучтых строк и количество строк,которые начинаются и оканчиваются на одну и ту же букву.
Дан текстовый файл.Подсчитать количество пучтых строк и количество строк,которые начинаются и оканчиваются на одну и ту же...

Как подсчитать количество строк
Как подсчитать количество строк в Tabwidget В qt5 на C++

TBGridEh - как задать количество отображаемых столбцов
Здравствуйте форумчане! Пишу программу для работы с excel. Данные с помощью ADO беру из фале екселевского и отображаю в грид. Вопрос -...

Как подсчитать количество Х строк в файле
Есть одна проблемка: Пытаюсь сделать так: Делаю считывание с файла. Файл такого образца, примерно... function olen takes nothing...

Как подсчитать количество строк в Item?
Мне нужно подсчитать количество строк в Item.Как это сделать? QStandardItem* item = new QStandardItem( );...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru