Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.52/27: Рейтинг темы: голосов - 27, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 31

Выделение предложений в RichEdit C++ Builder

10.05.2012, 16:22. Показов 5746. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В форме по нажатию любой клавиши по очереди выделяются предложения в тексте элемента RichEdit1. Разделителем является символ '.' (точка). Как сделать так, чтобы выделялись предложения, заканчивающиеся на '!' и '?' ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int start=0,stop=0;
void __fastcall TForm1::RichEdit1KeyPress(TObject *Sender, char &Key)
{
        if(Key >= '0' && Key <= '9') Key = '\0';
        if(Key >= 'a' && Key <= 'z') Key = '\0';
        if(Key >= 'A' && Key <= 'Z') Key = '\0';
        if(Key >= '.' || Key <= ',') Key = '\0';
        RichEdit1->SelectAll();
 
        RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style>>fsBold;
        RichEdit1->SelAttributes->Color = RichEdit1->Font->Color;
 
        TSearchTypes Stype;
        Stype = Stype << stMatchCase;
 
        stop = RichEdit1->FindText(".",start,RichEdit1->Text.Length(),Stype);
 
        RichEdit1->SelStart =  start;
        RichEdit1->SelLength = stop-start+1;
 
        start = stop + 1;
 
        RichEdit1->SelAttributes->Style = RichEdit1->SelAttributes->Style<<fsBold;
        RichEdit1->SelAttributes->Color=clRed;
}
Добавлено через 17 секунд
людииииии на завтра надо, спаситеееее

Добавлено через 15 минут
эээээээээй ну помогииитеееееее
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.05.2012, 16:22
Ответы с готовыми решениями:

Выделение предложений в RichEdit
На форме имеется элемент RichEdit1, в котором находится многострочный текст. По нажатию любой клавиши нужно поочередно выделять каждое...

RichEdit выделение текста
Есть RichEdit в него записан текст, необходимо выделить некоторые слова которые довлетворяют условию(это не важно) вопрос в следующем как...

RichEdit выделение текста
У меня в RichEdit загружается форматированный текст из файлов. В этом тексте присутствуют некоторые конструкции которые необходимо найти и...

26
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
10.05.2012, 18:42
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Coul92 Посмотреть сообщение
твой код пропускает знак вопроса.

Не по теме:

дописать еще одно условие на знак ? не судьба, или за вас все делать?

используй код от nick42, он более красивый
0
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 31
10.05.2012, 19:07  [ТС]
Спасибо большое, помогли очень!

Добавлено через 21 минуту
еще вопросик, а зачем вот это?)
C++
1
//if(Key != VK_UP) Key = '\0'; //  äëÿ ïîíòà
и почему, если закомментить эту строку, то слышно стандартный звук при каждом нажатии на клавишу, а если не комментить её, то стандартный звук не слышно?)
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
10.05.2012, 20:33
Цитата Сообщение от Coul92 Посмотреть сообщение
а зачем вот это?)
- я ж написал: для понта (а вдруг требуется, чтоб по нажатию какой-нибудь козырной клавиши, она не отфильтровывалась)... . Это же фильтр-преобразователь: нажатие любой клавиши преобразуется в отсутствие нажатия (\0 - это нулевой код; клавиша как бы не нажималась). Если это преобразование отменить (закомментировать), то код Key проходит дальше, и если бы в опциях не стояло readonly, то соотв. символ появился бы в зоне курсора на поле RitchEdit.
0
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 31
10.05.2012, 21:30  [ТС]
nick42, ну я вроде написал целую кучу условий для этого еще в старом коде) поэтому это меня ввело в замешательство) да еще и клацание по нажатию клавиши)
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.05.2012, 22:35
C++
1
2
3
4
5
stop1 = RichEdit1->FindText(".",start,RichEdit1->Text.Length(),Stype);
stop2 = RichEdit1->FindText("!",start,RichEdit1->Text.Length(),Stype);
stop3 = RichEdit1->FindText("?",start,RichEdit1->Text.Length(),Stype);
 
stop = min(stop1,stop2,stop3);
0
0 / 0 / 0
Регистрация: 08.05.2012
Сообщений: 31
10.05.2012, 22:46  [ТС]
Avazart, сколько идей) а я не допёр ни одну)
0
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 11
12.05.2012, 19:15
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma option push -w-inl
    /* TCustomForm.Create */ inline __fastcall virtual TForm(Classes::TComponent* AOwner) : TCustomForm(AOwner) { }
    #pragma option pop
    #pragma option push -w-inl
    /* TCustomForm.CreateNew */ inline __fastcall virtual TForm(Classes::TComponent* AOwner, int Dummy) : TCustomForm(AOwner, Dummy) { }
    #pragma option pop
    #pragma option push -w-inl
    /* TCustomForm.Destroy */ inline __fastcall virtual ~TForm(void) { }
    #pragma option pop
    
public:
    #pragma option push -w-inl
    /* TWinControl.CreateParented */ inline __fastcall TForm(HWND ParentWindow) : TCustomForm(ParentWindow) { }
    #pragma option pop
    
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.05.2012, 19:15

RichEdit выделение выбранной строки
Здравствуйте, такой вопрос : Как выделить выбранную строку? В RichEdit занесен текст текст0 // Находится на Lines текст1 //...

Скрытое выделение элементов в RichEdit
Здравствуйте!!! Существует ли способ в RichEdit выделить элементы (определенным цветом) так, чтобы не появлялся и не бегал курсор...

Выделение строки в RichEdit с определенным словом
Помогите плиз читал много примеров по выделению определённого слова в RichEdit, а как выделить строку в которой есть искомое мной слово...

Выделение памяти (CodeGear RAD Studio 2009 - C++ builder). Выделение памяти - консоль vs SDIApp
Есть определенный класс - длинная арифметика. Не идеальный - хранение данных исполнено в виде динамического массива типа short int, каждая...

Borland c++ Builder: пересчет слов, букв, предложений
Извените что обращаюсь с такой просьбой. Может кто нибудь помоч разобраться в написании программы под этот билдер (Borland c++ builder)....


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru