Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554

Подчеркивание даты в Richtextbox если дата встречается

19.01.2017, 23:27. Показов 1172. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как это сделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.01.2017, 23:27
Ответы с готовыми решениями:

Сравнить даты: в случае если первая дата больше второй - выводить 1, в остальных случаях - 0.
Здравствуйте , извиняюсь за глупый вопрос . Имеются 2 массива с 3-мя элементами в каждом . Первый элемент - год , второй - месяц , третий...

Подчеркивание, смена цвета текста в richtextbox программно
Доброго времени суток всем, столкнулся с надобностью как-то выделить текст в rtb програмно, и не весь а отдельные слова допустим (что-то...

Дается две даты: дата начала и дата окончания. Высчитать между ними часы, минуты, секунды
Здравствуйте многоуважаемые форумчане!!! Прошу Вас помочь новичку сколько бьюсь над этой темой ничего нормального не найду. Дается две...

9
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
21.01.2017, 01:03  [ТС]
Как подчеркивать найденную дату если встречается она?
0
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 4
21.01.2017, 16:38
с помощью регулярных выражений.
класс Regex
0
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
21.01.2017, 20:22  [ТС]
dmitry_vasiljev, можете подсказать?
написал такое, но оно как то не так работает
C#
1
2
3
4
5
6
7
8
9
10
11
12
Regex date = new Regex(@"((|0)[1-9])|([1|2][0-9])|(30)|(31)\. ((|0)[1-9])|(10)|(11)|(12)\.((19)[0-9][0-9])|([0-9][0-9])");
                Match matc = date.Match(richTextBox1.Text);
           
                while (matc.Success)
                {
                    
                   
                   matc.ToString();
                                
                    matc = matc.NextMatch();
                    
                }
0
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
25.01.2017, 00:46  [ТС]
Здравствуйте, не могу подчеркивать дату когда она встречается, можете подсказать как.
Вот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void richTextBox1_TextChanged_1(object sender, EventArgs e)
            {
// поиск даты
  string pattern = @"^(((0[1-9]|[12]\d|3[01])\.(0[13578]|1[02])\.((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\.(0[13456789]|1[012])\.((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\.02\.((19|[2-9]\d)\d{2}))|(29\.02\.((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$";
                Regex reg = new Regex(pattern);
               
           
         
                Match match = reg.Match(richTextBox1.Text);
            
                while (match.Success)
                {
 
                    match.ToString();
                  richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Underline); 
                    match = match.NextMatch();
                }
               
                
            }
0
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
25.01.2017, 11:05
vladis23, регулярка-то находит дату?
Подчеркивание как-то так будет выглядеть:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
while (match.Success)
            {
                int index = -1;
                int selectStart = richTextBox1.SelectionStart;
 
                while ((index = richTextBox1.Text.IndexOf(match.ToString(), (index + 1))) != -1)
                {
                    richTextBox1.Select((index), match.ToString().Length);
                    richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Underline);
                    richTextBox1.Select(selectStart, 0);
                    
                }
                richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Regular);
                match = match.NextMatch();
            }
0
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
25.01.2017, 18:43  [ТС]
Людвиг Бодмер, да, а почему подчеркивает только тогда когда пишу в начале richtext box, пишу после него тоже дату не подчеркивается?
0
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
25.01.2017, 19:09  [ТС]
Людвиг Бодмер, Вот так она работает, когда в начале она стоит
Миниатюры
Подчеркивание даты в Richtextbox если дата встречается  
0
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
25.01.2017, 19:45
vladis23, наверное дело все-таки в регулярке, вот так у меня работает:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private void richTextBox1_TextChanged(object sender, EventArgs e)
        {
                string pattern = "(((0|1)[0-9]|2[0-9]|3[0-1])\\.(0[1-9]|1[0-2])\\.((19|20)\\d\\d))$";
                Regex reg = new Regex(pattern);
                Match match = reg.Match(richTextBox1.Text);
            
                while (match.Success)
            {
                int index = -1;
                int selectStart = richTextBox1.SelectionStart;
 
                while ((index = richTextBox1.Text.IndexOf(match.ToString(), (index + 1))) != -1)
                {
                    richTextBox1.Select((index), match.ToString().Length);
                    richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Underline);
                    richTextBox1.Select(selectStart, 0);
                    
                }
                richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Regular);
                match = match.NextMatch();   
                
            }
        }
0
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
25.01.2017, 22:10  [ТС]
Людвиг Бодмер, я использовал тогда эту регулярку
C#
1
string pattern = @"^(((0[1-9]|[12]\d|3[01])\.(0[13578]|1[02])\.((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\.(0[13456789]|1[012])\.((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\.02\.((19|[2-9]\d)\d{2}))|(29\.02\.((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$";
Добавлено через 22 минуты
Людвиг Бодмер, большое спасибо поменял на свою старую регулярку и все работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.01.2017, 22:10
Помогаю со студенческими работами здесь

Дана дата d. Для этой даты определить даты первого и последнего дней недели
даты первого и последнего дней недели; даты первого и последнего дней года.

Как подсчитать сколько раз в столбце "Дата" встречается текущая дата компьютера
Есть база данных Access использую элементы DataSet,BindingSource,TableAdapter. Как подсчитать сколько раз в...

Дан файл, содержащий различные даты. Каждая дата – это число, месяц и год. Найти все весенние даты.
Дан файл, содержащий различные даты. Каждая дата – это число, месяц и год. Найти все весенние даты.

Дан файл, содержащий различные даты. Каждая дата – это число, месяц и год. Найти все весенние даты
Дан файл, содержащий различные даты. Каждая дата – это число, месяц и год. Найти все весенние даты.

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru