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

Нумерация выделенного текста в Memo

23.06.2020, 13:13. Показов 811. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Нумерую строки в Memo таким образом:

C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm::N78Click(TObject *Sender)
{
   int i,x;
   x =0;
   for (i = 0; i < Memo1->Lines->Count+1; i++) {
     x=x+1;
 
    Memo1->Lines->Strings[i]=IntToStr(x)+"."+ Memo1->Lines->Strings[i];
 
   }
}
Возникла необходимость применить данный код только к выделенному фрагменту текста. Как это сделать? Помогите Плиз!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.06.2020, 13:13
Ответы с готовыми решениями:

Получение выделенного текста в Memo
НА форме разместить компоненты memo, panel, button. Ввести в редактор слово «Зачет Отсутствует&quot;. Выделить в нем фрагмент зачет и нажав...

Memo копирования выделенного текста
привет помогите как копировать выделенный текст из мемо ? memo1.copytoclipboard; так копирует но всю слово =( а мне надо копировать...

Копирование выделенного текста из Memo в Edit
Есть выделенный после поиска текст в Memo, как его в Edit засунуть?

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,908
Записей в блоге: 12
23.06.2020, 15:36
C++
1
2
3
4
5
6
    int start = Memo1->Perform(EM_LINEFROMCHAR, Memo1->SelStart, 0);
    int finish = Memo1->Perform(EM_LINEFROMCHAR, Memo1->SelStart + Memo1->SelLength, 0);
    for(int i = start; i <= finish; i++)
    {
        Memo1->Lines->Strings[i] = IntToStr(/* start - */ i + 1) + "." + Memo1->Lines->Strings[i];
    }
, например...
0
0 / 0 / 0
Регистрация: 24.03.2020
Сообщений: 56
23.06.2020, 19:05  [ТС]
Попробовала Ваш вариант. Работает. Но.... нумерация выделенного текста начинается не с 1. Как это можно исправить?
То есть, выделяешь текст и нумеруешь по нажатию кнопки каждый раз с 1.
0
 Аватар для mirso
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
23.06.2020, 21:17
Цитата Сообщение от It_Kate Посмотреть сообщение
вариант
It_Kate, вариант со TStringList и selTEXT->Count
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TStringList *selTEXT = new TStringList;
    selTEXT->Text = Memo1->SelText;
 
    for(int i = 0; i < selTEXT->Count; ++i )
        selTEXT->Strings[i] = IntToStr(i + 1) + ") " + selTEXT->Strings[i];
 
    Memo1->SelText = Trim(selTEXT->Text);
 
    delete selTEXT;
}
//---------------------------------------------------------------------------
Добавлено через 9 минут
Цитата Сообщение от It_Kate Посмотреть сообщение
нумерация выделенного текста начинается не с 1. Как это можно исправить?
j = 1 IntToStr(j++)
C++
1
2
3
4
5
6
7
8
9
10
11
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    int start = Memo1->Perform(EM_LINEFROMCHAR, Memo1->SelStart, 0);
    int finish = Memo1->Perform(EM_LINEFROMCHAR, Memo1->SelStart + Memo1->SelLength, 0);
    for(int i = start, j = 1; i <= finish; i++)
    {
        Memo1->Lines->Strings[i] = IntToStr(j++) + "." + Memo1->Lines->Strings[i];
    }
}
//---------------------------------------------------------------------------
Добавлено через 6 минут
IntToStr(i + 1 - start)
0
0 / 0 / 0
Регистрация: 24.03.2020
Сообщений: 56
24.06.2020, 13:05  [ТС]
Спасибо большое! Работают оба варианта. Удаление нумерации через Delete(1,3) написала самостоятельно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.06.2020, 13:05
Помогаю со студенческими работами здесь

Копирование выделенного текста в HTML странице ссылкой и id значением первого выделенного абзаца
В общем так: На странице имеется длинный текст со множеством абзацами заключённые в &lt;p&gt; теги, которые имеют собственное цифровое...

Вставка текста до выделенного текста и после текста
Ребят, помогите решить задачку. Есть RichBox и в нем некий текст. Я выделил часть текста и при нажатии кнопки необходимо до начала...

Перенос текста из Memo в Memo (Drag&Drop)
Подскажите как осуществить перетаскивание текста из memo в memo в с++ builder???

TextOut выделенного текста
Подскажите пожалуйста, как с помощью TextOut вынести только выделенный текст с Edita на Canvas?

Изменение выделенного текста
Нужно сделать так чтобы выделенный текст изменял свои свойства: размер,цвет,стиль. Использую c++ builder 10


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru